プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
Linux、共有ライブラリをコンピュータに認識させる(パスを通す)
結論から書くと

1.root権限のあるユーザで「/etc/ld.so.conf」に共有ライブラリの置き場所を書く
2.「ldconfig」コマンドをオプション無しで実行する


で反映できます。

それでは詳細……というほどでもないですが、詳細を書いていきます。

まず、共有ライブラリの置いてあるディレクトリパスを「/etc/ld.so.conf」に書きます。
root権限のあるユーザで

vi /etc/ld.so.conf

とかやって、編集してください。

次に「ldconfig」コマンドを実行します。
オプション無しで

ldconfig

を実行すれば良いです。

実はコンピュータさんは「/etc/ld.so.conf」を見ません。
「/etc/ld.so.cache」というファイルを見ます。
「ldconfig」コマンドは「/etc/ld.so.conf」の内容を
「/etc/ld.so.cache」に反映するコマンドです。

まぁ「反映する」って言っても転記されるわけじゃないですけどね。

「/etc/ld.so.cache」には、ライブラリ名とパスが一覧で書いてあります。

ldconfig -p

を実行すると分かりますが、例えば

300 個のライブラリがキャッシュ `/etc/ld.so.cache' 内で見つかりました
        p11-kit-trust.so (libc6,x86-64) => /lib64/p11-kit-trust.so
        libz.so.1 (libc6,x86-64) => /lib64/libz.so.1
        libxtables.so.10 (libc6,x86-64) => /lib64/libxtables.so.10
        libxshmfence.so.1 (libc6,x86-64) => /lib64/libxshmfence.so.1
        libxml2.so.2 (libc6,x86-64) => /lib64/libxml2.so.2
        libxkbfile.so.1 (libc6,x86-64) => /lib64/libxkbfile.so.1

のような内容が書かれています。
「=>」の左がライブラリ名、右側がパスです。

「ldconfig」を実行すると

1.「/etc/ld.so.conf」に記述されたパスに対して共有ライブラリを探しに行く
2.見つかった共有ライブラリを「/etc/ld.so.cache」に登録する


っぽいことが行われます、多分。
※実際に動きを確認したわけではないです。結果から推測しています。

「/etc/ld.so.conf」には共有ライブラリの検索パス(探す場所)を指定します。
「/etc/ld.so.cache」の内容は共有ライブラリの一覧です。
情報としては「探す場所」から「対象の一覧」に変換されていますよ。
余裕があれば覚えてあげてください(--)ノ

取りあえず、そんな感じ\(--)/
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:● Linux  thema:パソコンな日々 - genre:コンピュータ  Posted by ササキマコト 

  関連記事