私は読んだwhich
共有ライブラリと同じそして実行可能ファイルの実行時に共有オブジェクトを探す場所はどこですか?、しかしすべてのディレクトリを一覧表示するコマンドはありますか?共有ライブラリはどこで検索されますか?
2番目の質問で説明したすべてのリストを自動的に計算するコマンドに似ています。
ベストアンサー1
短い:なし
long:関連する環境変数は、システムと構成によって異なります。特定のシステム/構成に対してこれを行うスクリプトを作成できます。
実行可能ファイルの実行時に共有オブジェクトを探す場所はどこですか?少し洞察力を提供しますが、不完全です。 OSXとSolarisに言及していますが、Linuxに焦点を当てて、次の2つのリソースを指しています。
- ライブラリ HOWTO: 3. 共有ライブラリ(
LD_LIBRARY_PATH
あまり一般的ではないものは言及されていますが、言及されておらず、LD_LIBRARY_PATH_64
また1行として言及されています。道)。 - ld.so、ld-linux.so* - 動的リンカー/ローダー、再びいくつかの環境変数に言及し、道。
次の点も役に立ちます。
- ldconfig - ダイナミックリンカランタイムバインディングの設定、Linux固有(OSXまたはSolarisではない):
ldconfig
コマンドラインで指定されたディレクトリにある最新の共有ライブラリへの必要なリンクとキャッシュをファイルに生成します。/etc/ld.so.conf
と信頼できるディレクトリから/lib
そして/usr/lib
(x86-64、lib、および/usr/lib
32ビットライブラリの信頼できるディレクトリ。/lib64
そして/usr/lib64
64ビットライブラリの場合)。 - 共有ライブラリは64ビット/ 32ビット混合システムでどのように機能しますか?
- shlibスクリプト、共有ライブラリの場所を指定するために使用されるさまざまな環境変数を一覧表示するncursesのユーティリティスクリプトです。
特に、「sudo ldconfig -v
」
-v
、--verbose
詳細モード。現在のバージョン番号、スキャンされた各ディレクトリの名前、および生成されたすべてのリンクを印刷します。自動モードをオーバーライドします。
これは閉鎖質問に答えるが関係のない情報をたくさん提供します。 (BSDがこれを使用している間、ほとんどはLinuxに限定されていますが異なります。マニュアルページをご覧ください)。出力形式についていくつかの仮定を行うと、次のように出力形式からディレクトリをインポートできます。
sudo ldconfig -v 2>/dev/null | grep ':$' |sed -e 's/://'
(一つのシステムで)
/usr/local/lib
/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu
/lib
/usr/lib
要約すると:なし注文するただし、システムによって異なるスクリプトを作成できます。