我们将一个Web应用程序打包到RPM中。 我们对RPM的版本字段有疑问。
假设我们安装了rpm:foo-2.1.0.007
007是我们的内部版本号。
现在当我们尝试安装更新的rpm,foo-2.1.0.010时,yum说“没有什么可以更新”。
当我重新制作RPM但删除了前导零时,问题就解决了:
FOO-2.1.0.7
FOO-2.1.0.10
根据this link,版本的每个部分都会被比较为一个整数,但实践表明不是这样。
所以我的问题是:什么是RPM的版本比较算法以及为什么前导零干扰?
答案 0 :(得分:17)
百胜只是要求rpm来比较它们。您可以安装rpmdevtools,然后使用:
% rpmdev-vercmp foo-2.1.0.010 foo-2.1.0.007
0:foo-2.1.0.010 is newer
......这是你所期望的。除非你在007套餐中有一个时代,否则我不确定你为什么会得到不同的答案。你有什么版本的rpm? vercmp对你说了什么?