我有一个百胜回购:
[sensu-checks-prod]
name=sensu-checks-prod
baseurl=http://our.internal.repo/pulp/repos/Sensu_checks_el6-prod/
enabled=1
gpgcheck=0
它由 gem 到使用 fpm 创建的 RPM 组成
我已经编辑了这个包以将 sensu-rubygem(rest-client) 的版本要求更改为=1.8.0到 >=1.8.0
如果我从 repo 下载包
# wget http://our.internal.repo/pulp/repos/Sensu_checks_el6-prod/sensu-rubygem-sensu-plugins-jenkins-1.2.0-1.x86_64.rpm
并用 rpm 检查
# rpm -qpR sensu-rubygem-sensu-plugins-jenkins-1.2.0-1.x86_64.rpm
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
ruby
rubygems
sensu-rubygem(chronic_duration) = 0.10.6
sensu-rubygem(jenkins_api_client) = 1.4.2
sensu-rubygem(rest-client) >= 1.8.0
sensu-rubygem(sensu-plugin) >= 1.2
sensu-rubygem(sensu-plugin) < 2.0
版本要求没问题:sensu-rubygem(rest-client) >= 1.8.0
如果我与 yum 核对:
# yum deplist sensu-rubygem-sensu-plugins-jenkins
Modules complémentaires chargés : fastestmirror
Recherche de dépendances :
Determining fastest mirrors
sensu-checks-prod | 2.1 kB 00:00
sensu-checks-prod/primary | 17 kB 00:00
sensu-checks-prod 64/64
paquet : sensu-rubygem-sensu-plugins-jenkins.x86_64 1.2.0-1
dépendance : sensu-rubygem(jenkins_api_client) = 1.4.2
provider: sensu-rubygem-jenkins_api_client.x86_64 1.4.2-1
dépendance : sensu-rubygem(rest-client) = 1.8.0
Dépendance non satisfaite
dépendance : ruby
provider: ruby.x86_64 1.8.7.374-4.el6_6
dépendance : rubygems
provider: rubygems.noarch 1.3.7-1.el6
provider: rubygems.noarch 1.3.7-5.el6
dépendance : sensu-rubygem(sensu-plugin) < 2.0
provider: sensu-rubygem-sensu-plugin.x86_64 1.4.4-1
provider: sensu-plugin.x86_64 1.0-1
provider: sensu-rubygem-sensu-plugin.x86_64 1.4.5-1
dépendance : sensu-rubygem(chronic_duration) = 0.10.6
provider: sensu-rubygem-chronic_duration.x86_64 0.10.6-1
dépendance : sensu-rubygem(sensu-plugin) >= 1.2
provider: sensu-rubygem-sensu-plugin.x86_64 1.4.4-1
provider: sensu-plugin.x86_64 1.0-1
provider: sensu-rubygem-sensu-plugin.x86_64 1.4.5-1
不行:sensu-rubygem(rest-client) = 1.8.0
yum clean 一切都完成了。
为什么 yum 不反映rpm 正确显示的>= ?
谢谢
我猜 yum 正在检测未将 ' > ' 变成 ' >= ' 的未修改版本的 RPM。如果你
yum list
用--show duplicates
旗帜做 a ,你可以看看那里是否有不止一个。如果这是正在发生的事情,那么使用 repo 优先级可能是您想要解决的问题。您还可以尝试
--enablerepo
,或使用和--disablerepo
在 repo 配置中为每个 repo 设置过滤器。exclude
includepkgs
Priorities 是旧发行版中的插件,因此您可能必须安装它。