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

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

何かのキャッシュファイルなんだろうけど、何これ(--?
……って「/etc/ld.so.conf」の説明を書くときに一緒に調べたので、
実は、もう知ってるんですけどね。

知らない振りをして、Google先生に聞いてみましょう。

ふむふむ(--)

共有ライブラリの名前とファイルパスが書いてあるファイルでした。
コンピュータさんは、このファイルを元にして共有ライブラリを探します。

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

名前の通り「/etc/ld.so.cache」の立ち位置はキャッシュです。
このファイルを直接、編集してはいけません。

編集は「/etc/ld.so.conf」に対して行います。

/etc/ld.so.conf」は共有ライブラリの検索パスが書いてあるファイルです。
「共有ライブラリは、ここから探しなさい!」なパスが書いてあります。

作業の手順は

1.「/etc/ld.so.conf」を編集する
2.「1.」の編集内容を「/etc/ld.so.cache」に反映する


となります。

例えば、新しく作った共有ライブラリをコンピュータに認識させたいとしましょう。

まず、新しく作った共有ライブラリの検索パスを「/etc/ld.so.conf」に追加します。
次に「ldconfig」コマンドを実行します。
オプションを付与しないで

ldconfig

を実行すると

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


の作業が行われます。

この過程を経て、新しく作った共有ライブラリの名前とファイルパスが
/etc/ld.so.cache」に追加されます。
つまり、コンピュータに認識されるわけです。

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

more /etc/ld.so.cache

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

ldconfig -p

を実行してください。

最後にまとめておきます。

/etc/ld.so.cache」は共有ライブラリの名前とファイルパスが書いてあるファイルです。
コンピュータは「/etc/ld.so.cache」を参照して、共有ファイルを認識します。
/etc/ld.so.cache」の内容は「/etc/ld.so.conf」を元にして作られます。
/etc/ld.so.conf」の内容を「/etc/ld.so.cache」に反映するコマンドは「ldconfig」です。
「ldconfig -p」を実行すると「/etc/ld.so.cache」の中身を見られます。

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

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

  関連記事