लिनक्स में / etc / mtab क्या है?


30

/etc/mtabलिनक्स में क्या है ?

इसकी आवश्यकता क्यों है और इसे होने के फायदे क्या हैं?



मुझे यह निराशाजनक लगता man 5 mtabहै कि गायब है।
वीजुन झोउ

जवाबों:


51
% फ़ाइल / etc / mtab
/ etc / mtab: प्रतीकात्मक लिंक ../proc/self/mounts पर
% फ़ाइल / खरीद / mounts
/ proc / mounts: स्व / mounts के लिए प्रतीकात्मक लिंक
%

/etc/mtabएक अनुकूलता तंत्र है। दशकों पहले, यूनिक्स में मौजूदा माउंट जानकारी को पढ़ने के लिए एक सिस्टम कॉल नहीं था। इसके बजाय, फाइलसिस्टम को माउंट करने वाले कार्यक्रमों से सहानुभूतिपूर्वक और स्वैच्छिक रूप से एक तालिका बनाए रखने की अपेक्षा की गई /etc/mtabथी जहां पर मुहिम शुरू की गई थी।

स्पष्ट कारणों के लिए, यह एक आदर्श तंत्र नहीं था।

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

/etc/mtabइस प्रकार लोकप्रिय रूप से एक प्रतीकात्मक कड़ी बन गई है /proc/mounts, जिससे उन कार्यक्रमों की अनुमति मिलती है जो उस फ़ाइल से माउंट टेबल पढ़ते रहने के लिए नाम रखते हैं, जो कि माउंट किए गए और अनमाउंट किए गए फाइल सिस्टम को अब तक बनाए रखने के लिए स्पष्ट रूप से कुछ भी नहीं करना है। (उनमें से कुछ अभी भी, हालांकि, अगर /etc/mtabएक नियमित फ़ाइल के रूप में बदल जाता है। और कुछ कोने मामले हैं जहां सामान्य जानकारी mountsजिसमें सभी गैर-कर्नेल सामग्री का अभाव है, जो आवश्यक नहीं है; हालांकि वे आउटवेग नहीं करते हैं; सामान्य समस्याएं /etc/mtab।)

प्रत्येक प्रक्रिया आजकल क्या रखा जाता है की अपने स्वयं के व्यक्तिगत दृश्य हो सकता है, और वहाँ एक परिणाम के रूप में कर रहे हैं अब अलग-अलग mountsprocfs में प्रत्येक प्रक्रिया के लिए फ़ाइलें, प्रत्येक प्रक्रिया के अपने तालिका के माध्यम से इसे करने के लिए सुलभ किया जा रहा है selfके रूप में प्रतीकात्मक कड़ी self/mountsहै, और /proc/mountsहै भी अब एक संगतता तंत्र। (दिलचस्प है, न तो प्रति-प्रक्रिया mountsऔर न ही mountsवर्तमान लिनक्स डोको में प्रलेखित प्रारूप , हालांकि समान mountinfoछद्म-नियमित फ़ाइल है।)

SunOS / Solaris में एक समान तंत्र है। /etc/mnttabफ़ाइल वास्तव में एक एकल फ़ाइल फाइल सिस्टम है, और तालिका पढ़ने, उस फ़ाइल के लिए एक खुला फ़ाइल वर्णनकर्ता के माध्यम से, के साथ के अलावा read()प्रणाली अधिकार, एक के लिए के साथ बिंदु परिवर्तन माउंट देख सकते हैं poll()और साथ जानकारी के विभिन्न आगे टुकड़े प्राप्त ioctl()

HP-UX में, /etc/mnttabवैसे ही फ़ाइल का नाम है, लेकिन संस्करण 11 के रूप में यह अभी भी एक नियमित फ़ाइल थी, जिसकी सामग्री को सिस्टम उपयोगिता कार्यक्रमों द्वारा सहानुभूतिपूर्वक बनाए रखा गया था।

AIX मानव-पठनीय पाठ तालिका को निर्यात नहीं करता है जिसे प्रोग्राम को पार्स करना है, और कोई समकक्ष फ़ाइल नहीं है। BSDs, इसी तरह, पूरी तरह से सिस्टम कॉल getfsstat()FreeBSD और OpenBSD पर है, प्रोग्राम के लिए मशीन से पठनीय रूप में कर्नेल से माउंट टेबल प्राप्त करने के लिए इसे मानव-पठनीय मध्यवर्ती रूप के माध्यम से।

आगे की पढाई


प्रश्न में मेरी टिप्पणी के साथ पूरक यहां mtab(5)पुराने दिनों से है: man.cat-v.org/unix_8th/5/mtab
वीजुन झोउ

2
न केवल /proc/mounts, बल्कि /proc/self/mountsस्वयं अब एक अनुकूलता तंत्र है; यह केवल उपलब्ध जानकारी का एक सबसेट दिखा रहा है /proc/self/mountinfo। के प्रारूप के रूप /proc/self/mountsमें के proc(5)रूप में प्रलेखित हैfstab(5)
मच्छी

हालांकि, माना जाता है कि, fstab (5) केवल रिक्त स्थान के बारे में बताता है , जो
अष्टांगिक

मुझे छद्म फाइलें और नियमित फाइलें पता हैं, लेकिन छद्म नियमित फाइल क्या है?
गेरिट

@gerrit यह एक नियमित फ़ाइल है जिसका आकार 0 है, लेकिन फिर भी इसमें डेटा है ;-)
mosvy

12

के अनुसार man mount:

पारंपरिक रूप से फाइल / etc / mtab में माउंट माउंट किए गए फाइल सिस्टम की सूची को पारंपरिक रूप से माउंट और umount रखता है। यह वास्तविक mtab फ़ाइल अभी भी समर्थित है, लेकिन वर्तमान लिनक्स सिस्टम पर इसे बेहतर बनाने के बजाय इसे / proc / mounts के लिए सिम्लिंक बनाना बेहतर है, क्योंकि यूज़रस्पेस में बनाए गए एक नियमित mtab फ़ाइल नामस्थान, कंटेनर और अन्य उन्नत लिनक्स सुविधाओं के साथ मज़बूती से काम नहीं कर सकती है।

बिना रिकॉर्डिंग के बढ़ते हुए /etc/mtab:

-एन, -नो-मताब

/ Etc / mtab में लिखे बिना माउंट। उदाहरण के लिए यह आवश्यक है जब / आदि एक रीड-ओनली फाइलसिस्टम पर हो।

मैनुअल पेज में कई और बारीकियां दी गई हैं।

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