разные требования к yum и rpm для одного и того же пакета

У меня есть yum repo:

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

Которая состоит из гемов для RPM, созданных с помощью fpm

Я отредактировал этот пакет, чтобы изменить требования к версии sensu-rubygem (rest-client), которые были исправлены на = 1.8.0 до > = 1.8.0

Если я загружу пакет из репозитория

# 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 показывает правильно ??

спасибо

2
задан 28 April 2017 в 19:20
1 ответ

Я предполагаю, что yum обнаруживает неизмененную версию RPM, в которой '> ' не преобразовано в '> = '. Если вы создадите список yum с флагом - показать дубликаты , вы сможете увидеть, есть ли их более одного.

Если это то, что происходит, используйте приоритеты репо вероятно, вы хотите это исправить. Вы также можете попробовать - enablerepo , - disablerepo или установить фильтры для каждого репо в конфигурациях репо, используя exclude и includepkgs .

Priorities - это подключаемый модуль в старых дистрибутивах, поэтому вам, возможно, придется его установить.

0
ответ дан 3 December 2019 в 14:11

Теги

Похожие вопросы