कैसे पूर्व में एक chroot'd फ़ाइल सिस्टम को अनमाउंट करने के लिए?


17

मैं अपने डेबियन सर्वर के साथ कुछ मुद्दों को ठीक करने के लिए एक बचाव-लाइव-सिस्टम (एक लाइव-सीडी के समान) का उपयोग कर रहा हूं, जैसे:

# mkdir -p /mnt/rescue
# mount /dev/md2 /mnt/rescue
# mount --bind /dev /mnt/rescue/dev/
# mount --bind /proc /mnt/rescue/proc/
# mount --bind /sys /mnt/rescue/sys/

अब मैं चुरोट कर सकता हूं /mnt/rescue- लेकिन मेरे हो जाने के बाद, फाइलसिस्टम को फिर से अनमाउंट कैसे करें?

umount: /mnt/rescue: target is busy.
    (In some cases useful info about processes that use
     the device is found by lsof(8) or fuser(1))

मुझे लगता है कि यह इसलिए है dev, procऔर sysमाउंटेड फ़ाइल सिस्टम से बंधे हैं। लेकिन उन्हें भी अनमाउंट करना संभव नहीं है ...


जब आप अनमाउंट करने की कोशिश करते हैं तो क्या होता है /mnt/rescue/proc? क्या आप सुनिश्चित हैं कि आपके पास अभी भी प्रक्रियाएँ नहीं चल रही हैं chroot?
Mat

lsof /mnt/rescueयह देखने की कोशिश करें कि कौन सी प्रक्रिया उस फ़ोल्डर का उपयोग कर रही है।
बजे मार्टिन कैनावल

आपको शटडाउन शेल को बंद करने से पहले छोड़ने की आवश्यकता है।
वॉनब्रांड

जवाबों:


15
  1. आपको पहले चिरोट सत्र से बाहर निकलना exitहोगा , आमतौर पर एक साधारण काम करेगा:

    exit
    
  2. तब सभी बंधी निर्देशिकाओं को umount करें:

    umount /mnt/rescue/dev/
    umount /mnt/rescue/proc/
    umount /mnt/rescue/sys/
    
  3. फिर:

    umount /mnt/rescue
    

यदि आप इस बात से चिंतित थे कि syncयहाँ उपयोग नहीं किया गया है, तो ध्यान दें कि इसका कोई प्रभाव नहीं है कि क्या संभव नहीं है। लंबित निस्तब्धता वैसे भी लिखती है (यह है, क्योंकि उनके लिए कहीं भी नहीं है क्योंकि असमतल के बाद जाना होगा)। एक काटे गए प्रक्रिया की उपस्थिति अप्रासंगिक है (सिवाय इसके कि यह असम्बद्धता को रोकता है)। सामान्य सिस्टम ऑपरेशन में, सिंक का कोई अवलोकन प्रभाव नहीं होता है। सिंक केवल तभी फर्क करता है जब कोई डिवाइस अनमाउंट किए बिना भौतिक रूप से डिस्कनेक्ट हो गया हो या डिवाइस माउंट होने के दौरान सिस्टम क्रैश हो जाए।


1
धन्यवाद, यह बात है ... मेरी गलती अनमाउंट / sys / के बजाय / mnt / बचाव / sys / की कोशिश कर रहा था ...
Afr

2
syncपूरी तरह से बेकार है।
गाइल्स का SO- बुराई पर रोक '22

@ गिल्स क्या आप अधिक विस्तार से बता सकते हैं कि syncबेकार क्यों है? क्या यह वर्तमान कर्नेल में बेकार हो जाता है? या केवल इस मामले में (बचाव मोड)? मैं इसे वहाँ रख देता हूँ, अगर वहाँ डिस्क को भारी लंबित लिख दिया जाता है जो चेरोट से बाहर निकलने के बाद ऑमाउंट को रोक देगा।
जॉन सियु

4
@ जोंसियू syncपर इस बात का कोई प्रभाव नहीं है कि क्या संभव नहीं है। लंबित निस्तब्धता वैसे भी लिखती है (यह है, क्योंकि उनके लिए कहीं भी नहीं है क्योंकि असमतल के बाद जाना होगा)। एक काटे गए प्रक्रिया की उपस्थिति अप्रासंगिक है (सिवाय इसके कि यह असम्बद्धता को रोकता है)। सामान्य प्रणाली के संचालन में, syncकोई अवलोकन प्रभाव नहीं है। syncकेवल एक फर्क पड़ता है अगर कोई डिवाइस अनमाउंट किए बिना भौतिक रूप से डिस्कनेक्ट हो गया है या यदि डिवाइस माउंट होने के दौरान सिस्टम क्रैश हो जाता है।
गिलेस एसओ- बुराई को रोकना '

@ गिल्स मैं अब आपकी बात समझ गया हूं। धन्यवाद!!
जॉन सियु

14

फाइलसिस्टम पदानुक्रम से फाइल सिस्टम को बाध्य करने और अलग करने के लिए नीचे दिए गए कमांड को निष्पादित करें, और फाइल सिस्टम के सभी संदर्भों को जल्द से जल्द साफ करें क्योंकि यह अब व्यस्त नहीं है।

umount -lf /mnt/rescue

4

आपको 'लक्ष्य व्यस्त' होने का कारण। संदेश इसलिए है क्योंकि माउंट पॉइंट ( /mnt/rescue) फ़ाइल ब्राउज़र में या टर्मिनल सत्र में खुला है, और अनमाउंटिंग प्रक्रिया का क्रम भी है (यहाँ मेरा मतलब है कि dev/ptsपहले umounted होना चाहिए dev/)

सभी एफएस को सफलतापूर्वक umount करने के लिए, ठीक है:

  • सुनिश्चित करें कि फ़ाइल ब्राउज़र में माउंटपॉइंट खुला नहीं है!
  • चेरोट परिवर्तन निर्देशिका से बाहर निकलने के बाद चेरोट दिर ( cd)!
  • उम्मेद एफएस आदेश का सम्मान करते हुए dev/pts => dev/ => proc/ => sys/:

    sudo umount / mnt / बचाव / देव / पीडीएस
    sudo umount / mnt / बचाव / देव
    sudo umount / mnt / बचाव / proc
    sudo umount / mnt / बचाव / sys
    sudo umount / mnt / बचाव


2

यह है कि मैं schrootUbuntu संस्करण 10.04 ऊपर की ओर कमांड के साथ कैसे करता हूं :

# list all sessions:
schroot --list --all-sessions
# if the above command does not work, just type `mount`. The bind mount
# points with something like this in the mount path is the session name you want to get:
precise-a4aac8e0-663c-4fec-8fb2-16e4b06557e3 (<chroot_name>-<id>)

# now run this to properly end the session:
schroot -e -c precise-ca6c72e4-0e9f-4721-8a0e-cca359e2c2fd

0

चिरोट से बाहर निकलें। होस्ट सिस्टम में, कमांड 'माउंट' सभी माउंटेड पथ को दिखाएगा। (उन पथों को शामिल किया गया है जो चेरोट में आरोहित हैं।) उदाहरण के लिए:

binfmt_misc on /home/user/projects/jsroot/proc/sys/fs/binfmt_misc

फिर चुरोट वातावरण में प्रवेश करें। चुरोट वातावरण में सभी मार्ग को अनमाउंट करने के लिए अनमाउंट चलाते हैं। (मूल पथ मूल पथ से पहले अनमाउंट होना चाहिए)

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