あいしんくいっとオススメ商品レビュー

yum updateで依存関係エラーが出た時にアップデートする3つの方法

本記事対象
yum updateで依存関係エラーが出た時にアップデートする方法が知りたい方

ども。あいしんくいっと(@ithinkitnet)です。

Linuxサーバーでyumアップデートしようとしたところ、依存関係エラーが表示されました。

yum update 依存関係エラー
–> 依存性の処理をしています: libonig.so.2()(64bit) のパッケージ: kusanagi-hhvm-3.19.1-1.noarch
–> 依存性解決を終了しました。
エラー: パッケージ: kusanagi-hhvm-3.19.1-1.noarch (@kusanagi)
要求: libonig.so.2()(64bit)
削除中: oniguruma-5.9.5-3.el7.x86_64 (@epel)
libonig.so.2()(64bit)
次のものにより更新された: : oniguruma-6.8.2-1.el7.x86_64 (epel)
~libonig.so.5()(64bit)
問題を回避するために –skip-broken を用いることができます。
これらを試行できます: rpm -Va –nofiles –nodigest

「–skip-broken」オプションで依存関係を無視し、無理矢理パッケージアップデートしても良いのですが、それは根本的な解決方法ではありません。yum updateで依存関係エラーが出た場合はどういった対応をすれば良いのでしょうか。

yum updateで依存関係エラーが出た時にアップデートする3つの方法

yum updateで依存関係エラーが出た場合にアップデートする方法は下記の3つの方法が考えられます。

  • 依存関係エラーのパッケージを除外
  • 依存関係が解消されるのを待つ
  • 依存関係を無視してインストール

それぞれの手順を見ていきます。

依存関係エラーのパッケージを除外

今回の場合、「oniguruma」というパッケージがアップデートされたのが原因な模様。
なので、アップデートが必要な場合は、「—exclude」オプションでonigurumaパッケージを除外してアップデートすれば良いです。

除外パッケージ指定してyum update
yum update –exclude=oniguruma -y

onigurumaに依存してエラーが出るパッケージがあったら、それもカンマ区切りでexcludeに追加することでアップデート出来ます。

依存関係エラーが解消されるのを待つ

今回の場合、「oniguruma」パッケージが依存関係エラーとなっていたのですが、数日経つと依存関係エラーが解消されてました。パッケージアップデートを急がないのであれば、数日待ってみるのも良いかも知れません。

ithinkit

もしかしたら解消されるかも?
yum update実行結果
削除しました:
 kernel.x86_64 0:3.10.0-1062.1.2.el7 kernel-devel.x86_64 0:3.10.0-1062.1.2.el7

インストール:
 kernel.x86_64 0:3.10.0-1127.10.1.el7                                          
 kernel-devel.x86_64 0:3.10.0-1127.10.1.el7                                    

依存性関連をインストールしました:
 kusanagi-oniguruma.x86_64 0:5.9.6-1.el7                                      

更新:
 bind-export-libs.x86_64 32:9.11.4-16.P2.el7_8.6                              
 bind-libs.x86_64 32:9.11.4-16.P2.el7_8.6                                      
 bind-libs-lite.x86_64 32:9.11.4-16.P2.el7_8.6  

依存関係を無視してインストール

パッケージの依存関係を無視してyum updateするには「-skip-broken」オプションを付与してコマンド実行します。

yum update
yum update -skip-broken -y

冒頭でも書きましたが、「依存関係を無視してインストール」してしまうと、パッケージ依存関係に不整合が出る可能性があり、将来的に困ることが目に見えているのでおすすめは出来ません。経験上、一度でも依存関係を無視してインストールしてしまうと、ずっと「–skip-broken」オプションを付与して無理矢理アップデートしないといけなくなる可能性大です。


パッケージ除外するか、解消されるのを待つか、「–skip-broken」で依存関係エラーを無視するか。解消されるまで待つのがベストですが、依存関係エラーとなるパッケージを除外してアップデートするのもアリですね。

繰り返しになりますが、依存関係を無視(–skip-broken )してyumアップデートしてしまうと、将来的に不具合が出る可能性があるのでおすすめは出来ません。

ithinkit

パッケージ除外するか、依存関係エラーが修正されるまで待つか。

以上、あいしんくいっとでした。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)