これは私が使用するときに気づいた特異性を扱っているため、複製ではありません/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/sbininの後に検索されるため、奇妙PATHです。
によってリストされたパスldconfig -v | grep -Ev "^"$'\t' | sed "s/:$//g"が下から上に検索された場合でも、信頼できるディレクトリの後に追加のディレクトリが検索され、の後に検索されるため、順序が歪ん/libでい/usr/libます。
では、ld.soライブラリのパスを検索する順序は何ですか?なぜ/lib以前に検索されるの/usr/libですか?そうでない場合、追加のディレクトリが検索されるのはなぜ/libですか?