我们有多个自定义添加的yum存储库(在CentOS 6上),我们的用户定期通过yum安装各种/任意软件来测试事物。
我们有一个包,可以在多个存储库上使用。它在两个不同的存储库上被命名为完全相同的东西,称为Y和Z,但是包不是相同的。这两个存储库都用于其他东西/安装,但是所讨论的软件包只应该从repo安装。
当我手动安装这个包时,我排除/包含repos,以确保我得到了正确的版本。但是,普通用户( a)忘记这样做,而b)有时安装依赖于所讨论的包的其他包,并且作为依赖关系安装过程的一部分,它是从错误的repo安装的。
是否有任何方法配置yum的默认设置:“如果包X来自多个源,则更喜欢/坚持使用源Y而不是源Z?”
我的目标是不必更改我们的用户目前拥有的常规yum install流程;他们仍然应该能够使用最简单的语法安装任意软件。只是特定的包(手动安装或作为依赖关系安装的一部分)应该只允许来自特定的repos。
发布于 2012-06-15 16:05:06
这是yum-plugin-priorities包。
这允许您优先考虑配置的存储库。
见此处:http://wiki.centos.org/PackageManagement/Yum/Priorities#head-6f52124e909c1691eb0c501ba38ae9202b66d6da
或者可以在/etc/yum.conf中排除包。
http://linux.die.net/man/5/yum.conf:
从更新或安装中排除要排除的软件包列表。这应该是一个空格分隔的列表。使用通配符的外壳球(如。*还有?)是允许的。
这可以是全局的,也可以是每个存储库的。
发布于 2012-06-15 16:10:17
不,yum有一种方法可以决定安装哪个版本的软件包X,这就是选择它可以找到的最新版本(其中“最新”对RPM版本比较有特定的意义)。
实际上,我不建议用您所描述的方式,使用不同的冲突版本,所有的版本都有相同的名称。然而,如果你被它困住了,有几个建议:
man yum)https://serverfault.com/questions/399207
复制相似问题