これは私が使用するときに気づいた特異性を扱っているため、複製ではありません/etc/ld.so.conf
。
動的リンカーがライブラリを検索するパスを取得するには、コマンドを実行しldconfig -v | grep -v "^"$'\t' | sed "s/:$//g"
ます。に/etc/ld.so.conf
パスがリストされていない場合。前のコマンドからの出力は
/lib
/usr/lib
/lib
最初に検索し、それから検索すると考えました/usr/lib
。私のような新しいパスを追加するとき/usr/local/lib
に、/etc/ld.so.conf
リメイク、その後と/etc/ld.so.cache
、出力からはldconfig -v | grep -v "^"$'\t' | sed "s/:$//g"
なり
/usr/local/lib
/lib
/usr/lib
リストされたディレクトリが検索される順序が上から下であることが正しい場合、追加のディレクトリが/lib
との前に検索されるため、これは奇妙です/usr/lib
。信頼できるディレクトリの前に追加のディレクトリが検索されること自体は奇妙ではありませんが、/lib
が前/usr/lib
に検索されると、/bin
&/sbin
は/usr/bin
&/usr/sbin
inの後に検索されるため、奇妙PATH
です。
によってリストされたパスldconfig -v | grep -Ev "^"$'\t' | sed "s/:$//g"
が下から上に検索された場合でも、信頼できるディレクトリの後に追加のディレクトリが検索され、の後に検索されるため、順序が歪ん/lib
でい/usr/lib
ます。
では、ld.so
ライブラリのパスを検索する順序は何ですか?なぜ/lib
以前に検索されるの/usr/lib
ですか?そうでない場合、追加のディレクトリが検索されるのはなぜ/lib
ですか?