如何理解 Debian linux-image 软件包版本?

如何理解 Debian linux-image 软件包版本?

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-amd64deb 版本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 编号。仅当包达到测试时才允许向后移植,这就是为什么您不一定会看到顺序值

向后移植不是单独维护的,它们通常只接收来自测试的更新。每次通过测试更新内核包时,它都会遵循上面给出的模式。

相关内容