Debian 计划的每个程序同时有 6 个不同版本,实验、不稳定、测试、稳定、旧稳定、与 极旧稳定。每个版本都有自己的发展流程。为了了解起见,先看看程序的发展过程,由最初的包装至纳入 Debian 的稳定版。
首先看看 实验 发行的特例:对应于还在发展中软件的 Debian 软件包,不必已做完,其名称已说明一切。还没有全部通过此阶段;部分开发者加入软件包为了得到有经验 (或勇敢) 用户的回馈。
否则,此发行版通常会将重大修改纳入基础软件软件包中,因为一旦集成进 Unstable 不稳定版中的软件有重大臭虫,可能导致后果不堪设想。因此,它是完全隔绝且独立的发行版,其软件软件包绝不会移入其他版本中 (除非有情况需要维护者或 ftp 管理者直接、快速干预)。它也不能自我纳入:仅既有软件软件包的部分子集具有 Experimental 实验版,通常不包括基础系统。此发行版因此会与其他能自我纳入的发行版一同搭配使用,例如 Ustable 版。
让我们回到典型软件软件包的例子。维护者制作出最初的软件软件包,编绎给 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.
稍后,软件包略为成熟后;编译全部的架构,不再发生新的修订。才能成为测试版的候选 — 基于某些标准供不稳定软件包使用。根据以下的品管保证细目,每天都有程序被自动选入测试版:
没有严重错误,或,少于当前测试版;
至少置于不稳定10天,这段时间足够发现与报告任何严重的问题;
在所有官方支持的架构里编绎成功;
满足测试版对相依性的要求,或至少能够与其他有问题的软件包放在一起。
此系统不是万无一失;在测试版经常发现软件包的严重错误。不过,还是很有效果的,而且测试版的问题远远少于 不稳定版,对很多人来说,是稳定与新鲜之间的折衷选择。
假设我们的软件包已经纳入测试版。只要还有改进的空间,其维护者必然奋力改进之并从不稳定版 (以后纳入测试版就快多了:除非发生极大的变化,其相依性早已存在)重新来过。达到完美境界,维护者声明结束其工作。下个步骤是纳入稳定版发行,被发布经理选取时,就是简化的测试版。理想的情况是在安装器完成后才做此决择,并且在测试版找不到严重的错误。
实际上,还没有真的进入稳定版,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 的长期支持版 (This Long Term Support, LTS) 是新的成员:由独立的奉献者及公司联合的 Debian LTS 团队完成。Debian 安全团体不在维护旧的版本。
Debian 安全团队处理当前
稳定版以及
旧稳定版的安全事宜 (但仅与稳定版重复一年)。每个发布大约只维护三年。Debian LTS 团队支持最后两年的安全维护事宜,所以每个发布至少有五年的支持,在这 5 年内,用户可以将版本从 N 升级到 N+2。