我正在尝试获取已安装软件包的版本号,以便为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最终意味着什么?
答案 0 :(得分:34)
:
之前的数字是纪元。这将覆盖版本以用于订购目的,例如3:3.1被认为比2:3.2更新。当包装商因各种原因需要降低回购包中的包时使用它。
-
之后的数字(值,真的)是发布。它区分具有相同版本的软件包的不同版本。它用于例如现有版本软件的安全补丁。
答案 1 :(得分:1)
Debian政策手册
中格式为:[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