क्या मैं अपने स्वयं के ld.so.cache का उपयोग कर सकता हूं?


14

ldconfig दो दिलचस्प विकल्प हैं:

-f conf
      Use conf instead of /etc/ld.so.conf.
-C cache
      Use cache instead of /etc/ld.so.cache.

मैंने /etc/ld.so.confअपने स्वयं के घर निर्देशिका की प्रतिलिपि बनाने की कोशिश की , और इसे अपने स्थानीय पुस्तकालयों जैसे /home/syockit/local/usr/libआदि आदि के लिए पथों को शामिल करने के लिए संपादित किया और भाग गया

ldconfig -f /home/syockit/ld.so.conf -C /home/syockit/ld.so.cache

और बाद में, यह पुष्टि करने के लिए कि पुस्तकालयों को कैश किया गया है, मैं भाग गया

ldconfig -f /home/syockit/ld.so.conf -C /home/syockit/ld.so.cache -p | less

और इसमें सिस्टम लाइब्रेरी सहित शीर्ष पर मेरे सभी पुस्तकालय शामिल हैं।

अब, मैं डिफ़ॉल्ट लिंकर इन दोनों का उपयोग करना चाहता हूं। लेकिन man ld.so, मुझे कस्टम .confया उपयोग करने में सक्षम होने का कोई उल्लेख नहीं दिखता है .cache। तो ldconfigफिर ऊपर के दो विकल्पों में से क्या बात है ?

जवाबों:


9

मुझे लगता है कि आपके प्रश्न का उत्तर नहीं है, हालांकि आप उसी चीज को अन्य तरीकों से पूरा कर सकते हैं।

आदमी में ld.so, मैं कस्टम .conf या .cache का उपयोग करने में सक्षम होने का कोई उल्लेख नहीं देखता

यह सच है, लेकिन इसमें उल्लेख किया गया है $LD_LIBRARY_PATHऔर --library-path, पूर्व में अधिक उपयोगी है।

उपरोक्त दो विकल्पों में ldconfigसे क्या है?

तो आप सिस्टम को ओवरराइट किए बिना एक कैश बना सकते हैं, और सिस्टम के कॉन्फिडेंस का उपयोग किए बिना।


... सिर्फ इसके लिए? या यह सिस्टम फोरेंसिक के लिए है?
syockit

1
यह एक सिस्टम इमेज या
चेरोट

5

/etc/ld.so.confकेवल ldconfig(कैश जेनरेशन प्रोग्राम) ld.so(डायनेमिक लोडर) द्वारा नहीं पढ़ा जाता है । आप कॉन्फ़िगरेशन फ़ाइल का स्थान बदल सकते हैं यदि आप एक कैश उत्पन्न करना चाहते हैं जो सिस्टम डिफ़ॉल्ट से अलग है।

/etc/ld.so.cacheद्वारा पढ़ा जाता है ld.soऔर आप इसे किसी भिन्न स्थान से पढ़ नहीं सकते। फिर भी यह एक अलग आउटपुट स्थान को पास करने के लिए उपयोगी हो सकता है ldconfig। सबसे आम उपयोग का मामला संभवतः चिरोट वातावरण है। आप एक वैकल्पिक रूट पर ldconfig -r /some/rootचलाने के लिए उपयोग कर सकते हैं ldconfig, और आउटपुट को जहां चाहें (उस रूट के अंदर या बाहर) डाल सकते हैं। आपको आउटपुट को /some/root/etc/ld.so.cacheया तो बाद में कॉपी करना होगा या वहां कॉपी करना होगा। अन्य काफी अस्पष्ट उपयोग के मामले हैं, उदाहरण के लिए यदि आप ldconfigएक अनपेक्षित उपयोगकर्ता (जो लिख नहीं सकते /etc/ld.so.cache) के रूप में चलाना चाहते हैं और बाद में फ़ाइल को स्थानांतरित कर सकते हैं ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.