क्या ~ / .config और ~ / .cache जैसी निर्देशिकाओं पर आधिकारिक प्रलेखन है?


13

मैंने इन निर्देशिकाओं को कई अनुप्रयोगों द्वारा उपयोग किया जा रहा है और अब अपने ऐप के लिए इनका उपयोग करने पर विचार कर रहा हूं। मुझे कैसे पता चलेगा कि यह आधिकारिक रूप से समर्थित फ़ोल्डर है और प्रति उपयोगकर्ता कैश / कॉन्फिगर के लिए महीने के स्थान का स्वाद नहीं है?

मैं Googling रहा हूं और Ubuntu से कुछ आधिकारिक खोज रहा हूं, लेकिन कोई फायदा नहीं हुआ, हो सकता है कि किसी और को इस दस्तावेज़ के उचित खोज शब्द या स्थान का पता हो। क्या यह कुछ है जिसे मुझे सिर्फ एक संयुक्त राष्ट्र के मानक अभ्यास स्थान के रूप में स्वीकार करना चाहिए?


"शायद किसी और को उचित खोज शब्द पता है": मैं उनके उपयोग के लिए आधिकारिक दस्तावेज़ीकरण के बारे में निश्चित नहीं हूं, लेकिन ये उन उदाहरणों में डॉटफ़ाइल्स, अधिक विशेष रूप से डॉट फ़ोल्डर माना जाता है । वे डिफ़ॉल्ट रूप से छिपे हुए हैं और आमतौर पर उपयोगकर्ता की वरीयताओं (~ / .config) और अन्य "समर्थन" फ़ाइलों को सहेजने के लिए उपयोग किया जाता है जैसे (~ /। Cache)।
नवम

2
"उबंटू से आधिकारिक" गलत जगह। यह फ़्रीडेस्कटॉप संगठन द्वारा परिभाषित किया गया है ताकि -डेडस्कोप निर्भर हो। उबंटू ही नहीं। ओह और ये गाइड हैं।
रिनविंड

1
@SergiyKolodyazhnyy यह दिलचस्प है कि इतिहास की चर्चा कैसे हुई कि डॉटफ़ाइल्स कैसे आए, लेकिन व्यवहार में डॉटफ़ाइल्स / डॉटफ़ॉल्डर्स फ़ाइल प्रबंधकों द्वारा डिफ़ॉल्ट रूप से छिपे (दिखाई नहीं देते) और जैसे कमांडों को बैश करते हैं dir। इस तरह, हाँ वे बिल्कुल "छिपे हुए" हैं। फाइलों को इस तरह से छिपाना अंत उपयोगकर्ता द्वारा गलती से परिवर्तित / हटाए जाने से रोकने के लिए एक अच्छा उद्देश्य प्रदान करता है - यही कारण है कि उनका उपयोग अभी भी सर्वव्यापी रूप से किया जाता है। मैं इस बात से सहमत हूं कि डॉटफ़ाइल्स का उपयोग सुरक्षा के लिए नहीं किया जाना चाहिए, इस अर्थ में कि उन्हें खोजना / पढ़ना / बदलना असंभव नहीं है।
नवम

3
@SergiyKolodyazhnyy कुछ विधियाँ अपने आप में 100% प्रभावी हैं। जहां तक ​​यह दावा करना कि डॉटफ़ाइल्स "किसी भी तरह से छिपे हुए" नहीं हैं, तब तक यह काफी हद तक गलत है, क्योंकि यह मुख्य कारण है कि उनका उपयोग किया जाता है और पूर्ववर्ती जोड़ने के लिए एकमात्र लाभ है .। क्या वे पूरी तरह से अदृश्य हैं? नहीं, और उन्हें नहीं होना चाहिए क्या उन्हें अभी भी पढ़ा / लिखा जा सकता है? हां, और उन्हें चाहिए। क्या वे ज्यादातर मामलों में अदृश्य (छिपे हुए) हैं? जी हाँ - यह बात है
नमत

1
@ नाथ ठीक है, चलो असहमत होने के लिए सहमत हैं :) इसके अलावा टिप्पणी अनुभाग व्यापक चर्चा के लिए नहीं है।
सर्गी कोलोडियाज़नी

जवाबों:


19

हां, एक मानक है: ये freedesktop.org द्वारा निर्दिष्ट हैं और XDG बेस डायरेक्टरी स्पेसिफिकेशन का हिस्सा हैं ।

config-spec केवल बुनियादी आवश्यकताओं की रूपरेखा देता है, लेकिन विवरण बेस डायरेक्टरी विनिर्देशों में हैं। ~/.configऔर ~/.cacheनिर्देशिका डिफ़ॉल्ट जब तक अन्यथा कॉन्फ़िगर किया गया हैं:

वरीयता क्रमबद्ध आधार निर्देशिकाओं का एक सेट है, जिसके लिए विन्यास फाइल खोजी जानी चाहिए। निर्देशिका का यह सेट पर्यावरण चर $ XDG_CONFIG_DIRS द्वारा परिभाषित किया गया है।

एक एकल आधार निर्देशिका है जिसके सापेक्ष उपयोगकर्ता-विशिष्ट गैर-आवश्यक (कैश्ड) डेटा लिखा जाना चाहिए। यह निर्देशिका पर्यावरण चर $ XDG_CACHE_HOME द्वारा परिभाषित की गई है।

...

$ XDG_CONFIG_HOME आधार निर्देशिका को परिभाषित करता है, जिसके लिए उपयोगकर्ता विशिष्ट कॉन्फ़िगरेशन फ़ाइलों को संग्रहीत किया जाना चाहिए। यदि $ XDG_CONFIG_HOME या तो सेट या खाली नहीं है, तो $ HOME / -config के बराबर डिफ़ॉल्ट का उपयोग किया जाना चाहिए।

...

$ XDG_CACHE_HOME आधार निर्देशिका को परिभाषित करता है जिसके लिए उपयोगकर्ता विशिष्ट गैर-आवश्यक डेटा फ़ाइलों को संग्रहीत किया जाना चाहिए। यदि $ XDG_CACHE_HOME या तो सेट या खाली नहीं है, तो $ HOME / -cache के बराबर डिफ़ॉल्ट का उपयोग किया जाना चाहिए।

आप इन विशिष्टताओं को देख सकते हैं कि ज्यादातर राज्य जहां डेटा संग्रहीत किया जाना चाहिए, किस पर्यावरण चर का उपयोग किया गया है, और किस तरीके से (डेस्कटॉप-तटस्थ, कुशल, आदि), लेकिन अधिकांश डेस्कटॉप इसके "भाग" को लागू करने में स्वतंत्र हैं। GNOME- आधारित डेस्कटॉप का उपयोग करेगा gsettingsजहां KDE उपयोगकर्ता उसी के माध्यम से उपयोग कर सकते हैं kwriteconfig, लेकिन वे दोनों ~/.configप्रक्रिया में निर्देशिका पर भरोसा करेंगे


प्रश्न प्रमुख बिंदु

मुझे कैसे पता चलेगा कि यह आधिकारिक रूप से समर्थित फ़ोल्डर है और प्रति उपयोगकर्ता कैश / कॉन्फिगर के लिए महीने के स्थान का स्वाद नहीं है?

ये निर्देशिका आधिकारिक दस्तावेज में दिखाई देती है और फाइलसिस्टम पदानुक्रम मानक भी इनका उल्लेख करता है। यह आधिकारिक प्रलेखन है, इसलिए फ़ोल्डर्स आधिकारिक तौर पर समर्थित हैं।

क्या यह कुछ है जिसे मुझे सिर्फ एक संयुक्त राष्ट्र के मानक अभ्यास स्थान के रूप में स्वीकार करना चाहिए?

आपके द्वारा बनाए जा रहे ऐप पर निर्भर करता है। क्या ऐप प्रति उपयोगकर्ता के आधार पर कॉन्फ़िगर करने योग्य है या सिस्टम के माध्यम से लगातार काम करता है? एफएचएस हमें बताता है कि सिस्टम-वाइड सामान के लिए हमें उपयोग करना चाहिए /etcया /usr/local, लेकिन उपयोगकर्ता-विशिष्ट कॉन्फ़िगरेशन के लिए एक्सडीजी निर्देशिकाओं का उपयोग किया जाना चाहिए - ~/.cacheऔर ~/.config। बेशक, यदि एप्लिकेशन उपयोगकर्ता-विशिष्ट सेटिंग्स पर निर्भर नहीं है, तो प्रति उपयोगकर्ता निर्देशिका के बजाय / var / cache का उपयोग किया जा सकता है। बेशक, आपके पास हमेशा एक ~/.appname.confफ़ाइल, ~/.appname.db या ~/.appname/कॉन्फ़िगरेशन और कैश रखने के लिए एक निर्देशिका हो सकती है, लेकिन यह गैर-मानक होगा; "बुरा" नहीं - सिर्फ गैर-मानक।

यह सभी देखें


अहम् क्या तुमने मेरे सामने यह पोस्ट किया? या दौरान > :)
रिनविंड

@Rinzwind आपके उत्तर से ठीक पहले :) टाइम लाइन देखिए askubuntu.com/posts/1151791/timeline
Sergiy Kolodyazhnyy

बीमार आप इस एक है: =)
Rinzwind

आह भयानक, मुझे गहराई से खोदना चाहिए था, जानकारी के लिए धन्यवाद।
डैनी ए

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