Ini bukan duplikat karena ini berurusan dengan kekhasan yang saya perhatikan ketika saya gunakan /etc/ld.so.conf.
Untuk mendapatkan jalur yang dicari oleh tautan dinamis untuk pustaka, saya menjalankan perintah ldconfig -v | grep -v "^"$'\t' | sed "s/:$//g". Ketika /etc/ld.so.conftidak memiliki jalur yang terdaftar di dalamnya. Output dari perintah sebelumnya adalah
/lib
/usr/lib
Saya pikir itu mencari /libpertama dan kemudian /usr/lib. Saat saya menambahkan jalur baru, seperti /usr/local/lib, ke /etc/ld.so.confdan kemudian membuat kembali /etc/ld.so.cache, output dari ldconfig -v | grep -v "^"$'\t' | sed "s/:$//g"menjadi
/usr/local/lib
/lib
/usr/lib
Saya menemukan ini aneh karena jika saya benar bahwa urutan direktori yang terdaftar dicari adalah dari atas ke bawah, maka direktori tambahan dicari sebelum /libdan /usr/lib. Direktori tambahan dicari sebelum direktori tepercaya tidak aneh dengan sendirinya, tetapi ketika /libdicari sebelumnya /usr/lib, itu aneh karena /bin& /sbindicari setelah /usr/bin& /usr/sbinmasuk PATH.
Bahkan jika jalur yang terdaftar oleh ldconfig -v | grep -Ev "^"$'\t' | sed "s/:$//g"dicari dari bawah ke atas, itu masih akan menjadi pemesanan miring karena direktori tambahan akan dicari setelah yang tepercaya sementara /libakan dicari setelah /usr/lib.
Jadi, bagaimana urutan ld.sopencarian jalur untuk perpustakaan? Mengapa /libdicari sebelumnya /usr/lib? Jika tidak, lalu mengapa direktori tambahan dicari /lib?