yum:由于缺少依赖项而无法更新 puppet-agent

yum:由于缺少依赖项而无法更新 puppet-agent

yum我正在尝试使用( )更新包,puppet-agent但由于缺乏依赖项而失败 - 下面的错误输出。

思考我知道为什么会这样:旧版本(1.10.9-1)的软件包依赖于某些mcollective-*软件包,而新版本(6.4.2)则没有,并且“mcollective”软件包在我的 yum 存储库中不再可用。

但是,我无法弄清楚依赖性从何而来或如何最好地解决这个问题。所以想请教两个方面的帮助:

  1. 如何找到依赖的来源?常用的方法如https://superuser.com/a/294666不要显示它 - 请参阅下面的详细信息。
  2. 进行升级的最佳方式是什么?我已经尝试了一些方法,但我不确定是否有更好的方法(下面详细介绍了一些尝试)

请注意,我需要在大量主机上部署此更新(当然使用 Puppet),因此我需要一个不涉及太多体力劳动的解决方案。


错误

[root@csqdev-app02 ~]# yum update puppet-agent
(...)  
Resolving Dependencies
--> Running transaction check
---> Package puppet-agent.x86_64 0:1.10.9-1.el7 will be updated
--> Processing Dependency: mcollective-common >= 2.2.1 for package: mcollective-service-common-3.1.3-1.el7.noarch
--> Processing Dependency: mcollective-common >= 2.2.1 for package: mcollective-nettest-common-3.0.4-1.el7.noarch
--> Processing Dependency: mcollective-common >= 2.2.1 for package: mcollective-nrpe-common-3.1.0-1.el7.noarch
--> Processing Dependency: mcollective-common >= 2.2.1 for package: mcollective-puppet-common-1.11.1-1.el7.noarch
--> Processing Dependency: mcollective-common >= 2.2.1 for package: mcollective-package-common-4.4.0-1.el7.noarch
---> Package puppet-agent.x86_64 0:6.4.2-1.el7 will be an update
--> Finished Dependency Resolution
Error: Package: mcollective-service-common-3.1.3-1.el7.noarch (@puppetlabs)
           Requires: mcollective-common >= 2.2.1
           Removing: puppet-agent-1.10.9-1.el7.x86_64 (@puppetlabs)
               mcollective-common >= 3.0.0-1.el7
           Updated By: puppet-agent-6.4.2-1.el7.x86_64 (puppetlabs6)
               Not found
           Available: puppet-agent-1.0.0-1.el7.x86_64 (puppetlabs)
(...)

依赖性搜索

但是,当我检查使用repoquery依赖项时,这两个版本都没有显示

[root@csqdev-app02 ~]# repoquery --requires --resolve --pkgnarrow=all puppet-agent-1.10.9 | uniq | sort
bash-0:4.2.46-31.el7.x86_64
coreutils-0:8.22-23.el7.x86_64
readline-0:6.2-10.el7.i686
readline-0:6.2-10.el7.x86_64
systemd-0:219-62.el7.x86_64
tar-2:1.26-35.el7.x86_64
util-linux-0:2.23.2-59.el7_6.1.i686
util-linux-0:2.23.2-59.el7_6.1.x86_64
[root@csqdev-app02 ~]# repoquery --requires --resolve --pkgnarrow=all puppet-agent-6.4.2 | uniq | sort
bash-0:4.2.46-31.el7.x86_64
coreutils-0:8.22-23.el7.x86_64
systemd-0:219-62.el7.x86_64
tar-2:1.26-35.el7.x86_64
util-linux-0:2.23.2-59.el7_6.1.i686
util-linux-0:2.23.2-59.el7_6.1.x86_64

请注意,我也尝试过repoquery--recursive选项,但没有mcollective*.

我也尝试使用 rpm direclty ( rpm -qR puppet-agent) 但同样没有迹象mcollective

升级解决方法

我尝试过以下方法工作但我不确定它们是否有好处:

  1. yum remove puppet-agent完全删除旧版本,然后yum install puppet-agent安装新版本
  2. 添加包含旧mcollective-*软件包的存储库,进行更新,然后删除mcollective-*软件包。

我不太喜欢这两种方法,特别是因为我必须使用(你猜对了)Puppet 来实现它的自动化。

系统信息

[root@csqdev-app02 ~]# cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core)
[root@csqdev-app02 ~]# uname -a
Linux csqdev-app02.grass.corp 3.10.0-957.21.3.el7.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

相关内容