मूल माउंट को प्रभावित किए बिना एक rbind माउंट अनमाउंट करें


11

पर पूछे जाने पर serverfault लेकिन पर्याप्त ध्यान नहीं मिला है, तो यहां फिर से पोस्ट किया, आशा यहां कुछ लोगों को जवाब पता के साथ।

Rbind mounts को umounting के बारे में चर्चा करते हुए एक और सवाल है , लेकिन समाधान का अवांछित प्रभाव है। निम्नलिखित निर्देशिका लेआउट पर विचार करें:

.
├── A_dir
│   └── mount_b
├── B_dir
│   └── mount_c
└── C_dir

अब मैं बाँध C_dirके लिए B_dir/mount_cऔर rbind B_dirलिए A_dir/mount_b:

[hidden]$ sudo mount --bind C_dir B_dir/mount_c
[hidden]$ sudo mount --rbind B_dir A_dir/mount_b
[hidden]$ mount | grep _dir | wc -l
3

अब umount A_dir/mount_bअसफल हो जाएंगे, जो आश्चर्य की बात नहीं है। वेब पर हर जगह के जवाबों के अनुसार, हमें umount A_dir/mount_b/mount_cपहले की जरूरत है umount A_dir/mount_b। हालांकि, umount A_dir/mount_b/mount_cयह भी अनमाउंट होगा B_dir/mount_c, जो अवांछित है:

[hidden]$ sudo umount A_dir/mount_b/mount_c
[hidden]$ mount | grep _dir | wc -l
1

अब मेरा सवाल यह है कि मैं कैसे बेकाबू हो जाऊं A_dir/mount_bलेकिन B_dirअप्रभावित रहना , यानी अभी भी एक बंधन B_dir/mount_cहै C_dir?

संपादित करें: यह समस्या उबंटू में दिखाई नहीं देती है। अधिक विशेष रूप से, यह मेरे Ubuntu 14.04 पर ठीक काम करता है, लेकिन Fedora 23 और CentOS 7 पर काम नहीं कर रहा है। क्यों अंतर है और Fedora और CentOS के लिए क्या काम है?

EDIT: वास्तविक समस्या पर कुछ और जानकारी जो मैं हल करने की कोशिश कर रहा हूं। मैं एक sandbox बनाने की कोशिश की और इस्तेमाल --rbindमाउंट करने के लिए /devऔर /procसैंडबॉक्स पर। सैंडबॉक्स को नष्ट करते समय, ऐसा लगता है कि मैं इसे आसानी से नष्ट नहीं कर सकता क्योंकि <sandbox-root>/dev/ptsFC23 और CentOS7 में अनमाउंट होगा /dev/pts, जिसके बाद मेरा शेल और SSH कनेक्शन लटका हुआ है और मुझे मशीन को रिबूट करना होगा। इसलिए मैं पूछ रहा हूं कि क्या सबमर्स को प्रभावित किए बिना --rbind mounts को अनमाउंट करने का कोई तरीका है।


जवाबों:


9

इसका हल मुझे खुद ही मिल गया। मुझे बस --make-rslaveकिसी भी परिवर्तन को A_dir/mount_bवापस प्रचारित नहीं करने के लिए उपयोग करने की आवश्यकता है B_dir:

sudo mount --make-rslave A_dir/mount_b
sudo umount -R A_dir/mount_b

माउंट मैन पेज सेक्शन देखें । साझा सबट्री ऑपरेशन


1
कुछ प्रणालियों में, कोई mount --rbind src target --make-rslaveएक कॉल में भी संयोजन कर सकता है ; कुछ प्रणालियाँ मेरे लिए इसे अस्वीकार करती थीं।
इम्ज़ - इवान ज़खरीशेव
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.