এটি কোনও সদৃশ নয় কারণ এটি ব্যবহার করার সময় আমি লক্ষ্য করেছি এমন একটি অদ্ভুততার সাথে সম্পর্কিত /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?