फाइलसिस्टम पदानुक्रम मानक - खट्टा काम करने के लिए कहां रखा जाए?


9

मेरे पास कुछ बैश स्क्रिप्ट हैं जो सिस्टम की जांच करती हैं। ये स्क्रिप्ट एक फ़ाइल / etc / healthchecks / config से स्रोत कॉन्फ़िगरेशन विकल्प।

कॉन्फ़िगरेशन फ़ाइल के साथ, मेरे पास एक साझा फ़ंक्शन फ़ाइल है। स्क्रिप्ट को उस फ़ाइल को स्रोत करने और उसमें फ़ंक्शन चलाने में सक्षम होना चाहिए।

Filesystem पदानुक्रम मानक के आधार पर, मुझे साझा फ़ंक्शंस फ़ाइल कहाँ रखनी चाहिए? यह एक कॉन्फ़िगरेशन नहीं है, इसलिए ऐसा नहीं लगता है कि यह / etc से संबंधित है, लेकिन यह भी निष्पादित नहीं किया जा रहा है / usr / bin गलत लगता है। शायद / usr / lib?

जवाबों:


7

आपको अपने healthchecksनिष्पादनों को / usr / स्थानीय / बिन में या / ऑप्ट / बिन में रखना चाहिए । यदि आप देखते हैं कि आपका फ़ोल्डर / ऑप्ट खाली है, तो इसका मतलब है कि आपका लिनक्स वितरण इसका उपयोग नहीं करता है। तो, उपयुक्त स्थान होगा / usr / स्थानीय।

/ usr / लोकल और / ऑप्ट वे हैं जहाँ हर "मैनुअल" पैकेज / प्रोग्राम को रखा जाना चाहिए। / usr संकुल प्रबंधकों (यानी, dpkg) द्वारा प्रबंधित संकुल के लिए है। / ऑप्ट FHS के अनुसार मैनुअल पैकेज के लिए "मानक स्थान" है, लेकिन इसके बजाय डेबियन डिस्ट्रोस / यूएसआर / स्थानीय का उपयोग करें।

कॉन्फ़िगरेशन फ़ाइलों के लिए, उन्हें / usr / स्थानीय / आदि पर रखा जाना चाहिए, क्योंकि / etc स्वचालित पैकेज और अन्य सिस्टम प्रोग्राम की कॉन्फ़िगरेशन फ़ाइलों के लिए है।

आपके साझा किए गए कार्यों के लिए सही जगह तो / usr / स्थानीय / शेयर (/ usr / साझा स्वचालित पैकेजों की साझा फ़ाइलों के लिए है)। प्रत्येक फ़ाइल जिसे केवल-पढ़ने के लिए डिज़ाइन किया गया है और जो कि आर्क्विक्ट्योर से स्वतंत्र है / usr / share या / usr / local / share (यदि वे "स्वचालित" या "मैनुअल" पैकेजों के स्वामी हैं) से संबंधित हैं।

/ usr / lib डायनामिक और स्टैटिक बाइनरी लाइब्रेरी (.so या .A) के लिए है, न कि "व्याख्यात्मक" लाइब्रेरी / फंक्शन के लिए।

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

यदि किसी दिन आप अपने पैकेज के लिए एक आधिकारिक रिपॉजिटरी बनाते हैं healthchecks, तो आप अपने / usr / स्थानीय / स्वास्थ्य जांच सामग्री को / usr / healthchecks और / etc / healthchecks पर माइग्रेट कर सकते हैं।


2
मैंने आगे बढ़कर अपना उत्तर हटा दिया क्योंकि 1) आपका विषय काफी अच्छी तरह से शामिल है, और 2) libexecतकनीकी रूप से अभी तक FHS का हिस्सा नहीं है। यह FHS के 3.0 ड्राफ्ट और रेडहैट के अवलोकन में मौजूद है , लेकिन तकनीकी रूप से अभी तक FHS का हिस्सा नहीं है। (यदि आप चाहते हैं, तो मूल रूप से इसका उपयोग करें)
एंड्रयू बी

1

मैं आमतौर पर इन आरक्षित प्रणाली क्षेत्रों के बाहर साइट विशिष्ट चीजों को रखने का प्रयास करता हूं। आप अपने स्वयं के शीर्ष-स्तरीय निर्देशिका पदानुक्रम का उपयोग करने पर विचार कर सकते हैं, जब सिस्टम क्षेत्रों का उपयोग करके विशेष साइट फ़ाइलों को सिस्टम विकास के दौरान आसानी से खो या भुला दिया जा सकता है। एक और संभावना हो सकती है / usr / स्थानीय / आदि .....

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