Help us understand the problem. What is going on with this article?

パッケージ依存関係を解消する(rpm)

More than 5 years have passed since last update.

目的

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%]
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした