लिनक्स में प्रत्यय .d का क्या अर्थ है?


33

मैं अपाचे को कॉन्फ़िगर कर रहा हूं और डिफ़ॉल्ट रूप से मेरे पास निर्देशिकाएं हैं /etc/httpd/confऔर /etc/httpd/conf.d। अंतर क्या है?

इसके अलावा, आप जैसे कई अन्य निर्देशिकाओं में प्रत्यय देख सकते हैं /etc/init.d, /etc/cron.d, आदि ...


1
इसका मतलब है कि यह
डायनेमिक


8
@ Yes123: यह सिद्धांत /etc/apt/sources.list.d/, /etc/profile.dआदि के साथ अच्छी तरह से फिट नहीं है
मार्टिन 12

हाकोन और डेल्टरटे द्वारा दिए गए जवाबों से, मुझे आश्चर्य है कि क्या .dखड़ा है default। यह जानकारी के अनुसार नहीं है, लेकिन यह तर्कसंगत लगता है। शायद मैं आगे बढ़ सकता हूं और इस तरह से सोच सकता हूं?
स्मंदोली

जवाबों:


44

"डी" निर्देशिका के लिए खड़ा है और इस तरह की निर्देशिका कॉन्फ़िगरेशन फ़ाइलों का एक संग्रह है जो अक्सर मुख्य कॉन्फ़िगरेशन फ़ाइल में शामिल किए गए टुकड़े होते हैं। बिंदु स्थिरता बनाए रखने के लिए कॉन्फ़िगरेशन चिंताओं को कंपार्टमेंट करने के लिए है।

जब आपके पास /etc/httpd/confबनाम जैसे अंतर /etc/httpd/conf.dहोता है, तो यह आमतौर पर ऐसा /etc/httpd/confहोता है जिसमें विभिन्न प्रकार की कॉन्फ़िगरेशन फाइलें होती हैं, जबकि एक .dनिर्देशिका में एक ही कॉन्फ़िगरेशन फ़ाइल प्रकार के कई उदाहरण होते हैं (जैसे "लोड करने के लिए मॉड्यूल", "सक्षम करने के लिए साइट" आदि। ), और व्यवस्थापक आवश्यकतानुसार जोड़ और हटा सकते हैं।


4
लेकिन आत्मविश्वास भी एक निर्देशिका है, इसलिए यदि दोनों निर्देशिका हैं, तो क्या अंतर है? आप सर्वरफॉल्ट के बारे में सही हैं, क्या इसे स्थानांतरित करना संभव है?
SCL

भेद के बारे में थोड़ा जोड़ा, आशा है कि यह पूरी तरह से भ्रमित नहीं है :-)
Haakon

7
.D निर्देशिकाओं को भी सामान्य रूप से ऑटो लोड किया जाता है। उदाहरण के लिए, क्रोन cron.d की जाँच करेगा और वहाँ किसी भी फाइल को पार्स करेगा, मुख्य अपाचे कॉन्फिगर में कुछ ऐसा होगा जैसे "conf.d / * शामिल करें" जिसमें re.d पर conf.d के भीतर कोई भी फाइल शामिल होगी। यह मॉड्यूल के पैकेज प्रबंधन के लिए भी बहुत उपयोगी है। पैकेज प्रबंधक को फ़ाइलों को संपादित करने का प्रयास करने की आवश्यकता नहीं है, यह सिर्फ मॉड्यूल के लिए सही .d निर्देशिका में कॉन्फ़िगर करता है, और फिर सेवा को पुनः लोड करता है।
नियाल डोनेगन

13

इस निर्देशिका के नामकरण सम्मेलन के अस्तित्व के पीछे मुख्य प्रेरक शक्ति कॉन्फ़िगरेशन फ़ाइलों के आसान पैकेज प्रबंधन के लिए है। चाहे इसका आरपीएम, डिबेट या जो भी हो, यह एक फ़ाइल को एक निर्देशिका में छोड़ने में सक्षम होने के लिए बहुत आसान (और शायद सुरक्षित) है ताकि यह एक वैश्विक कॉन्फ़िगरेशन फ़ाइल को संपादित करने की कोशिश करने के बजाय एक कार्यक्रम के कॉन्फ़िगरेशन में शामिल हो।

इसका एक अच्छा उदाहरण लॉगोटेट है। निर्देशिका में /etc/logrotate.d व्यावहारिक रूप से आपके द्वारा इंस्टॉल किए गए प्रत्येक एप्लिकेशन के लिए फ़ाइलों को कॉन्फ़िगर करता है जो लॉग / इन / लॉग में रखता है । कुछ को सिसलॉग कॉन्फिगरेशन से जोड़ दिया जाता है क्योंकि लगभग हर सिस्टम में एक मैसेज, wtmp और लास्ट फाइल होती है। लेकिन यदि आप अपाचे को अपने सिस्टम में इंस्टॉल करते हैं, तो आपको अपाचे के लॉग को घुमाने के लिए स्वचालित रूप से कॉन्फ़िगरेशन को जोड़ने का एक आसान तरीका चाहिए, इसलिए यह http /etc/logrotate.d में http नामक एक फ़ाइल को ड्रॉप करता है।और उस निर्देशिका में फ़ाइलों को शामिल करने के लिए लॉगरोट को कॉन्फ़िगर किया गया है। प्रत्येक डेमॉन के लिए पैकेज के स्वामित्व में है और यदि आप पैकेज को हटाते हैं तो यह फ़ाइल को हटा देगा। यह मूल रूप से कॉन्फ़िगर फ़ाइलों को संशोधित करने का एक तरीका है। ध्यान दें कि इस कार्यक्रम द्वारा समर्थित होने की आवश्यकता है, यह स्वचालित नहीं है कि सिस्टम आपके लिए कुछ करता है या कुछ और। आमतौर पर जो प्रोग्राम होते हैं, उनमें एक निर्देश होता है, जिसमें यह निर्दिष्ट करना शामिल होता है कि वह डायरेक्टरी फाइलसिस्टम पर स्थित है।

logrotate.d भी पहली जगह हो सकती है जहां इस सम्मेलन का उपयोग init.d के बाहर किया गया था और init स्क्रिप्ट के लिए rc.d निर्देशिकाएं थीं ।

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