2016.
01.
11
22:44:25
結論から書くと
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
を実行すると分かりますが、例えば
のような内容が書かれています。
「=>」の左がライブラリ名、右側がパスです。
「ldconfig」を実行すると
1.「/etc/ld.so.conf」に記述されたパスに対して共有ライブラリを探しに行く
2.見つかった共有ライブラリを「/etc/ld.so.cache」に登録する
っぽいことが行われます、多分。
※実際に動きを確認したわけではないです。結果から推測しています。
「/etc/ld.so.conf」には共有ライブラリの検索パス(探す場所)を指定します。
「/etc/ld.so.cache」の内容は共有ライブラリの一覧です。
情報としては「探す場所」から「対象の一覧」に変換されていますよ。
余裕があれば覚えてあげてください(--)ノ
取りあえず、そんな感じ\(--)/
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
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」の内容は共有ライブラリの一覧です。
情報としては「探す場所」から「対象の一覧」に変換されていますよ。
余裕があれば覚えてあげてください(--)ノ
取りあえず、そんな感じ\(--)/