फाइलसिस्टम पदानुक्रम मानक में, `/ var / lib / के रूप में कहा गया है (इटैलिक में सबसे महत्वपूर्ण भाग):
5.8.1 उद्देश्य
यह पदानुक्रम एक आवेदन या प्रणाली से संबंधित राज्य की जानकारी रखता है। राज्य की जानकारी वह डेटा है जिसे वे चलाते समय संशोधित करते हैं, और जो एक विशिष्ट होस्ट से संबंधित होता है। पैकेज के संचालन को कॉन्फ़िगर करने के लिए उपयोगकर्ताओं को कभी भी फाइलों को संशोधित करने की आवश्यकता नहीं होनी चाहिए।
राज्य की जानकारी आम तौर पर एक आवेदन की स्थिति (या अंतर-संबंधित अनुप्रयोगों के एक समूह) को एक ही आवेदन के विभिन्न उदाहरणों के बीच और बीच में संरक्षित करने के लिए उपयोग की जाती है। राज्य की जानकारी आम तौर पर रिबूट के बाद वैध होनी चाहिए, लॉगिंग आउटपुट नहीं होना चाहिए, और स्पूल किए गए डेटा नहीं होना चाहिए।
एक एप्लिकेशन (या अंतर-संबंधित एप्लिकेशन का एक समूह) को अपने डेटा के लिए एक उपनिर्देशिका / var / lib का उपयोग करना होगा। एक आवश्यक उपनिर्देशिका, / var / lib / misc है, जो राज्य फ़ाइलों के लिए अभिप्रेत है, जिन्हें एक उपनिर्देशिका की आवश्यकता नहीं है; अन्य उपनिर्देशिकाएं केवल मौजूद होनी चाहिए, यदि प्रश्न में आवेदन वितरण में शामिल है।
/ var / lib / वह स्थान है जिसका उपयोग सभी वितरण पैकेजिंग समर्थन के लिए किया जाना चाहिए। विभिन्न वितरण अलग-अलग नामों का उपयोग कर सकते हैं, निश्चित रूप से।
संक्षेप में: / var / lib / स्थानीय रूप से उपयोग किए जाने वाले डेटा के लिए है।
तो यह डेटाबेस के डेटा को / var / lib / {mysql | postgress} / निर्देशिका में डालने के लिए सही समझ में आता है, लेकिन ... FHS एक मानक है जिसे ज्यादातर वितरण द्वारा उपयोग के लिए बनाया गया है । एक उपयोगकर्ता के रूप में आप जहां चाहें अपना डेटा डालने के लिए स्वतंत्र हैं और यह ज्यादातर राय का विषय है।
आप "स्थानीय" शब्द को गलत समझ रहे हैं। / usr / लोकल / बिन / सिस्टम सॉफ्टवेयर के लिए नहीं है बल्कि आपके खुद के सॉफ्टवेयर के लिए है (मूल रूप से "लोकल" में कुछ भी सिस्टम द्वारा छुआ नहीं जाना चाहिए। जैसा कि FHS द्वारा समझाया गया है:
/ Usr / स्थानीय /
4.9.1 प्रयोजन
/ Usr / स्थानीय पदानुक्रम स्थानीय रूप से सॉफ़्टवेयर स्थापित करते समय सिस्टम व्यवस्थापक द्वारा उपयोग के लिए है। सिस्टम सॉफ्टवेयर के अपडेट होने पर इसे अधिलेखित होने से सुरक्षित होना चाहिए। इसका उपयोग उन कार्यक्रमों और डेटा के लिए किया जा सकता है जो होस्ट के समूह के बीच साझा करने योग्य हैं, लेकिन इन / usr में नहीं पाए जाते हैं। स्थानीय रूप से स्थापित सॉफ़्टवेयर को / usr / usr के बजाय / usr के भीतर रखा जाना चाहिए जब तक कि इसे / usr में सॉफ़्टवेयर को बदलने या अपग्रेड करने के लिए स्थापित नहीं किया जा रहा हो।
सिस्टम सॉफ़्टवेयर से स्थापित एक निष्पादन योग्य को कभी भी स्थानीय नहीं जाना चाहिए।
अब / usr / lib / के लिए ।
4.7.1 उद्देश्य
/ usr / lib में ऑब्जेक्ट फ़ाइलें, लाइब्रेरीज़ और आंतरिक बायनेरी शामिल हैं, जो उपयोगकर्ताओं या शेल स्क्रिप्ट द्वारा सीधे निष्पादित करने के लिए अभिप्रेत नहीं हैं। एप्लिकेशन / usr / lib के तहत एक एकल उपनिर्देशिका का उपयोग कर सकते हैं। यदि कोई एप्लिकेशन उपनिर्देशिका का उपयोग करता है, तो अनुप्रयोग द्वारा विशेष रूप से उपयोग किए जाने वाले सभी आर्किटेक्चर-निर्भर डेटा को उस उपनिर्देशिका के भीतर रखा जाना चाहिए।
पोस्टग्रैक्कल शायद बूट पर शुरू किया गया एक डेमन है? यदि ऐसा है तो इसे यहाँ रखना समझदारी है। आप स्वयं आदेश का उपयोग करने के लिए नहीं मानते हैं, बल्कि एक सेवा शुरू करते हैं। / Usr / lib / में फ़ाइलों का अपना उपयोगकर्ता और समूह और / या एक डेमन है जो / var / lib (केवल mysqld तक पहुँच / var / lib / mysql / उपयोग कर सकता है) को प्रतिबंधित करता है; यह उसी के लिए समान होगा PostgresSQL)