防止从非常旧的版本升级rpm

时间:2018-07-27 12:19:17

标签: rpm rpm-spec

我有一个rpm软件包pkg,该软件包现在是最新版本(例如10)。我想创建pkg-10.rpm,仅当其版本为5或更高时,它才会升级安装在系统上的pkg。不再支持从5之前的版本升级。我试图将Conflicts: pkg < 5添加到规格文件。但是,即使安装了旧版本(例如2)的软件包,rpm -Uvh pkg-10.rpm也会升级该软件包。有没有一种方法可以实现而无需重命名程序包?

2 个答案:

答案 0 :(得分:0)

(我知道)没有rpm内置的方法。我能想到的唯一解决方法是管理不同的存储库(如果您在自己的存储库中发布软件包)。例如,一个旧版和一个更新存储库。

旧版存储库仅包含pkg <5的旧系统的一些更新。 更新存储库,其中包含所有更新。

然后您可以在每台计算机上选择要更新的存储库。

答案 1 :(得分:0)

RPM不支持此内置功能。您必须编写某种类型的检测脚本,然后在%pre脚本中放弃,如果发现版本太旧(通​​过检查配置文件或类似的文件)。