百胜尝试在CentOS 6上安装.el7版本

时间:2015-12-04 15:21:08

标签: linux centos rpm yum centos7

我已经生成了两个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版本。

2 个答案:

答案 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选择规则为版本发布使用整个标记,用于指定的每个名称

  • 提到的 dist 标记与发布标记的其余部分一起排序
  • 解决方法是因为模式中没有单独的元信息可供分发,但包装商希望跟踪这一点。
  • 因为 release 标签由packager“拥有”(上游开发的版本),然后包装商决定如何使用它来组织包 - 遵守yum选择RPM的内置规则。

进一步阅读: