我有一个rpm软件包pkg
,该软件包现在是最新版本(例如10)。我想创建pkg-10.rpm
,仅当其版本为5或更高时,它才会升级安装在系统上的pkg
。不再支持从5之前的版本升级。我试图将Conflicts: pkg < 5
添加到规格文件。但是,即使安装了旧版本(例如2)的软件包,rpm -Uvh pkg-10.rpm
也会升级该软件包。有没有一种方法可以实现而无需重命名程序包?
答案 0 :(得分:0)
(我知道)没有rpm
内置的方法。我能想到的唯一解决方法是管理不同的存储库(如果您在自己的存储库中发布软件包)。例如,一个旧版和一个更新存储库。
旧版存储库仅包含pkg <5的旧系统的一些更新。 更新存储库,其中包含所有更新。
然后您可以在每台计算机上选择要更新的存储库。
答案 1 :(得分:0)
RPM不支持此内置功能。您必须编写某种类型的检测脚本,然后在%pre
脚本中放弃,如果发现版本太旧(通过检查配置文件或类似的文件)。