yumで依存関係のせいでインストールできない場合

yumでgangliaをインストールしようとした時の話です。
ganglia.x86_64 ganglia-devel.x86_64は普通にインストールできるのですが
ganglia-gmetad.x86_64をインストールすると依存関係で怒られる。


# yum  --enablerepo=epel --enablerepo=remi --enablerepo=dag install ganglia.x86_64 ganglia-devel.x86_64 ganglia-gmetad.x86_64 ganglia-gmond.x86_64 ganglia-web.x86_64
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* epel: ftp.kddilabs.jp
* remi: remi-mirror.dedipower.com
Setting up Install Process
Package ganglia-3.0.7-1.el5.x86_64 already installed and latest version
Resolving Dependencies

    • > Running transaction check
      • > Package ganglia.i386 0:3.0.7-1.el5 set to be updated
      • > Package ganglia-devel.i386 0:3.0.7-1.el5 set to be updated
      • > Package ganglia-devel.x86_64 0:3.0.7-1.el5 set to be updated
      • > Package ganglia-gmetad.x86_64 0:3.0.7-1.el5 set to be updated
    • > Processing Dependency: librrd.so.2()(64bit) for package: ganglia-gmetad
      • > Package ganglia-gmond.x86_64 0:3.0.7-1.el5 set to be updated
      • > Package ganglia-web.x86_64 0:3.0.7-1.el5 set to be updated
    • > Processing Dependency: php-gd for package: ganglia-web
    • > Running transaction check
      • > Package ganglia-gmetad.x86_64 0:3.0.7-1.el5 set to be updated
    • > Processing Dependency: librrd.so.2()(64bit) for package: ganglia-gmetad
      • > Package php-gd.x86_64 0:5.3.6-4.el5.remi set to be updated
    • > Processing Dependency: libt1.so.5()(64bit) for package: php-gd
    • > Running transaction check
      • > Package ganglia-gmetad.x86_64 0:3.0.7-1.el5 set to be updated
    • > Processing Dependency: librrd.so.2()(64bit) for package: ganglia-gmetad
      • > Package t1lib.x86_64 0:5.1.2-1.el5.rf set to be updated
    • > Finished Dependency Resolution

ganglia-gmetad-3.0.7-1.el5.x86_64 from epel has depsolving problems
--> Missing Dependency: librrd.so.2()(64bit) is needed by package ganglia-gmetad-3.0.7-1.el5.x86_64 (epel)
ganglia-gmetad-3.0.7-1.el5.x86_64 from epel has depsolving problems
--> Missing Dependency: librrd.so.2()(64bit) is needed by package ganglia-gmetad-3.0.7-1.el5.x86_64 (epel)
Error: Missing Dependency: librrd.so.2()(64bit) is needed by package ganglia-gmetad-3.0.7-1.el5.x86_64 (epel)
You could try using --skip-broken to work around the problem You could try running: package-cleanup --problems
package-cleanup --dupes
rpm -Va --nofiles --nodigest
The program package-cleanup is found in the yum-utils package.


こんな感じのエラーがはかれます。
ちゃんと読むと赤字の部分で試せと書いてあったんですよね。

    • skip-brokenをオプションで付けて実行しろと。

実際に--skip-brokenを付けたらインストールができました。

まだインストールしかしていないのでこれでちゃんと動くのかはわかりませんが
rrdtoolなどの必要なパッケージをインストールしておけば動くと勝手に思っていますw

yumでひっかかる人はちゃんtpエラーログを読みましょう。
昔はpackage-cleanup --problemsとかは実行してたんですが

    • skip-brokenは実行したことがなかったのです・・・

すごい簡単なことでも見逃すことはよくありますね・・・
冷静によく見ましょうということを学びました(´・ω・`)・・・

CentOS入門 -Linux・サーバ構築徹底活用

CentOS入門 -Linux・サーバ構築徹底活用