माउंट बिंदु में मौजूदा फ़ाइलों के साथ लिनक्स क्या करता है?


52

अगर मैं उस फ़ोल्डर को माउंट करने का प्रयास करता हूं, जिसमें पहले से ही फाइलें हैं, तो क्या linux मुझे कोई त्रुटि संदेश देता है या आगे जाकर दोनों माउंटेड फाइलसिस्टम और उन फाइलों को दिखाता है जो पहले से ही फ़ोल्डर में थीं?


2
हमेशा कुछ परीक्षण फ़ाइलों के साथ इसे आज़मा सकते हैं, नहीं?
क्रिस

अगर मैं कर सकता था। यह सिर्फ काम करता है कि मेरे पास परीक्षण करने के लिए कुछ भी नहीं था। मैंने सवाल में ड्राइव को अनमाउंट करने और माउंट करने की कोशिश की लेकिन परिणाम अनिर्णायक थे क्योंकि वे दोनों एक ही फाइल थे।
स्लिम

क्या फ़ोल्डर को अप्राप्य बनाने का कोई तरीका है ताकि फ़ाइलें वहां मौजूद हों?
23

जवाबों:


33

यह सिर्फ माउंट किया जाएगा, और फ़ोल्डर गायब होने पर वापस आकर फाइलें गायब हो जाती हैं।


1
गायब होने से आपका क्या मतलब है? वे सर्वर पर मौजूद हैं और केवल दिखाए नहीं गए हैं या हटाए गए हैं?
स्लिम

मैं जाऊंगा एक त्वरित जांच, लेकिन मुझे लगता है कि वे हटाए गए हैं।
Azz

17
+1 फाइलें केवल अदृश्य हैं जबकि निर्देशिका उन्हें "ओवर" माउंट कर रही है। वे वास्तव में कभी दूर नहीं जाते हैं, बस दुर्गम हैं ...
sleske

10
यह स्टैक की तरह काम करता है, यदि आप कुछ और माउंट करते हैं, तो यह पिछली सामग्री को छुपाता है। जब आप अनमाउंट करते हैं, तो पिछला सामान फिर से दिखाई देने लगता है।
vtest 15

4
मैं असमंजस में हूँ कि किसी ने यह कैसे कहा कि "जब फ़ोल्डर सामने आ रहा है तो वापस आ रहा है" 3 मिनट बाद "मुझे लगता है कि वे हटाए गए हैं" कहने में सक्षम थे। बाकी सभी के लिए धन्यवाद, पूर्व यहाँ की वास्तविकता है।
अंडरस्कोर_ड

111

जब आप किसी डायरेक्टरी पर फाइलसिस्टम माउंट करते हैं /mount-point, तो आप /mount-pointसीधे फाइलों को सीधे एक्सेस नहीं कर सकते । वे अभी भी मौजूद हैं, लेकिन /mount-pointअब माउंट किए गए फ़ाइल सिस्टम की जड़ को संदर्भित करता है, न कि माउंट बिंदु के रूप में सेवा करने वाली निर्देशिका के लिए, इसलिए इस निर्देशिका की सामग्री तक नहीं पहुँचा जा सकता है, कम से कम इस तरह से। उदाहरण के लिए:

# touch /mount-point/somefile
# ls /mount-point/somefile
/mount-point/somefile
# mount /dev/something /mount-point
# ls /mount-point/somefile
ls: cannot access /mount-point/somefile: No such file or directory

माउंटेड फाइल सिस्टम का एक विलय दृश्य प्राप्त करने के तरीके और डेटा जो पहले से मौजूद थे, लेकिन आपको एक अतिरिक्त परत की आवश्यकता है जिसे यूनियन फाइल सिस्टम कहा जाता है ।

लिनक्स के तहत, छिपी हुई फाइलों को देखने का एक तरीका है। आप mount --bindफाइल सिस्टम का दूसरा दृश्य प्राप्त करने के लिए उपयोग कर सकते हैं जहां आरोह बिंदु है। उदाहरण के लिए

mount --bind / /other-root-view

आप के तहत रूट फाइल सिस्टम में सभी फाइलें देखेंगे /other-root-view

# cat /other-root-view/etc/hostname 
darkstar

विशेष रूप से, /mount-pointअब के रूप में सुलभ हो जाएगा /other-root-view/mount-point, और चूंकि /other-root-view/mount-pointमाउंट बिंदु नहीं है, आप वहां इसकी सामग्री देख सकते हैं:

# ls /mount-point/somefile
ls: cannot access /mount-point/somefile: No such file or directory
# ls /other-root-view/mount-point/somefile
/other-root-view/mount-point/somefile

5
गाइल्स, इस जवाब ने मेरे बट को बचा लिया जब मुझे कुछ तारांकन रिकॉर्डिंग प्राप्त करने की आवश्यकता थी जो एक एनएसएफ माउंट बिंदु के नीचे बच गई! मैं हमेशा सोचता था - उपयोगकर्ता के समान ही भारत का दृष्टिकोण था। धन्यवाद!
andyortlieb

निर्देशिकाओं के बारे में क्या? अगर मैं /mount-point/1/उस पर चढ़कर दूसरे फाइल सिस्टम पर चढ़ता हूं, तो /mount-point/क्या मैं अभी भी एक्सेस कर सकता हूं /mount-point/1/?
CMCDragonkai 12

@CMCDragonkai हां, परोक्ष रूप से मेरे जवाब में वर्णित के रूप में एक बांध माउंट का उपयोग करके।
गिल्स एसओ- बुराई को रोकना '

जाइल्स, यह एक शानदार तकनीक है और इससे मुझे विश्लेषण करने में मदद मिली है कि मेरे अपने सिस्टम में क्या है। इसने एक अन्य प्रश्न के साथ भी मदद की है, जो माउंट पॉइंट्स को ट्रेस किए बिना सभी रूट निर्देशिकाओं के उपयोग की जांच करना है। समाधान: mkdir /r; mount --bind / /r; du -sh /r/*। धन्यवाद
Manngo

भविष्य के संदर्भ के लिए @ मेनिंगो, यह आवश्यक नहीं है। du -x(समतुल्य du --one-file-system) ने --bindशेंनिग की आवश्यकता के बिना किया होगा ।
दारेल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.