Ubuntu dpkg版本号中的冒号(:)和破折号( - )是什么意思?

时间:2012-03-08 04:29:35

标签: linux ubuntu dependencies debian dpkg

我正在尝试获取已安装软件包的版本号,以便为dpkg构建依赖项列表。

如果我在我的终端输入“dpkg -l | grep libqtcore4”,我会得到以下结果:

ii  libqtgui4       4:4.7.4-0ubuntu8      Qt 4 GUI module
ii  libqtgui4:i386  4:4.7.4-0ubuntu8      Qt 4 GUI module

我的问题是;冒号(:)在版本号中是什么意思,-0ubuntu最终意味着什么?

2 个答案:

答案 0 :(得分:34)

:之前的数字是纪元。这将覆盖版本以用于订购目的,例如3:3.1被认为比2:3.2更新。当包装商因各种原因需要降低回购包中的包时使用它。

-之后的数字(值,真的)是发布。它区分具有相同版本的软件包的不同版本。它用于例如现有版本软件的安全补丁。

答案 1 :(得分:1)

Debian政策手册

这两项内容均包含在:https://askubuntu.com/questions/441879/why-do-some-packages-have-extra-numbers-on-the-front-of-their-version-string

  

格式为:[epoch:] upstream_version [-debian_revision]。

epoch解释如下:

  

历元

     

允许将旧版本软件包的版本号以及软件包以前的版本编号方案中的错误留下来。

也问:https://serverfault.com/questions/604541/debian-packages-version-convention/708569#708569

debian_revision

  

debian_revision

     

这部分版本号指定了   基于上游版本的Debian软件包的版本

Debian修订是必需的,因为Debian由于Debian软件包本身在软件源本身之上使用的构建脚本/补丁的更改。

<强> -ubuntuY

Ubuntu还可以添加-ubuntuY后缀,以说明在Debian包装上对Ubuntu包装所做的更改。

例如,4:4.7.4-0ubuntu8表示这是4:4.7.4 Debian软件包的Ubuntu软件包的第8个版本。

当Debian软件包没有数字时,0只是一个占位符,因为debian_revision是可选的。

更多详情请见:enter image description here