यह कोई डुप्लिकेट नहीं है क्योंकि यह मेरे द्वारा उपयोग किए जाने पर मेरे द्वारा देखी गई ख़ासियत से निपट रहा है /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में PATH।
यहां तक कि अगर सूचीबद्ध किए ldconfig -v | grep -Ev "^"$'\t' | sed "s/:$//g"गए रास्तों को नीचे से ऊपर तक खोजा गया था, तब भी यह एक तिरछा क्रम होगा क्योंकि अतिरिक्त निर्देशिकाओं को विश्वसनीय लोगों के बाद खोजा जाएगा, जबकि /libबाद में खोजा जाएगा /usr/lib।
तो, वह कौन सा आदेश है जो ld.soपुस्तकालयों के लिए मार्ग खोजता है? /libपहले क्यों खोजा गया है /usr/lib? यदि यह नहीं है, तो अतिरिक्त निर्देशिकाओं की खोज आखिर क्यों की जाती है /lib?