Debian相关知识:版本/仓库/镜像站

Debian系统发行版本

当前可以得到支持的发行版本主要有四个:

  1. old stable

  2. stable

  3. testing

  4. unstable

其中,stable正式发布后,会得到3年的官方支持+2年LTS支持+2年ELTS支持(共7年)。

Debian系统通常每两年左右会进行一次版本升级,stable发布后两年会变成old stable。

当前稳定版是Debian官方当前正式发行的版本,其稳定性和安全性经过至少两年以上的测试,并且提供安全更新及部分应用更新,建议用户优先选择此版本。

old stable第一年由官方提供支持,之后会得到Debian LTS(Debian Long Term Support)团队的额外两年非官方支持。

提示

Y 驿窗注:Debian LTS团队并不是Debian官方团队。

Debian LTS的目的是延长stable的生命周期(在官方3年基础上增加2年,变为5年)。

Debian LTS团队是由一些个人和企业组成。个人通常是一些志愿者,企业通常是一些对额外长期支持感兴趣的公司。

当Debian官方团队结束stable的3年支持周期时,这些个人和企业会一起来接管后续的支持工作,在stable的三年官方支持结束后再支持两年,主要是提供安全更新支持。

old stable由Debian LTS团队提供两年非官方支持后,会再获得两年的ELTS(Extended LTS)有限支持。ELTS是非Debian官方的商业服务,目的是进一步延长debian发行版的生命周期,相当于第五个受支持的发行版本。虽然是商业服务,但相关代码会免费提供给所有Debian用户。

提示

Y 驿窗注:ELTS提供的支持是有限支持:

  1. 只面向ELTS付费会员,且只支持会员用到的部分软件包;

  2. 只支持amd64、i386、armel三种架构;

  3. 不对内核提供支持;

Debian版本号

上面提到,当前可得到支持的发行版本主要有四个:

  1. old stable

  2. stable

  3. testing

  4. unstable

在实际应用中,任何时候上面四个发行版本都是同时存在的,只不过不同时期对应的版本号不同。

下面列出了三个时间点的四个发行版本对应的版本号:

表 -1: 不同时期发行版本与版本号的对应关系

发行版本

版本号(2020)

版本号(2022)

版本号(2024)

old stable

debian 8

debian 9

debian 10

stable

debian 9

debian 10

debian 11

testing

debian 10

debian 11

debian 12

unstable

debian 10

debian 11

debian 12

我们以Debian 10为例:

2020年的时候,Debian 10还处于开发状态,发行版本在表格中是testing,并没有正式发布。那个时候的stable版本号为Debian 9,也是主要使用的版本。因为Debian 9在那个时候是stable版本,所以Debian 9的上一代Debian 8是old stable。

到了2021年8月14号,Debian 10正式发布,从testing变为stable。这种情况下,其上一代的Debian 9自动从stable变为old stable,而Debian 8变为old old stable。每一个stable的生存周期大概是两年,这也就意味着Debian 10作为stable版本,其生存周期大概是从2021年8月14号到2023年8月13号。这两年期间,Debian 10会一直作为stable版本存在,所以,表格中2022年的stable对应的是Debian 10。

Debian 10正式发布时,Debian 10从testing变为stable,同时testing开发仍然继续,只不过对应的版本号变为Debian 11。unstable同理,版本号变为Debian 11。

所以,Debian版本号大概每两年滚动一次:Debian 10在testing和unstable状态经过两年的开发测试后变为stable;成为stable后经过两年变为old stable;再经过两年变为old old stable;依此类推。

如果有兴趣,可以了解一下Debian 11开发的一系列时间点:

表 -2: Debian 11开发进程

时间

开发事件

2016-07-06

确定Debian 11的开发代号为Bullseye

2019-07-06

Debian 10发布,Debian 11成为Testing(Debian 11开发正式开始)

2021-01-12

Debian 11开发进入第一阶段冻结

2021-02-12

Debian 11开发进入软冻结

2021-03-12

Debian 11开发进入硬冻结

2021-07-17

Debian 11开发被完全冻结

2021-08-14

Debian 11正式发布(同时,Debian 12开发正式开始)

Debian开发代号

Debian有一个惯例,就是每一个版本号都会有一个对应的开发代号。例如:

表 -3: 版本号与开发代号

版本号

开发代号

Debian 9

Stretch

Debian 10

Buster

Debian 11

Bullseye

每个版本号都对应一个开发代号,例如Debian 10,对应的开发代号是Buster。

开发代号是有规律的,到目前为止,所有的开发代号都是电影《玩具总动员》(Toy Story)中的角色名称。

这里面有一个开发代号比较特别:sid。sid永远对应的是unstable。在电影《玩具总动员》中,sid总是不停地破坏玩具;用在unstable上,代表unstable极其不稳定,很容易出现问题,随时会对使用者的数据造成损坏。所以,如果您的数据比较重要的话,一定不要使用Debian unstable(sid)。

stable、testing与unstable的关系

stable:稳定版
testing:测试版
unstable:不稳定版

从上面表-1中可以看到,testing与unstable始终对应相同的版本号。实际上,二者都是为stable服务的,而unstable又是为testing服务的,我们解释一下它们在开发过程中的关系就更容易理解。

一个新软件如果想进入Debian官方仓库,它是无法直接进入stable仓库的,需要先进入unstable,在这里经过一定的测试后符合条件,才会进入到testing仓库。unstable实际上是Debian最新软件的滚动开发版本。

testing的意义是下一个稳定版(stable)的开发状态。也就是说,如果当前的稳定版是Debian 11,那么当前的testing就是正在开发中的Debian 12。一个软件从unstable进入到testing以后,在testing中经过大概最长两年时间,才会成为stable的一部分。

所以,一个软件进入Debian仓库的路径是这样的:

unstable → testing → stable

这也是为什么stable仓库中软件版本相对比较老的原因:可能已经在testing中测试了大概两年之后才作为stable正式发布。两年的时间,有的软件可能已经升级了好几代了。不过这也给stable带来了另一个重要特性:稳定。

所以,推荐办公和家用用户使用稳定版(stable)。至于稳定版如何安装最新版的软件,请参考本书“appimage/flatpak/deb”一节。

未完结