プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
Linux、「/etc/ld.so.conf」とはなんぞや?
ちょっくらLinuxの基礎を学び直そうと思いましてね。
気になったことを取りとめもなく調べていくことにしました。

次に調べたのが「/etc/ld.so.conf」です。

ファイル名から想像がつかないんだけど、何これ(--?
早速、Google先生に聞いてみましょう。

ふむふむ(--)

共有ライブラリの検索パスを書いておくファイルでした。
「/etc/ld.so.conf」の中には「共有ライブラリは、ここから探しなさい!」なパスを書きます。

あぁ「so」って「shared object」の「so」か。
UNIX系の共有ライブラリの拡張子と同じですね。
「ld」は分からないけど、まぁいいや(^^;

「/etc/ld.so.conf」はテキストファイルです。
編集は

vi /etc/ld.so.conf

等のテキスト編集コマンドで行えます。

注意点として「/etc/ld.so.conf」を編集しただけでは、何の意味もありません。
コンピュータは共有ライブラリを探す際に「/etc/ld.so.conf」を参照しないからです。
実際に共有ライブラリを探す際には「/etc/ld.so.cache」を参照します。

よって、編集後の「/etc/ld.so.conf」の内容を
/etc/ld.so.cache」に反映する必要があります。

/etc/ld.so.conf」の内容を「/etc/ld.so.cache」に反映するコマンドは「ldconfig」です。
オプション等を付与しないで

ldconfig

を実行すると、

1.「/etc/ld.so.conf」の内容を元にして共有ライブラリを探す
2.見つかった共有ライブラリの名前とファイルパスを「/etc/ld.so.cache」に書き込む


の作業が行われます。

ここがポイントです。

/etc/ld.so.conf」には「共有ライブラリの検索パス」が書いてあります。
/etc/ld.so.cache」には「共有ライブラリの名前と置き場所」が書いてあります。

実際にコンピュータが使用するのは「/etc/ld.so.cache」です。
ただし「/etc/ld.so.cache」は「/etc/ld.so.conf」を元にして作られます。

よって、共有ライブラリの検索パスを追加する際の、実際の作業手順は

1.「/etc/ld.so.conf」を編集する
2.コマンド「ldconfig」を実行する


です。
「2.」の作業を忘れないように、ご注意ください。

ちなみに「/etc/ld.so.cache」はバイナリファイルです。
例えば

more /etc/ld.so.cache

のようなコマンドを実行しても中身を見られません。
/etc/ld.so.cache」の中身を見たい場合は

ldconfig -p

を実行します。

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

category:ファイル/ディレクトリ  thema:パソコンな日々 - genre:コンピュータ  Posted by ササキマコト 

  関連記事