LD_LIBRARY_PATH को सभी उपयोगकर्ताओं और सिस्टम सेवाओं में कैसे निर्यात करें


12

मैं LD_LIBRARY_PATHसिस्टम सेवाओं और सभी उपयोगकर्ताओं को निर्यात करना चाहता हूं । सिस्टम सेवाओं को लॉगिन से पहले चलाया .bashrcजाता है , इसलिए लागू नहीं है।

इसे कैसे प्राप्त किया जाए?


1
क्या आप इस बात पर विस्तार से बता सकते हैं कि वास्तविक समस्या क्या है जिसे आप हल करने की कोशिश कर रहे हैं?
कीथ

जवाबों:


20

आप की जरूरत नहीं है। डिस्ट्रो के आधार पर डायरेक्टरी /etc/ld.so.confया नई फाइल को जोड़ें /etc/ld.so.conf.d/

उसके बाद, आपको ldconfigरूट के रूप में (कम से कम रेडहैट पर) चलना चाहिए ।

सावधानी के एक शब्द के रूप में, आपको सावधान रहने की आवश्यकता है कि आप किन पुस्तकालयों को सिस्टम साझा लाइब्रेरी पथ (पर्यावरण के माध्यम से, ld.so.conf, या in / usr / स्थानीय / lib) में जोड़ रहे हैं। विशेष रूप से, आप एक ही सोनमे के साथ एक ही लाइब्रेरी के दो अलग-अलग संस्करणों से सावधान रहें। उदाहरण के लिए, यदि आपके पास एक libfoo.0.1 (soname libfoo.0) dpkg / rpm / etc के माध्यम से स्थापित है, तो आप अपने कस्टम लाइब्रेरी डायरेक्टरी में एक libfoo.0.2 (भी soname libfoo.0) नहीं चाहते हैं।

(यह वास्तव में सिस्टम-वाइड एनवायरमेंट वेरिएबल को खींचना इतना आसान नहीं है। आप अधिकांश उपयोगकर्ता लॉगिन के साथ प्राप्त कर सकते हैं /etc/environment। लिपियाँ आपके इनिट सिस्टम पर निर्भर होंगी, लेकिन (उदाहरण के लिए) डेबियन पर sysv init के साथ, आप इसे /etc/default/rcSकुछ भी डाल सकते हैं । inittab से सीधे बाहर दौड़ें, ठीक है, मुझे नहीं लगता कि आप कर सकते हैं।)


@Bhamat मैं एक संपादित ओवरलैप के कारण अनुमान लगा रहा हूं, आप मेरे उत्तर से एक पैराग्राफ निकाल सकते हैं। मैं इसे वापस जोड़ दूँगा ..
derobert

नहींं, मैंने इसे केवल इसलिए हटा दिया क्योंकि "आपको पहले से ही इसे करने की आवश्यकता नहीं है" और यह बहुत अधिक संक्षिप्त है।
bahamat

@bahamat एडिट लॉग की जांच करें, unix.stackexchange.com/posts/46620/revisions ... मुझे लगता है कि क्या हुआ कि हम दोनों एडिट लिंक से टकराए , फिर मैंने अपना परिवर्तन (अतिरिक्त पैराग्राफ) जमा कर दिया, फिर आपने अपना परिवर्तन बदल दिया। (जो अतिरिक्त पैराग्राफ में शामिल नहीं था)। StackExchange की तरह लगता है इस का पता लगाने और जोर से चेतावनी दी है, लेकिन चाहिए जाहिरा तौर पर नहीं ...
derobert

नहीं, मैंने स्पष्ट रूप से उस अनुच्छेद को हटा दिया है क्योंकि मुझे लगा कि यह अनावश्यक है। मैंने कोई अन्य परिवर्तन नहीं किया। हमारे संपादन 6 मी के अलावा थे और जो मेरे बाद आया वह 12 मी बाद में था। यह कोई टकराव नहीं था।
bahamat

@Bhamat आह, एक संपादित टिप्पणी छोड़ने से भ्रम दूर हो जाता ...
derobert

3

आप फ़ाइल में हर पथ को /etc/ld.so.conf.dफिर से जोड़ सकते हैं :

ldconfig -v 

फिर उन्हें लोड करें।

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