ライブラリとは,複数のコマンドで共通して利用される共通モジュールのことだ。幾つものRPMパッケージや,tarボールからのインストール,そして削除などを行っていると,ライブラリの依存性が崩れてしまうことがある。
このような場合には,該当するコマンドを「ldd」コマンドで調査すればよい。
# ldd /bin/bash libtermcap.so.2 => /lib/libtermcap.so.2 (0x4001b000) libc.so.6 => /lib/libc.so.6 (0x4001f000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) |
この例では,bashコマンド(シェル)のライブラリ依存を調べた結果だ。3つのライブラリに依存して動作していることが分かる。
また,ライブラリにはデータベースが用意されており,コマンドはこのデータベースから自動判別をして読み込みを行う。現在のデータベース状況を確認するには,次のように指定すればよい。
# ldconfig -p 417 libs found in cache `/etc/ld.so.cache' (version 1.7.0) libzvt.so.2 (libc6) => /usr/lib/libzvt.so.2 libzvt.so (libc6) => /usr/lib/libzvt.so libz.so.1 (ELF) => /usr/i486-linux-libc5/lib/libz.so.1 libz.so.1 (libc6) => /usr/lib/libz.so.1 libz.so (libc6) => /usr/lib/libz.so libxmms.so.1 (libc6) => /usr/lib/libxmms.so.1 libxml.so.1 (libc6) => /usr/lib/libxml.so.1 〜以下,略〜 |
このデータベースは,tarボールなどでライブラリをインストールした際には更新されないこともある。手動で更新するには,次のように指定すればよい。この指定によって,「/usr/xxxxxx/lib/」ディレクトリ下のライブラリがデータベースに追加される。
# ldconfig -n /usr/xxxxxx/lib/ |
Copyright © ITmedia, Inc. All Rights Reserved.