我已经生成了两个RPM。一个用于CentOS 6,一个用于CentOS 7.
my-package-0.0.1-1.el6.x86_64
my-package-0.0.1-1.el7.x86_64
当我在CentOS 6机器上执行yum info my-package
时,它会向我提供el7信息。当我yum install my-package
执行相同操作时,获取el7版本。它为什么这样做?我试图避免在el6机器上安装el7版本。
答案 0 :(得分:5)
听起来你将它们放在同一个yum存储库中。你不应该。您应该将一个发布到CentOS6仓库,另一个发布到CentOS7仓库。否则,yum
正在比较它们并确定7> 6在比较发布标签时,因此这是最新的可用包。
el6
(AKA“dist tag”)方便用户作为发布的后缀,并且不是 RPM可以直接选择的内容。
答案 1 :(得分:4)
同意显然OP将两个RPM放在同一个存储库中,@aaron-d-marasco忽略了一些细节:
el6
标记不是“方便用户”,而是包装商的解决方法。如果您检查软件包的元信息,您可能会注意到提供的软件包中的.el6
(或.el7
)已附加到< em> release 标签,例如,对于zip-3.0-10.el7.x86_64
,您可能会看到类似这样的内容:
Name : zip
Version : 3.0
Release : 10.el7
Architecture: x86_64
RPM选择规则为版本和发布使用整个标记,用于指定的每个名称
yum
选择RPM的内置规则。进一步阅读: