/ Etc / पर्यावरण और / etc / प्रोफ़ाइल में क्या अंतर है?


25

मैं समझता हूं कि पूर्व को उत्तरार्द्ध से पहले लोड किया गया है, लेकिन वैचारिक अंतर क्या है? क्या कोई अच्छा कारण है जो मुझे एक में कुछ चर निर्धारित करना चाहिए और दूसरे में नहीं? इस तथ्य को छोड़कर कि /etc/environmentसिस्टम द्वारा संचालित सभी प्रक्रियाओं के लिए पर्यावरण स्थापित करने के लिए अस्तित्व में प्रतीत होता है, जबकि /etc/profileउपयोग किए गए वातावरण को स्थापित करने और लॉगिन शेल से प्रचारित करने के लिए सही है?

इसके अलावा, एक साइड नोट पर, कौन सा कार्यक्रम पारंपरिक रूप से पढ़ता है /etc/environment? क्या यह POSIX से संबंधित है, या सिर्फ एक सम्मेलन?

जवाबों:


11

उबंटू की मदद से निकालें

/etc/environment- यह फाइल विशेष रूप से सिस्टम-वाइड एनवायरनमेंट वेरिएबल सेटिंग्स के लिए है। यह एक स्क्रिप्ट फ़ाइल नहीं है, बल्कि इसमें असाइनमेंट एक्सप्रेशन, प्रति पंक्ति एक है। विशेष रूप से, यह फ़ाइल सिस्टम-वाइड लोकेल और पथ सेटिंग्स को संग्रहीत करती है।

/etc/profile - यह फ़ाइल तब भी निष्पादित की जाती है जब भी एक बैश लॉगिन शेल दर्ज किया जाता है (जैसे कंसोल से या ssh से लॉगिंग करते समय), साथ ही डेस्कटॉप सत्र लोड होने पर DisplayManager द्वारा।

मुझे लगता है कि यह सब एक सम्मेलन है, लेकिन एक मानक से दूर नहीं है (मुझे सिस्टम की तरह रेडहैट के बारे में नहीं पता है)।


यह RedHat (7.6 के रूप में) पर काम करता है। '/ Etc / पर्यावरण' खाली है मेरा सर्वर था और VAR=valueएक शेल (फिर से लॉगिन के बाद) में सेटिंग प्रभावी हुई।
DKroot

39

/etc/environmentPOSIX का हिस्सा नहीं है, यह PAM (प्लगगेट ऑथेंटिकेशन मॉड्यूल) से संबंधित है, और केवल PAM समर्थन के साथ संकलित प्रोग्राम इसका उपयोग करने में सक्षम हैं (मुख्य रूप से लॉगिन सिस्टम, जो बाद में शेल या उपयोगकर्ता वातावरण शुरू करते हैं)। इसका मतलब यह है कि यह आपके शेल द्वारा भी पढ़ा नहीं गया है।

आप का उपयोग कर कार्यक्रमों को देख सकते हैं /etc/environmentके साथ grep -l pam_env /etc/pam.d/*

तो /etc/environmentउन कार्यक्रमों के लिए चर सेट करने के लिए उपयोग किया जाता है जो आमतौर पर शेल से शुरू नहीं होते हैं।

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