लिनक्स में, विन्यास फाइल के लिए फोल्डर हमेशा क्यों रखे जाते हैं *.d?
कहो
/etc/init.d/etc/grub.d/etc/apparmor.d
लिनक्स में, विन्यास फाइल के लिए फोल्डर हमेशा क्यों रखे जाते हैं *.d?
कहो
/etc/init.d/etc/grub.d/etc/apparmor.dजवाबों:
.dनिर्देशिका के लिए खड़ा है। यह एकल कॉन्फ़िगरेशन फ़ाइल के आधार पर कॉन्फ़िगरेशन से निर्देशिका-आधारित कॉन्फ़िगरेशन को अलग करने के लिए एक सम्मेलन है। अक्सर आप दोनों में कुछ क्षमता होगी, उदाहरण के लिए /etc/logrotate.confऔर /etc/logrotate.d/।
यह आमतौर पर ऐसा भी होता है कि ऐसी निर्देशिका में सभी (यथोचित नाम) फाइलें स्वचालित रूप से एकल कॉन्फ़िगरेशन में संयुक्त हो जाती हैं। पैकेज तब उस तरह एक निर्देशिका में फ़ाइलों को स्थापित कर सकते हैं, और वे स्वचालित रूप से उपयोग किए जाएंगे। फिर, /etc/logrotate.d/एक अच्छा उदाहरण है। विवश होकर, कॉन्फ़िगरेशन फ़ाइलों की एक निर्देशिका जो .dसंभवतः समाप्त नहीं होती है, बस उसी पैकेज से संबंधित कॉन्फ़िगरेशन फ़ाइलों का यादृच्छिक कोलाजेशन होता है, और आप कैसे संसाधित होते हैं, इसके बारे में कुछ भी अनुमान नहीं लगा सकते हैं /etc/zsh/।
पीटर के उत्तर पर थोड़ा विस्तार करने के लिए, यह .d पैटर्न कॉन्फ़िगरेशन फ़ाइलों को जोड़ने और हटाने के लिए सरल अनुमति देता है: किसी दिए गए .d कार्यक्रम के लिए, व्यवस्थापक को संपादित करने के बिना बस .d निर्देशिका में एक फ़ाइल को कॉपी या निकालने की क्षमता होती है। एक मौजूदा विन्यास फाइल।
उदाहरण के लिए, यदि आप अपने सिस्टम में क्रोन जॉब जोड़ना चाहते हैं, तो आप अपने पसंदीदा टेक्स्ट एडिटर का उपयोग करके अपने नए शेड्यूल किए गए जॉब के साथ / etc / crontab को संपादित कर सकते हैं। यह एकल सर्वर या मुट्ठी भर सर्वरों के लिए ठीक है, लेकिन यदि आप डेटासेंटर / क्लाउड वातावरण में काम करते हैं, तो 100 सर्वरों पर ऐसा करने का प्रयास करें। उत्तरार्द्ध मामले में, आप एक अस्थायी फ़ाइल के साथ सीड की तरह कुछ का उपयोग कर सकते हैं या एक उपकरण जैसे पूर्व में फ़ाइल लिखने के लिए पूर्व की तरह है, लेकिन यहां थोड़ा जोखिम है अगर आपने अपनी कमान ठीक से तैयार नहीं की है। वास्तव में, मैंने देखा है कि इन एडिट कमांड में टाइपो के कारण फाइल को पूरी तरह से नैक किया गया है।
अब अपनी अनुसूचित नौकरियों के साथ /etc/cron.d में फ़ाइल रखने की तुलना करें। आप बस इसमें फ़ाइल कॉपी करते हैं, और अगली बार क्रोन चलता है (आमतौर पर हर मिनट), यह नई फ़ाइल को देखेगा और उसके अनुसार स्रोत / प्रक्रिया करेगा। यह पीटर के रूप में महान है यदि आप अपने स्वयं के पैकेज रोल करना पसंद करते हैं: /etc/cron.d फ़ाइल पैकेज संग्रह में एक और फ़ाइल है जो इंस्टॉल हो जाती है। पैकेज को हटाने पर, cron.d फ़ाइल हटा दी जाती है और आपका क्रोन अब नहीं चलता है।
अंत में, .d डायरेक्टरी वाले प्रत्येक प्रोग्राम का अपना कार्यान्वयन हो सकता है जहाँ तक कि फाइलें कैसे खानी हैं, जैसे कि ऑर्डर और कॉन्फ़िगरेशन ओवरराइड करना शामिल है। इसलिए जब भी आप एक .d निर्देशिका में एक फ़ाइल रखने का निर्णय लेते हैं, तो हमेशा यह सत्यापित करें कि यह वही है जो आप चाहते हैं और यह मानकर काम न करें कि यह किसी अन्य प्रोग्राम के लिए करता है जिसमें एक .d निर्देशिका है।