Debian相关知识:版本/仓库/镜像站
Debian系统发行版本
当前可以得到支持的发行版本主要有四个:
old stable
stable
testing
unstable
其中,stable正式发布后,会得到3年的官方支持+2年LTS支持+2年ELTS支持(共7年)。
Debian系统通常每两年左右会进行一次版本升级,stable发布后两年会变成old stable。
当前稳定版是Debian官方当前正式发行的版本,其稳定性和安全性经过至少两年以上的测试,并且提供安全更新及部分应用更新,建议用户优先选择此版本。
old stable第一年由官方提供支持,之后会得到Debian LTS(Debian Long Term Support)团队的额外两年非官方支持。
驿窗注: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用户。
驿窗注:
ELTS提供的支持是有限支持:
只面向ELTS付费会员,且只支持会员用到的部分软件包;
只支持amd64、i386、armel三种架构;
不对内核提供支持;
Debian版本号
上面提到,当前可得到支持的发行版本主要有四个:
old stable
stable
testing
unstable
在实际应用中,任何时候上面四个发行版本都是同时存在的,只不过不同时期对应的版本号不同。
下面列出了三个时间点的四个发行版本对应的版本号:
发行版本
版本号(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开发的一系列时间点:
时间
开发事件
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有一个惯例,就是每一个版本号都会有一个对应的开发代号。例如:
版本号
开发代号
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的关系
从上面表-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”一节。
未完结