apt-get 如何比较两种不同的版本方案

how apt-get compares between two different version schemes

apt-get 在同一包的两个不同版本方案之间的比较如何?

例如:1.3.8 ? 1.09

更详细的示例:

假设我的存储库中有 package_a 版本 1.08 (package-a_1.08.deb)。
然后我上传了同一个包的新版本,但我改变了版本方案,
现在是 1.2.0 (package-a_1.2.0.deb)

我什么时候 运行 apt-get install package_a 将安装什么版本,为什么?

Debian 工具用于比较软件包版本的算法在 Debian 政策手册中有描述:

https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Version

简而言之:在包版本的上游版本(就是你在这里描述的)中,版本号的每个数字 "segment" 分别进行比较,并使用第一对不同的用于比较。

鉴于您比较 1.081.2.0 的示例,细分最终为 1, 81, 2, 0。因为 8 大于 2,所以 1.08 将被视为较新的版本。

如果您的版本控制方案发生巨大变化,请使用纪元号来指示中断。例如,如果 1.2.0 是新版本编号方案的一部分,请使用 1:1.2.0 作为版本字段,并在所有未来版本中包含 1: