Bu bir kopya değil, çünkü bu kullandığımda fark ettiğim bir tuhaflık ile uğraşıyor /etc/ld.so.conf
.
Dinamik bağlayıcının kitaplıkları aradığı yolları almak için komutu çalıştırıyorum ldconfig -v | grep -v "^"$'\t' | sed "s/:$//g"
. Ne zaman /etc/ld.so.conf
o listelenmiş yolları vardır. Önceki komuttan çıktı
/lib
/usr/lib
/lib
Önce ve sonra aradığını düşündüm /usr/lib
. Ben gibi yeni bir yol, eklediğinizde /usr/local/lib
için, /etc/ld.so.conf
yeniden çevrimi sonra ve /etc/ld.so.cache
çıkış dan ldconfig -v | grep -v "^"$'\t' | sed "s/:$//g"
olur
/usr/local/lib
/lib
/usr/lib
Bu garip buluyorum çünkü listelenen dizinlerin aranan sıra yukarıdan aşağıya doğru ise, ek dizinler önce /lib
ve aranır /usr/lib
. Ek dizinleri güvenilen dizinleri önce aranır Yani kendi başına garip değil, ama ne zaman /lib
önce aranır /usr/lib
çünkü garip olduğunu, /bin
ve /sbin
sonra aranır /usr/bin
& /usr/sbin
içinde PATH
.
Listelenen yollar ldconfig -v | grep -Ev "^"$'\t' | sed "s/:$//g"
aşağıdan yukarıya doğru aranmış olsa bile , yine de çarpık bir sıralama olurdu çünkü güvenilenlerden sonra ek dizinler aranacakken /lib
aranacaktı /usr/lib
.
Peki, ld.so
kitaplıkların yollarını arama sırası nedir? Neden daha /lib
önce aranıyor /usr/lib
? Değilse, neden ek dizinler aranır /lib
?