hnakamur’s blog

ものすごい勢いで忘れる私のために未整理でもいいからとりあえずメモ

2009-08-22

EPELからheartbeatをインストール

インストール試すが依存関係で失敗

# yum install heartbeat

すると依存するlibnet.so.1が無いというエラー発生

Resolving Dependencies
--> Running transaction check
---> Package heartbeat.i386 0:2.1.4-9.el5 set to be updated
--> Processing Dependency: libstonith.so.1 for package: heartbeat
--> Processing Dependency: libpils.so.1 for package: heartbeat
--> Processing Dependency: libltdl.so.3 for package: heartbeat
--> Processing Dependency: libnet.so.1 for package: heartbeat
--> Running transaction check
---> Package libtool-ltdl.i386 0:1.5.22-6.1 set to be updated
---> Package heartbeat-stonith.i386 0:2.1.4-9.el5 set to be updated
--> Processing Dependency: net-snmp-libs for package: heartbeat-stonith
--> Processing Dependency: libnetsnmp.so.10 for package: heartbeat-stonith
---> Package heartbeat-pils.i386 0:2.1.4-9.el5 set to be updated
---> Package heartbeat.i386 0:2.1.4-9.el5 set to be updated
--> Processing Dependency: libnet.so.1 for package: heartbeat
--> Running transaction check
---> Package net-snmp-libs.i386 1:5.3.2.2-5.el5_3.2 set to be updated
---> Package heartbeat.i386 0:2.1.4-9.el5 set to be updated
--> Processing Dependency: libnet.so.1 for package: heartbeat
--> Finished Dependency Resolution
heartbeat-2.1.4-9.el5.i386 from epel has depsolving problems
  --> Missing Dependency: libnet.so.1 is needed by package heartbeat-2.1.4-9.el5.i386 (epel)
Error: Missing Dependency: libnet.so.1 is needed by package heartbeat-2.1.4-9.el5.i386 (epel)

libnet.soを求めて(失敗の巻)

libnet.soを含むパッケージを調べる。

# yum provides libnet.so
...(略)...
1463 packages excluded due to repository priority protections
1:java-1.6.0-openjdk-1.6.0.0-0.25.b09.el5.i386 : OpenJDK Runtime Environment
Matched from:
Other       : libnet.so



1:java-1.6.0-openjdk-1.6.0.0-0.30.b09.el5.i386 : OpenJDK Runtime Environment
Matched from:
Other       : libnet.so



1:java-1.6.0-openjdk-1.6.0.0-1.2.b09.el5.i386 : OpenJDK Runtime Environment
Matched from:
Other       : libnet.so

heartbeatがOpenJDKに依存しているってほんとかと思いつつ一応入れてみる。まずどこのレポジトリか確認。

# yum info java-1.6.0-openjdk

によるとupdatesレポジトリにあるらしい。

# yum install java-1.6.0-openjdk

libnet.soがインストールされたか確認

# rpm -ql java-1.6.0-openjdk | grep libnet
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/libnet.so

ここに入るってことはOpenJDKしかみないよな。こんなとこにLD_LIBRARY_PATH通すとも思えないし。

yum install heartbeatを再度試すがやはり同じエラーが出ました。ということでOpenJDKを依存パッケージごとアンインストールします。

# yum remove java-1.6.0-openjdk giflib jpackage-utils libXtst

libnet.soを求めて(成功の巻)

libnetで検索してみる

# yum search libnet
...(略)...
=============================== Matched: libnet ================================
echoart.i386 : Responds to or drops ICMP echo requests packets
libnet.i386 : Routines to help with network packet contruction and handling
libnet-devel.i386 : Development files for the libnet library
libnet10.i386 : High-level API (toolkit) to construct and inject network packets
libnet10-devel.i386 : Development files for the libnet library
libnetfilter_conntrack.i386 : Netfilter conntrack userspace library
libnetfilter_conntrack-devel.i386 : Header files, libraries and development
                                  : documentation for libnetfilter_conntrack.
perl-Net-ARP.i386 : Create and send ARP packets
perl-Net-TFTP.noarch : TFTP Client class

libnetとかlibnet10がそれっぽい。

libnetを入れてみる

# yum install libnet

内容を確認

# rpm -ql libnet | lv

/usr/lib/libnet.aはあるが、libnet.soは確かに無い。

libnet10を入れてみる

# yum install libnet10

内容を確認

# rpm -ql libnet10 | lv

/usr/lib/libnet10.so.0というファイルならあったがlibnet.soはない。

libnetとlibnet10をアンインストール後、どのレポジトリか確認。

# yum remove libnet libnet10
# yum info libnet

extrasと判明。extrasからlibnet*を除外。

# vi /etc/yum.repos.d/Cent-Base.repo

変更内容

--- /etc/yum.repos.d/CentOS-Base.repo   2009/08/21 15:08:54     1.4
+++ /etc/yum.repos.d/CentOS-Base.repo   2009/08/21 15:22:08
@@ -48,7 +48,7 @@
 gpgcheck=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
 priority=1
-exclude=heartbeat-*
+exclude=heartbeat-*,libnet*
 
 #additional packages that extend functionality of existing packages
 [centosplus]

再度確認

# yum info libnet

今度はrpmforgeでヒットしたので、ここからも除外

# vi /etc/yum.repos.d/rpmforge.repo

変更内容

--- /etc/yum.repos.d/rpmforge.repo      2009/08/21 09:09:14     1.2
+++ /etc/yum.repos.d/rpmforge.repo      2009/08/21 15:22:29
@@ -10,3 +10,4 @@
 gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
 gpgcheck = 1
 priority = 11
+exclude=libnet*
# yum info libnet

これでRepo: epelになったので、インストール。

# yum install libnet
# rpm -ql libnet | lv

/usr/lib/libnet.so.1が含まれている事を確認。

heartbeatのインストール再実行して成功

# yum install heartbeat
...(略)...
Dependencies Resolved

================================================================================
 Package                Arch      Version                    Repository    Size
================================================================================
Installing:
 heartbeat              i386      2.1.4-9.el5                epel         1.6 M
Installing for dependencies:
 heartbeat-pils         i386      2.1.4-9.el5                epel          90 k
 heartbeat-stonith      i386      2.1.4-9.el5                epel         169 k
 libtool-ltdl           i386      1.5.22-6.1                 base          37 k
 net-snmp-libs          i386      1:5.3.2.2-5.el5_3.2        updates      1.2 M
...(略)...

今度は無事インストールできました。今回の教訓は先にexcludeを調整して希望のパッケージが希望のレポジトリから取得できるようにすることが大切ということです。

0 件のコメント:

ブログ アーカイブ