インストール試すが依存関係で失敗
# 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を調整して希望のパッケージが希望のレポジトリから取得できるようにすることが大切ということです。