以内核rpm为例,它允许在系统上同时安装多个版本。规格文件中到底允许什么?
我想打包一个已经存在且具有不同安装前缀的多个版本的项目。
百胜
找到了安装yum而不是进行更新的方法。有一个配置指令可以这样做。来自man yum.conf:
installonlypkgs
软件包列表提供仅应安装,永不更新的软件包。内核尤其属于这一类。默认为内核,内核大内存,内核企业,内核smp,内核调试,内核不受支持,内核源,内核开发,内核PAE,内核PAE调试。
请注意,由于这些是提供的,而不仅仅是软件包名称,kernel-devel也将应用于kernel-debug-devel等。
请注意,在RHEL-6中,“内核模块”不在此列表中,因此提供的任何内容都像任何其他软件包一样被更新。
installonly_limit
installonlypkgs中列出的要保持同时安装的软件包数。设置为0将禁用此功能。默认值为“ 3”。请注意,此功能以前在“ installonlyn”插件中,该选项通过tokeep进行了更改。请注意,从3.2.24版开始,yum现在将在yumdb中查找已安装软件包上的installonly属性。如果该属性是“ keep”,那么它们将永远不会被删除。
经过测试并确认它复制了内核的行为。在更新或安装时,yum不会更新(删除)旧软件包。
请注意,列表中的程序包名称必须准确,不考虑通配符。因此,有一种方法可以做到,并且有可能在rpm的%post脚本中自动执行该过程。