RPM Spec - 如何允许多个版本

时间:2016-01-08 17:58:30

标签: rpm specifications

以内核rpm为例,它允许在系统上同时安装多个版本。 spec文件中究竟允许的是什么?

我想将已经存在的项目打包为具有不同安装前缀的多个版本。

2 个答案:

答案 0 :(得分:5)

<强> YUM

找到了安装yum而不是更新的方法。有一个配置指令可以这样做。来自man yum.conf:

<强> installonlypkgs

  

应该只安装的包列表,永远不会   更新。特别是内核属于这一类。默认为   kernel,kernel-bigmem,kernel-enterprise,kernel-smp,kernel-debug,   kernel-unsupported,kernel-source,kernel-devel,kernel-PAE,   内核PAE-调试。

     

请注意,因为这些是提供的,而不仅仅是包名称,   kernel-devel也适用于kernel-debug-devel等。

     

请注意,“内核模块”不在此列表中,在RHEL-6中,等等   提供的任何东西都像其他任何包一样更新。

<强> installonly_limit

  

installonlypkgs中列出的要保持安装的软件包数量   同时。设置为0将禁用此功能。默认值为“3”。注意   这个功能曾经在“installonlyn”插件中,在哪里   这个选项通过tokeep改变了。请注意,从版本3.2.24开始,   yum现在将在yumdb中查找installonly属性   安装包。如果该属性是“保持”,那么它们将永远不会   被删除。

测试并确认它复制了内核的行为。更新或安装时,yum不会更新(删除)旧包。

请注意,列表中的包名必须准确,不考虑通配符。所以有一种方法可以做到这一点,并可能在rpm的%post 脚本中自动执行该过程。

答案 1 :(得分:2)

允许它确保包的不同版本中的任何文件/路径名都不相同。执行此操作的程序包通常使用不同的目录名称或不同的文件名(例如将版本号附加到一个或另一个)。

我在How to install two different versions of same rpm and make them work parallely

中给出了更详尽的答案