#目的
RedHat系Linuxで依存関係のパッケージをrpmでインストール方法です。
今回は、「Oracle Linux 6.4 (x86-64)」で試しています。
#なぜ?
yumで解決してしまえばっと思うのですが
なくても出来る方が良い場合もありますよね?
##とりあえず実行してみる
[root]# rpm -ivh compat-libstdc++-33-3.2.3-69.el6.i686.rpm
警告: compat-libstdc++-33-3.2.3-69.el6.i686.rpm: ヘッダ V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
エラー: 依存性の欠如:
libc.so.6 は compat-libstdc++-33-3.2.3-69.el6.i686 に必要とされています
libc.so.6(GLIBC_2.0) は compat-libstdc++-33-3.2.3-69.el6.i686 に必要とされています
libc.so.6(GLIBC_2.1) は compat-libstdc++-33-3.2.3-69.el6.i686 に必要とされています
libc.so.6(GLIBC_2.1.3) は compat-libstdc++-33-3.2.3-69.el6.i686 に必要とされています
libc.so.6(GLIBC_2.2) は compat-libstdc++-33-3.2.3-69.el6.i686 に必要とされています
libc.so.6(GLIBC_2.3) は compat-libstdc++-33-3.2.3-69.el6.i686 に必要とされています
libgcc_s.so.1 は compat-libstdc++-33-3.2.3-69.el6.i686 に必要とされています
libgcc_s.so.1(GCC_3.0) は compat-libstdc++-33-3.2.3-69.el6.i686 に必要とされています
libgcc_s.so.1(GCC_3.3) は compat-libstdc++-33-3.2.3-69.el6.i686 に必要とされています
libgcc_s.so.1(GLIBC_2.0) は compat-libstdc++-33-3.2.3-69.el6.i686 に必要とされています
libm.so.6 は compat-libstdc++-33-3.2.3-69.el6.i686 に必要とされています
なんか難しそうなエラーメッセージがでました。
よくみると・・・「libc.so.6」「libgcc_s.so.1」「libm.so.6」が必要とされている事がわかります。
って言ってもどうやって導入するんだろ?
下記のコマンドで調べることが出来ます。
[root]# yum provides libc.so.6
Loaded plugins: refresh-packagekit, security
glibc-2.12-1.47.el6_2.12.i686 : The GNU libc libraries
Repo : ol6_latest
Matched from:
Other : libc.so.6
glibc-2.12-1.7.el6_0.5.i686 : The GNU libc libraries
Repo : ol6_latest
Matched from:
Other : libc.so.6
glibc-2.12-1.107.el6.i686 : The GNU libc libraries
Repo : ol6_latest
Matched from:
Other : libc.so.6
以下略・・・
「glibc-2.12」の中に必要なライブラリが入ってますとのこと
rpmファイルを確認してみます。
[root]# ls -al glibc-2.12*
-rw-rw-r--. 1 root root 4536956 2月 24 07:49 2013 glibc-2.12-1.107.el6.i686.rpm
-rw-rw-r--. 1 root root 3977532 2月 24 07:48 2013 glibc-2.12-1.107.el6.x86_64.rpm
##同様に必要なライブラリを調べる
同様に「libgcc_s.so.1」「libm.so.6」に必要なライブラリを調べると
下記のrpmファイルが必要とわかります。
-rw-rw-r--. 1 root root 113708 12月 21 16:05 2012 libgcc-4.4.7-3.el6.i686.rpm
-rw-rw-r--. 1 root root 4536956 2月 24 07:49 2013 glibc-2.12-1.107.el6.i686.rpm
##機は熟した!
[root]# rpm -ivh compat-libstdc++-33-3.2.3-69.el6.i686.rpm libgcc-4.4.7-3.el6.i686.rpm glibc-2.12-1.107.el6.i686.rpm
警告: compat-libstdc++-33-3.2.3-69.el6.i686.rpm: ヘッダ V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
エラー: 依存性の欠如:
libfreebl3.so は glibc-2.12-1.107.el6.i686 に必要とされています
libfreebl3.so(NSSRAWHASH_3.12.3) は glibc-2.12-1.107.el6.i686 に必要とされています
残念すぎる・・・でも
もう大丈夫ですよね?
##最終章
[root]# rpm -ivh compat-libstdc++-33-3.2.3-69.el6.i686.rpm libgcc-4.4.7-3.el6.i686.rpm glibc-2.12-1.107.el6.i686.rpm nss-softokn-freebl-3.12.9-11.el6.i686.rpm
警告: compat-libstdc++-33-3.2.3-69.el6.i686.rpm: ヘッダ V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
準備中... ########################################### [100%]
1:libgcc ########################################### [ 20%]
2:nss-softokn-freebl ########################################### [ 40%]
3:glibc ########################################### [ 60%]
4:compat-libstdc++-33 ########################################### [ 80%]
5:libstdc++ ########################################### [100%]