क्यों / tmp को / प्राइवेट / tmp के लिए सहानुभूति दी जाती है?


37

मैक ओएस एक्स पर /tmpएक सहिष्णुता क्यों है /private/tmp? दूसरे शब्दों में, /tmpलिनक्स या बीएसडी की तरह सिर्फ एक नियमित निर्देशिका क्यों नहीं है ? मैं समझता हूं कि यह कैसे काम करता है और मुझे इससे कोई आपत्ति नहीं है, मैं इसके पीछे तर्क (ऐतिहासिक) में दिलचस्पी रखता हूं।

जवाबों:


33

AIUI यह नेक्स्टस्टेप (जो ओएस एक्स पर आधारित है) से एक होल्डओवर है, और नेक्स्टस्टेप ने नेटबूटिंग का समर्थन करने के लिए ऐसा किया। यह विचार था कि आप नेटवर्क-होस्ट किए गए वॉल्यूम से बूट कर सकते हैं (शायद केवल-पढ़ने के लिए, और निश्चित रूप से अन्य कंप्यूटरों के साथ साझा किया गया है), और बूट प्रक्रिया में प्रारंभिक / निजी पर एक स्थानीय (लिखने योग्य) वॉल्यूम माउंट कर सकते हैं; जैसा कि जी ने उल्लेख किया है, यह / var / tmp के रनटाइम-संशोधन के साथ-साथ / आदि में प्रति-कंप्यूटर सेटिंग्स की अनुमति देता है।

इसकी अब और आवश्यकता नहीं है, क्योंकि Apple का वर्तमान नेटबूट सिस्टम बूट वॉल्यूम पर कहीं भी बदलावों को संग्रहीत करने के लिए एक छाया डिस्क छवि का उपयोग करता है। लेकिन कुछ प्रोग्राम्स / डॉक्स / आदि अब मान लेते हैं कि फाइल्स अंडर / प्राइवेट रहती हैं, इसलिए उन्हें वापस स्विच करना बहुत मुश्किल होगा।


"लेकिन कुछ कार्यक्रमों / डॉक्स / आदि" लोलपुन (/ / / निजी / आदि के लिए सहानुभूति है)
केविन व्हीलर

5

मैंने हमेशा एक ही बात को सोचा है। मुझे इसका समर्थन करने के लिए कोई दस्तावेज नहीं मिल रहा है, लेकिन आम तौर पर इस पैटर्न का उपयोग फ़ाइलों को किसी अन्य वॉल्यूम (जैसे हार्ड ड्राइव) पर संग्रहीत करना आसान बनाने के लिए किया जाता है। यह ड्राइव को एक स्थान पर फ़ाइल सिस्टम में माउंट किया जा सकता है (जैसे संलग्न)। उदाहरण के लिए ड्राइव पर रखा जाता है जब /privateऔर उसके बाद फ़ोल्डरों /etc, /tmpऔर /varउसके बाद सभी है कि अन्य ड्राइव पर स्थित हैं।

मैं यह नहीं कह सकता कि यह क्यों फायदेमंद होगा। यह ध्यान देने योग्य है, तथापि, कि इन तीन फ़ोल्डर्स इस तरह के विन्यास, अस्थायी, लॉग, क्षणिक और डेटाबेस फ़ाइलों के बजाय निष्पादन योग्य कोड में निहित के रूप में "डाटा" फ़ाइलें हो /bin, /sbinऔर /usrफ़ोल्डरों।


1

ऐतिहासिक कारण के बारे में निश्चित नहीं है, लेकिन ओएस एक्स हमेशा विशिष्ट यूनिक्स संरचना को "पुनर्गठित" करता है। /tmpकेवल एक चीज नहीं है जो कि जाती है /private, यह भी है /etcऔर /var

हो सकता है कि अधिक ओएस एक्स पृष्ठभूमि वाला कोई व्यक्ति अधिक उचित कुछ के साथ आ सकता है।


-1

/tmp/private/etcस्पष्ट रूप से अलग 2 फाइल सिस्टम बनाए रखने के लिए एक प्रतीकात्मक लिंच है :

  • / जिसे केवल पढ़ने के लिए रखा जा सकता है, किसी आकस्मिक या अवांछित संशोधन से बचाने के लिए, और इसे हमेशा बढ़ती फाइलों (लॉग और अस्थायी फ़ाइलों) से भरे रहने से बचाने के लिए,

  • /private जिसे रीड-राइट के रूप में माउंट किया जा सकता है, और जो किसी भी डायरेक्टरी को मोडिफाई करने योग्य फ़ाइलों को रखता है।

यदि आप देखते हैं तो आप /3 निर्देशिकाओं को नोटिस करेंगे जो इसी कारण से समान प्रतीकात्मक लिंक हैं:

cd /
ls -al | grep '> private'

रीड-राइट और रीड-ओनली फाइलसिस्टम के बीच एक्सेस की यह जुदाई वास्तव में (MacOS X में) उपयोग नहीं की जाती है, लेकिन इस सुरक्षा पृथक्करण को प्राप्त करने के लिए सब कुछ है।

कुछ व्यवस्थापक /private उचित आकार और उचित बढ़ते विकल्पों (विशेष रूप से nosuid) के साथ एक विशिष्ट फाइल सिस्टम को परिभाषित करके इस सुरक्षा पृथक्करण को लागू कर रहे हैं ।

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