2011年2月26日土曜日

LPI まとめ - 1 ライブラリ (検索リスト)

コンテンツ
- 共有ライブラリディレクトリ
- 実行に必要な共有ライブラリの確認
- 検索リスト
- キャッシュ
- ldconfig
- 検索ディレクトリの追加

●共有ライブラリディレクトリ
/lib,   /usr/lib

この中に  libxxx.so.y           y : version?(数字)
例)   libacl.so.1

●実行に必要な共有ライブラリの確認
ldd  コマンドパス

例)  ldd /bin/ls
実行結果
    linux-gate.so.1 =>  (0x0053a000)
    libselinux.so.1 => /lib/libselinux.so.1 (0x00672000)
    librt.so.1 => /lib/librt.so.1 (0x00549000)
    libacl.so.1 => /lib/libacl.so.1 (0x00bcb000)
    libc.so.6 => /lib/libc.so.6 (0x00110000)
    libdl.so.2 => /lib/libdl.so.2 (0x00876000)
    /lib/ld-linux.so.2 (0x007d4000)
    libpthread.so.0 => /lib/libpthread.so.0 (0x00efc000)
    libattr.so.1 => /lib/libattr.so.1 (0x00ca3000)

ライブラリ名と, その位置が表示される

●ライブラリの検索リスト
/etc/ld.so.conf

Ubuntu では, ld.so.conf.d というところの.confを読むといった階層をとっている
include /etc/ld.so.conf.d/*.conf        # ls.so.conf.d の中の .conf ファイルを読み込んで探す

●キャッシュ
ライブラリの検索リストは, 実際には  /etc/ld.so.cache
というキャッシュファイルを利用している

cat /etc/ld.so.cache で表示させてみたら全然読めず

ldconfig    -   キャッシュの更新
/etc/ld.so.conf ファイルに基づいて, /etc/ld.so.cacheを更新

共有ライブラリの変更時
検索対象変更時
に活用

0 件のコメント:

コメントを投稿