yum和rpm对于同一个包的不同要求

我有一个百胜回购:

[sensu-checks-prod] name=sensu-checks-prod baseurl=http://our.internal.repo/pulp/repos/Sensu_checks_el6-prod/ enabled=1 gpgcheck=0 

这是由创build与RPM的创业板组成的gem

我已经编辑了这个包来修改固定为1.8.0> = 1.8.0的sensu-rubygem(rest-client)的版本要求

如果我从回购下载软件包

 # 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干净一切当然已经完成了。

为什么yum不能反映出那个rpm显示正确?

谢谢

我会猜测yum正在检测没有将“ > ”转换为“ > = ”的RPM的未修改版本。 如果你用--show duplicates标志来做一个yum list ,你可以看看是否有不止一个。

如果是这样,使用repo优先级可能是你想要解决的问题。 您也可以尝试使用--enablerepo ,– --disablerepo ,或使用excludeincludepkgs在repoconfiguration中设置每个repo的filter。

优先级是老版本的插件,所以你可能需要安装它。