yum updateを実行すると以下のメッセージが表示される。
# yum update 読み込んだプラグイン:fastestmirror, refresh-packagekit Loading mirror speeds from cached hostfile * base: ftp.nara.wide.ad.jp * epel: ftp.kddilabs.jp * extras: ftp.nara.wide.ad.jp * updates: ftp.nara.wide.ad.jp 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> パッケージ satyr.x86_64 0:0.13-4.el7 を 更新 ---> パッケージ satyr.x86_64 0:0.14-2.el6 を アップデート --> 依存性の処理をしています: librpm.so.1()(64bit) のパッケージ: satyr-0.14-2.el6.x86_64 --> 依存性解決を終了しました。 エラー: パッケージ: satyr-0.14-2.el6.x86_64 (epel) 要求: librpm.so.1()(64bit) 問題を回避するために --skip-broken を用いることができます。
以下のyum list satyr.x86_64の実行結果を見て欲しい。
# yum list satyr.x86_64 読み込んだプラグイン:fastestmirror, refresh-packagekit Loading mirror speeds from cached hostfile * base: ftp.nara.wide.ad.jp * epel: ftp.kddilabs.jp * extras: ftp.nara.wide.ad.jp * updates: ftp.nara.wide.ad.jp インストール済みパッケージ satyr.x86_64 0.13-4.el7 installed 利用可能なパッケージ satyr.x86_64 0.14-2.el6 epel
この問題はEPEL( エンタープライズ Linux 用の拡張パッケージ)リポジトリに登録されているsatyr.x86_64のバージョンと、CentOS7のBASICリポジトリに登録されているsatyr.x86_64のバージョンが異なるために発生している。yumコマンドはEPELに登録されているバージョンの新しいsatyrに更新しようとするが、CentOSのBASICリポジトリに登録されている依存パッケージのバージョンが低いため更新に失敗する。
基本的に–skip-brokenオプションを指定して、無視してしまって問題ない。
もしどうしてもエラーが表示されるのが気持ちが悪いなら「EPELリポジトリを使うのを止めろ」という話になる。