このページをDeliciousに追加 このページをはてなブックマークに追加 このページをlivedoor クリップに追加 このページをYahoo!ブックマークに追加

環境変数_共有ライブラリの追加

環境変数の追加

  • bashなら
var=value; export var

読み込ませる

# source .bashrc 
# (ドット). .bashrc 

共有ライブラリへの追加

共有ライブラリは複数プログラムから参照され、それぞれ個別に作成すると言う無駄を省き、汎用的にすることができる。

共有ライブラリに追加する場合は以下ファイルを編集する。

#vi /etc/ld.so.conf
ここに追記する。

編集したものをld.so.cacheファイル(バイナリ)に反映させる。

#ldconfig

確認は

#ldconfig -p

にてできる。

-p 現在のキャッシュに保存されているディレクトリのリストと、ライブラリの候補を表示する。

補足

上記の通り、毎回/etc/ld.so.confの設定ファイルを読み込むのではなく、 /etc/ld.so.cacheというファイルを元に共有ライブラリを読み込むようになっている
ldconfigでld.so.cacheを作成する。

共有ライブラリ利用の確認

lddコマンドを用いて確認が可能となる。

$ ldd /bin/ls
        libtermcap.so.2 => /lib/libtermcap.so.2 (0x4001e000)
        libc.so.6 => /lib/i686/libc.so.6 (0x40022000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

ダイナミックリンク(共有リンク)の関係を調べる【ldd】

lddコマンドにて、特定のプログラムがどの共有ライブラリを必要としているかが分かる。
例えばlsコマンドであれば、

$ ldd /bin/ls
        librt.so.1 => /lib/tls/librt.so.1 (0x023ec000)
        libacl.so.1 => /lib/libacl.so.1 (0x00cc0000)
        libselinux.so.1 => /lib/libselinux.so.1 (0x00d41000)
        libc.so.6 => /lib/tls/libc.so.6 (0x00b94000)
        libpthread.so.0 => /lib/tls/libpthread.so.0 (0x00cfd000)
        /lib/ld-linux.so.2 (0x00b7b000)
        libattr.so.1 => /lib/libattr.so.1 (0x00d51000)

として調べることが出来る。

※ユーザ毎に変更する場合にはLD_LIBRARY_PATHで変更可能となる。