Product SiteDocumentation Site

1.6. 釋出週期

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

1.6.1. 實驗狀態

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

1.6.2. 不穩定狀態

Let us turn back to the case of a typical package. The maintainer creates an initial package, which they compile for the Unstable version and place on the ftp-master.debian.org server. This first event involves inspection and validation from the ftpmasters. The software is then available in the Unstable distribution, which is the “cutting edge” distribution chosen by users who are more concerned with having up-to-date packages than worried about serious bugs. They discover the program and then test it.
碰到錯誤後,向套件維護者報告。維護者會定期準備修正版,然後再上傳至伺服器。
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. The maintainer uploads the package sources (without any precompiled package). The autobuilders take over and automatically compile versions for all supported 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. 沒有嚴重錯誤,或,少於當前測試版
  3. at least 5 days spent in Unstable, which is usually sufficient time to find and report any serious problems (successfully passing the package's own test suite, if it has one, reduces that time);
  4. dependencies that can be satisfied in Testing, or that can at least be moved there together with the package in question;
  5. automatic quality tests of the package (autopkgtest) — if defined — don't show any regression.
此系統不是萬無一失;在測試版經常發現套件的嚴重錯誤。不過,還是很有效果的,而且測試版的問題遠遠少於 不穩定版,對很多人來說,是穩定與新鮮之間的折衷選擇。

1.6.4. 從測試版穩定版

Let us suppose that our package is now included in Testing. As long as it has room for improvement, its maintainer must continue to improve it and restart the process from Unstable (but its later inclusion in Testing is generally faster: unless it changed significantly, all of its dependencies are already available). When it reaches perfection, the maintainer has completed their work. The next step is the inclusion in the Stable distribution, which is, in reality, a simple copy of Testing at a moment chosen by the Release Manager. Ideally, this decision is made when the installer is ready, and when no program in Testing has any known critical bugs.
實際上,還沒有真的進入穩定版,Debian 必須妥協:移除維護者無法更正錯誤的套件、或容許在數千個程式中還有幾個錯誤。釋出經理曾宣告凍結期間,想被納入測試版更新必須通過認可的程序。其目標是避免新版本(及其新錯誤),與祗有被認可的錯誤修訂。
套件通過多個 Debian 版本的途徑

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

After the release of a new stable version, the Stable Release Managers manage all further development (called “revisions”, ex: 10.1, 10.2, 10.3 for version 10). 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 安全團體不在維護舊的版本。
The Debian security team handles security support in the current Stable release and also in the Oldstable release (but only for as long as is needed to ensure one year of overlap with the current stable release). This amounts roughly to three years of support for each release. The Debian LTS team handles the last (two) years of security support so that each release benefits from at least 5 years of support and so that users can upgrade from version N to N+2, for example, from Debian 9 Stretch to Debian 11 Bullseye.