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.08
与 1.2.0
的示例,细分最终为 1, 8
和 1, 2, 0
。因为 8 大于 2,所以 1.08 将被视为较新的版本。
如果您的版本控制方案发生巨大变化,请使用纪元号来指示中断。例如,如果 1.2.0
是新版本编号方案的一部分,请使用 1:1.2.0
作为版本字段,并在所有未来版本中包含 1:
。
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.08
与 1.2.0
的示例,细分最终为 1, 8
和 1, 2, 0
。因为 8 大于 2,所以 1.08 将被视为较新的版本。
如果您的版本控制方案发生巨大变化,请使用纪元号来指示中断。例如,如果 1.2.0
是新版本编号方案的一部分,请使用 1:1.2.0
作为版本字段,并在所有未来版本中包含 1:
。