yum:依存関係がないため、puppet-agentを更新できません。

yum:依存関係がないため、puppet-agentを更新できません。

yum()を使用してパッケージを更新しようとしていますが、puppet-agent依存関係が不足しているため失敗します。以下のエラー出力が表示されます。

考えるなぜこれが起こるのかを知っています。パッケージの以前のバージョン(1.10.9-1)は、mcollective-*新しいバージョン(6.4.2)がサポートしていない一部のパッケージに依存しており、 "mcollective"パッケージは私のyumリポジトリにありません。再利用可能。

ただし、依存関係がどこで発生するのか、この問題を最もよく解決する方法はわかりません。だから私は2つの点で助けを求めたいと思います。

  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 direct(rpm -qR puppet-agent)を使ってみましたが、何も信号がありませんでした。mcollective

アップグレードソリューション

私は次を試しました働くしかし、それが良いかどうかはわかりません。

  1. yum remove puppet-agent古いバージョンを完全に削除し、yum install puppet-agent新しいバージョンをインストールしてください。
  2. 古いパッケージを含むリポジトリを追加して更新し、mcollective-*パッケージmcollective-*を削除します。

私は2つのアプローチのうちの1つがあまり好きではありません。特に自動化には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

ベストアンサー1

おすすめ記事