![如何理解 Debian linux-image 软件包版本?](https://linux22.com/image/172493/%E5%A6%82%E4%BD%95%E7%90%86%E8%A7%A3%20Debian%20linux-image%20%E8%BD%AF%E4%BB%B6%E5%8C%85%E7%89%88%E6%9C%AC%EF%BC%9F.png)
TL;DR:为什么会有相同版本的内核镜像包但破折号不同?目前,对于“常规”amd64 品种,主要和安全更新源提供的更新有:
- linux-image-4.19.0-6-amd64
- linux-image-4.19.0-8-amd64
并在向后移植源上
- linux-image-5.4.0-0.bpo。2-amd64
- linux-image-5.4.0-0.bpo。3-amd64
- linux-image-5.4.0-0.bpo。4-amd64
- linux-image-5.5.0-0.bpo。2-amd64-unsigned(尚未签名)
对于 4.19,我应该如何处理破折号(6 和 8)之后的数字,-bpo.
对于向后移植内核,我应该如何处理(2、3、4)之后的数字?他们似乎在每个专业都从 2 重新开始(为什么是 2?我们这些极客从 0 开始计数,而其他人从 1 开始计数,这已经很不方便了。但是 2 ???)
加长版与 apt-cache 数据。我在 x64 VM 上安装了 Buster,并在不久前将内核从向后移植存档更新到了版本 5.3,以解决 HyperV 的问题。直到今天这一切都有效。我在运行开发和生产系统方面都有丰富的经验,坚持“如果没有损坏,就不要修复它”的格言,如果我想做这样的事情,请阅读发行说明。
但是,我找不到有关 Debian 内核映像包编号实践的文档。不是什么这些数字意味着(这在 Debian 软件包构建者指南中),但是为什么内核团队使用此编号,作为用户,我可以从中获得什么好处。
最近我注意到 5.3 版本不再提供,因为它可能在主线中过期了。我想也许我应该选择 5.4,特别是考虑到它是相对长期内核,所以我可以在这个开发虚拟机上运行它一段时间,然后坚持使用它并考虑它在生产中可能带来的好处。这时我意识到同一个镜像包有多个可用的包。然后,Buster 的原始内核软件包 4.19 有两个软件包版本。原来是-6
,现在仅在安全维护中,并且-8
,在主要和安全源上。这我至少可以理解^H^H^H一个这样的故事(4.19也是“短期”长期,支持到2020-12,必须-6
在持续期间从上游接收安全补丁更新)。
但是 3 个不同的 bpo.N 版本又如何呢?但是,我找不到有关 Debian 内核映像包编号实践的文档。不是什么这些数字意味着(这在 Debian 软件包作者指南中),但是为什么内核团队使用此编号,作为用户,我如何从中获得最大利益。
另外,如果您扫描 deb 版本,只有linux-image-4.19.0-6-amd64
deb 版本4.19.67-2+deb10u2
和我当前的版本5.3.9-2~bpo10+1
有明显的更新。其他所有 deb 似乎都处于补丁级别-1
。所以...我有点完全迷失了方向。我应该从中得到什么?这些 bpo.2、3 等软件包是否有点“冻结”次要内核版本,并且预计仅接收安全维护补丁?
我目前从apt-cache policy
所有“不合格”amd64 软件包中看到的内容,除了 5.5 之外,它还没有出现在签名版本中,并且为了更容易阅读而删除了Candidate:
和:Installed: (none)
linux-image-4.19.0-6-amd64:
Version table:
4.19.67-2+deb10u2 500
500 https://deb.debian.org/debian-security buster/updates/main amd64 Packages
linux-image-4.19.0-8-amd64:
Version table:
4.19.98-1+deb10u1 500
500 https://deb.debian.org/debian-security buster/updates/main amd64 Packages
4.19.98-1 500
500 https://deb.debian.org/debian buster/main amd64 Packages
100 /var/lib/dpkg/status
linux-image-5.3.0-0.bpo.2-amd64:
Installed: 5.3.9-2~bpo10+1
Version table:
*** 5.3.9-2~bpo10+1 100
100 /var/lib/dpkg/status
linux-image-5.4.0-0.bpo.2-amd64:
Version table:
5.4.8-1~bpo10+1 100
100 https://deb.debian.org/debian buster-backports/main amd64 Packages
linux-image-5.4.0-0.bpo.2-amd64:
Version table:
5.4.8-1~bpo10+1 100
100 https://deb.debian.org/debian buster-backports/main amd64 Packages
linux-image-5.4.0-0.bpo.3-amd64:
Version table:
5.4.13-1~bpo10+1 100
100 https://deb.debian.org/debian buster-backports/main amd64 Packages
linux-image-5.4.0-0.bpo.4-amd64:
Version table:
5.4.19-1~bpo10+1 100
100 https://deb.debian.org/debian buster-backports/main amd64 Packages
linux-image-5.5.0-0.bpo.2-amd64-unsigned:
Version table:
5.5.17-1~bpo10+1 100
100 https://deb.debian.org/debian buster-backports/main amd64 Packages
答案1
破折号之间的最后一个数字是 ABI 编号。在不稳定、测试或稳定的软件包中,它从 1 开始,首次上传新内核系列(首次上传4.19 内核、5.4 内核等),并且每当 ABI 更改时就会递增。 (看Debian Linux 内核版本控制了解详情。)
向后移植的内核的 ABI 设置为“0.bpo”。氮“, 在哪里氮是用于向后移植的内核的 ABI 编号。仅当包达到测试时才允许向后移植,这就是为什么您不一定会看到顺序值氮。
向后移植不是单独维护的,它们通常只接收来自测试的更新。每次通过测试更新内核包时,它都会遵循上面给出的模式。