
コンピュータを再起動してもld.so.cache
情報が残っているので、質問は次のとおりです。
情報は常にそこに保存されますか?再起動後に削除されましたか? RAMやブラウザのキャッシュが削除されたかのように?
一部の共有ライブラリがインストールされているアプリを削除すると、そのアプリの情報も削除されることがわかりますか
ld.so.cache
?情報を使用するとldconfig
削除されますか?実際にどのように機能しますか?プログラムをインストールした場合、自分のコンピュータは追加された新しいライブラリを使用しているかどうかを知ることができますか?
apt-get install
走ったらldconfig
?
答え1
Linuxプログラムは共有オブジェクトと呼ばれるライブラリを使用します。共有オブジェクトの拡張子は .so です。ls
コマンド実行のSO使用量の表示ldd /bin/ls
デフォルトでは、ライブラリは/lib /usr/libおよび/usr/local/lib(32/64ビットの場合/lib32、/lib64)に保存されます。他のライブラリを見つけることができる情報はに保存されます
/etc/ld.so.conf.d/
。特定のライブラリへのパスを含む単一の.confファイルがあります。つまり、 /etc/opt/foo/lib
/ld.so.conf.d/で検索するため、ldconfig
/etc/ldが生成されます。非常に遅い.so.cacheファイルです。これは、ルックアップを高速化するためのファイルのバイナリバージョンです。まず最初の質問に答えてみましょう。いいえ、ファイルを保存してください。はい、apt-getまたはdpkg(?)はldconfigをトリガーします。仕組み - 1を参照してください。
はい、1を参照してください。
私はそれが正しいことを願っています。私を訂正してください。
答え2
apt-get
そしてdpkg
両方ともldconfig
キャッシュ再構築を呼び出します。
各バッチジョブの終わりにこれが行われると思いますが、わかりません。
キャッシュから特定のデータを削除する方法はないと思います。ただ再構築するだけです。たとえば、次のようになります。
rm /etc/ld.so.cache
ldconfig
これを使用してldconfig -p
キャッシュされたコンテンツを確認できます。
私のシステムはldconfig
再起動するたびに呼び出されますが、/etc/
キャッシュに使用すると毎回最初から生成されないため、必要に応じて自分で書き直す必要があります。
一部のライブラリを手動で削除した場合は、再構築する必要があります。