Product SiteDocumentation Site

1.6. 釋出週期

Debian 專案的每個程式同時有 6 個不同版本,實驗不穩定測試穩定舊穩定、與 極舊穩定。每個版本都有自己的發展流程。為了瞭解起見,先看看程式的發展過程,由最初的包裝至納入 Debian 的穩定版。

1.6.1. 實驗狀態

首先看看 實驗 發行的特例:對應於還在發展中軟體的 Debian 套件,不必已做完,其名稱已說明一切。還沒有全部通過此階段;部份發展者加入套件為了得到有經驗 (或勇敢) 使用者的回饋。
否則,此散佈版通常會將重大修改納入基礎軟體套件中,因為一旦整合進 Unstable 不穩定版中的軟體有重大臭蟲,可能導致後果不堪設想。因此,它是完全隔絕且獨立的散佈版,其軟體套件絕不會移入其他版本中 (除非有情況需要維護者或 ftp 管理者直接、快速干預)。它也不能自我納入:僅既有軟體套件的部分子集具有 Experimental 實驗版,通常不包括基礎系統。此散佈版因此會與其他能自我納入的散佈版一同搭配使用,例如 Ustable 版。

1.6.2. 不穩定狀態

讓我們回到典型軟體套件的例子。維護者製作出最初的軟體套件,編繹給 Unstable 版使用並置於 ftp-master.debian.org 伺服器上。這個動作會先經過 ftp 管理員的審閱與驗證,再放到 Unstable 散佈版中;對於那些比起重大臭蟲更關心軟體是否處於最新狀態的使用者而言,這就是「時下最新」的散佈版。他們會探索程式並且接著測試。
碰到錯誤後,向套件維護者報告。維護者會定期準備修正版,然後再上傳至伺服器。
Every newly updated package is updated on all Debian mirrors around the world within six hours. The users then test the corrections and search for other problems resulting from the modifications. Several updates may then occur rapidly. During these times, autobuilder robots come into action. Most frequently, the maintainer has only one traditional PC and has compiled their package on the amd64 (or i386) architecture (or they opted for a source-only upload, thus without any precompiled package); the autobuilders take over and automatically compile versions for all the other architectures. Some compilations may fail; the maintainer will then receive a bug report indicating the problem, which is then to be corrected in the next versions. When the bug is discovered by a specialist for the architecture in question, the bug report may come with a patch ready to use.
由自動建立者編譯的套件

圖形 1.2. 由自動建立者編譯的套件

1.6.3. 移殖至測試

稍後,套件略為成熟後;編譯全部的架構,不再發生新的修訂。才能成為測試版的候選 — 基於某些標準供不穩定套件使用。根據以下的品管保證細目,每天都有程式被自動選入測試版:
  1. 沒有嚴重錯誤,或,少於當前測試版
  2. 至少置於不穩定10天,這段時間足夠發現與報告任何嚴重的問題;
  3. 在所有官方支援的架構裡編繹成功;
  4. 滿足測試版對相依性的要求,或至少能夠與其他有問題的套件放在一起。
此系統不是萬無一失;在測試版經常發現套件的嚴重錯誤。不過,還是很有效果的,而且測試版的問題遠遠少於 不穩定版,對很多人來說,是穩定與新鮮之間的折衷選擇。

1.6.4. 從測試版穩定版

假設我們的套件已經納入測試版。祗要還有改進的空間,其維護者必然奮力改進之並從不穩定版 (以後納入測試版就快多了:除非發生極大的變化,其相依性早已存在)重新來過。達到完美境界,維護者宣告結束其工作。下個步驟是納入穩定版發行,被釋出經理選取時,就是簡化的測試版。理想的情況是在安裝器完成後才做此決擇,並且在測試版找不到嚴重的錯誤。
實際上,還沒有真的進入穩定版,Debian 必須妥協:移除維護者無法更正錯誤的套件、或容許在數千個程式中還有幾個錯誤。釋出經理曾宣告凍結期間,想被納入測試版更新必須通過認可的程序。其目標是避免新版本(及其新錯誤),與祗有被認可的錯誤修訂。
套件通過多個 Debian 版本的途徑

圖形 1.3. 套件通過多個 Debian 版本的途徑

After the release of a new stable version, the Stable Release Managers manage all further development (called “revisions”, ex: 7.1, 7.2, 7.3 for version 7). These updates systematically include all security patches. They will also include the most important corrections (the maintainer of a package must prove the gravity of the problem that they wish to correct in order to have their updates included).
At the end of the journey, our hypothetical package is now included in the stable distribution. This journey, not without its difficulties, explains the significant delays separating the Debian Stable releases. This contributes, over all, to its reputation for quality. Furthermore, the majority of users are satisfied using one of the three distributions simultaneously available. The system administrators, concerned above all about the stability of their servers, don't need the latest and greatest version of GNOME; they can choose Debian Stable, and they will be satisfied. End users, more interested in the latest versions of GNOME or KDE Plasma than in rock-solid stability, will find Debian Testing to be a good compromise between a lack of serious problems and relatively up to date software. Finally, developers and more experienced users may blaze the trail, testing all the latest developments in Debian Unstable right out of the gate, at the risk of suffering the headaches and bugs inherent in any new version of a program. To each their own Debian!
Debian 包裝程式的圖徑

圖形 1.4. Debian 包裝程式的圖徑

1.6.5. 舊穩定版更舊穩定版狀態

每個穩定版預計有五年壽命每二年發行新的穩定版,同一時間最多可有三個支援的穩定版在流通。新的穩定版釋出時,前個版本就變成舊穩定版而更早的就成為更舊穩定版
Debian 的長期支援版 (This Long Term Support, LTS) 是新的成員:由獨立的奉獻者及公司聯合的 Debian LTS 團隊完成。Debian 安全團體不在維護舊的版本。
Debian 安全團隊處理當前穩定版以及舊穩定版的安全事宜 (但僅與穩定版重複一年)。每個釋出大約祗維護三年。支援Debian 長期支援版兩年的安全維護事宜,所以每個釋出至少有五年的支援,以及其版本數加兩年的安全維護,即N+2。