"सुरक्षित रूप से निकालें ड्राइव" के समतुल्य कमांड लाइन क्या है?


42

Nautilus फ़ीचर के समतुल्य कमांड लाइन क्या है जिसे "Safely Remove Drive" कहा जाता है। विशेष रूप से, मैं USB फ्लैश ड्राइव निकाल रहा हूं।


आपको superuser.com/a/430470/176493 सहायक मिल सकता है
daboross

जवाबों:


39

udisksआदेश सबसे अधिक संभावना है आप के लिए क्या देख रहे है।

जबकि sudo unmount /dev/sdXYइच्छा काम, udisks रूट स्तर (sudo) अनुमतियों के बिना ऐसा कर सकते हैं।

यदि आपके पास एक ड्राइव है /dev/sdXY, तो माउंट किया हुआ है, जहां एक्स आपकी USB डिस्क का प्रतिनिधित्व करने वाला एक पत्र है और Y विभाजन संख्या (आमतौर पर 1) है, आप ड्राइव को सुरक्षित रूप से हटाने के लिए निम्न आदेशों का उपयोग कर सकते हैं:

udisks --unmount /dev/sdXY
udisks --detach /dev/sdX

एक व्यावहारिक उदाहरण के लिए, यदि मेरे पास विभाजन है, तो मैं /dev/sdb1इसे अनमाउंट करने और अलग करने के लिए चलाऊंगा:

udisks --unmount /dev/sdb1
udisks --detach /dev/sdb

मैंने मूल रूप से इस प्रश्न के माध्यम से पाया: https://superuser.com/a/430470/176493

Udisks2 का उपयोग करना:

नए ubuntu वितरण में (जब स्विच हुआ तो मैं अनिश्चित हूं), udisks2 को udisks के बजाय स्थापित किया गया है।

ऊपर दिए गए आदेशों को मिरर करना, udisks2 के साथ डिस्क को अनमाउंट करना और अलग करना:

udisksctl unmount -b /dev/sdXY
udisksctl power-off -b /dev/sdX

उदाहरण अगर मेरी ड्राइव है /dev/sdb1:

udisksctl unmount -b /dev/sdb1
udisksctl power-off -b /dev/sdb

मुझे मिलता है Detach failed: Not Authorizedजब मैं इसे रूट विशेषाधिकारों के बिना चलाने की कोशिश करता हूं। (गंभीर मुद्दा नहीं है, लेकिन एक छोटा सुधार है।)
जोनाथन वाई।

उबंटू का कौन सा संस्करण चल रहा है? इसके अलावा, आपने ड्राइव को कैसे माउंट किया? यदि आप रूट अनुमतियों का उपयोग करके माउंट करते हैं, या जब किसी अन्य उपयोगकर्ता के रूप में लॉग इन किया जाता है (वर्तमान उपयोगकर्ता में Nautilus या udisks के विपरीत), तो आपके उपयोगकर्ता का उपयोग करने की अनुमति देने की अनुमति नहीं होगी udisks
डबोरॉस

2
हां, मैं साथ बढ़ा sudoहूं, लेकिन मैंने umountकोशिश करने से पहले एड भी किया --detach। यह ubuntu सर्वर का एक भरोसेमंद रिलीज है।
जोनाथन वाई।

आह, उबंटू सर्वर के साथ एक अंतर हो सकता है। डिटैच मेरे डेस्कटॉप पर रूट अनुमति के बिना काम करता है।
daboross

2
@morhook udisks2 समर्थन के साथ अद्यतन जवाब देखें!
डबॉस

21

नॉटिलस माउंट / अनमाउंट ऑपरेशन के लिए वास्तविक समकक्ष है gvfs-mount -m -d /dev/ice /some/directoryऔर gvfs-mount -u /some/directory। यह उसी एपीआई का उपयोग करता है जो Nautilus का उपयोग करता है, GIO वर्चुअल फाइल सिस्टम (gvfs), जो माउंट पॉइंट, जैसे कि smb, NFS, FTP, ब्लॉक डिवाइस, आदि के रूप में कई सेवाओं का उपयोग करने के लिए विभिन्न उपकरण प्रदान करता है।

यह पहचानने के लिए कि आपको किस उपकरण को केवल उपयोग करने की आवश्यकता है gvfs-mount -lजो पर्याप्त होना चाहिए।

इस समाधान की ख़ासियत यह है कि इसे उन्नत अनुमतियों की आवश्यकता नहीं है, क्योंकि सब कुछ umount / gvfsd / polkit सेवाओं द्वारा प्रबंधित किया जाता है, जो आगे Nautilus व्यवहार के साथ समानता जैसा दिखता है।


2
यह सबसे सही उत्तर लगता है। यद्यपि हम में से कई लोग udisks(अन्य उत्तरों में सुझाए गए) के बारे में सोचने के लिए उपयोग किए जाते हैं क्योंकि "जिस तरह से" गैर-रूट उपयोगकर्ता डेस्कटॉप पर हटाने योग्य डिस्क को माउंट और अनमाउंट करते हैं, जैसा कि यहां कहा गया है कि gvfs-mountअन्य तंत्र का उपयोग कर सकते हैं। (मेरे उबंटू मेट यूटोपिक सिस्टम पर, udisks पैकेज भी स्थापित नहीं है।)
एलियाह कगन

1
Ubuntu 18.40 में giogvfs-Mount का प्रतिस्थापन है।
स्टडॉग

13

एक बार जब आप डिवाइस को जान लेते हैं, तो संभवतः @rcpao उत्तर केdf रूप में जानकारी का उपयोग करते हुए , डिस्क को "बेदखल" करने का सबसे अच्छा तरीका है, जैसा कि ग्राफिकल इंटरफ़ेस का उपयोग कर रहा है उसी कमांड का उपयोग करना:

udisksctl unmount --block-device /dev/sdc1

मेरे पास एक डिस्क पर एक बैकअप करने के लिए एक स्क्रिप्ट है जो मुझे पता है कि मैं नीचे माउंट करूंगा /media/romano/movlin, और बैकअप के बाद मैं करूंगा:

sync
udisksctl unmount -b $(mount | grep movlin   | cut -d" "  -f1)

यहां, mount | grep movlin | cut -d" " -f1उस डिवाइस को निकालेंगे जो लेबल "Movlin" के तहत मुहिम की जाती है, ( /dev/sdc1उस स्थिति में होगा ), और फिर इसे अनमाउंट करता है।


क्या syncपहले मैन्युअल रूप से चलाना आवश्यक है udisksctl unmount?
एलिया कगन

शायद ऩही। लेकिन मैं सामान्य रूप से कैश के सही व्यवहार से काफी अनिश्चित हूं; मुझे कभी-कभी लगता है कि यूएसबी ड्राइव कुछ सेकंड के दौरान umount ... के बाद भी फ्लैश कर रहा है। बता दें कि यह पुराने का एक अवशेष है sync; sync; sync && poweroff...
रमनो

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

1
रैंबो, चूंकि udisksअब उबंटू में डिफ़ॉल्ट रूप से मौजूद नहीं है , इसलिए udisksctlपसंदीदा समाधान हो सकता है। udisksctl power-off --block-device /dev/sdcबाहरी USB फ्लैश ड्राइव पर प्रकाश बंद कर देता है, इसलिए यह आपके अनुसरण करने के लिए अगले आदेश के रूप में उपयुक्त हो सकता है।
H2ONaCl

8
  1. अपने फ्लैश ड्राइव के आरोह बिंदु को खोजने के लिए df।

    rcpao@bun:~$ df
    Filesystem                   1K-blocks       Used  Available Use% Mounted on
    /dev/mapper/ubuntu--vg-root 1916153032  658404668 1160390336  37% /
    none                                 4          0          4   0% /sys/fs/cgroup
    udev                          16438692          4   16438688   1% /dev
    tmpfs                          3289976       2156    3287820   1% /run
    none                              5120          0       5120   0% /run/lock
    none                          16449860      18768   16431092   1% /run/shm
    none                            102400         48     102352   1% /run/user
    /dev/sda1                       240972      98990     129541  44% /boot
    /dev/sdc1                     60915712      20992   60894720   1% /media/rcpao/SD024-64GB
    
  2. Unmount / dev / sdc1 या / media / rcpao / SD024-64GB का उपयोग कर।

    rcpao@bun:~$ sudo umount /dev/sdc1
    [sudo] password for rcpao: 
    rcpao@bun:~$
    

    या

    rcpao@bun:~$ sudo umount /media/rcpao/SD024-64GB
    [sudo] password for rcpao: 
    rcpao@bun:~$
    
  3. आपको umount के खत्म होते ही nautilus में फ्लैश ड्राइव का इजेक्ट आइकन गायब होने में सक्षम होना चाहिए।


2
dfडिवाइस कहां है, यह पहचानने के लिए बहुत उपयोगी है।
H2ONaCl

2
फ्लैश ड्राइव के लिए, यह उचित है। एक डिस्क ड्राइव के लिए, "सुरक्षित रूप से निकालें" भी इसे नीचे स्पिन करता है, जो यह समाधान नहीं करता है (उस के लिए DaboRoss द्वारा उत्तर देखें)।
नैट एल्ड्रेडज

3
हाँ, udisks --detachअनमाउंट करने के बाद ड्राइव को पूरी तरह से अलग करने में मददगार है।
डोबॉस

1
dfऔर umountमानक UNIX उपयोगिताओं हैं। यह हमेशा के लिए, उन्हें पता करने के लिए अच्छा है क्योंकि इन हमेशा काम करते हैं, जबकि udisksपर निर्भर है dbus और एक चल udisksd
साइमन रिक्टर

1
@NateEldredge: "फ्लैश ड्राइव के लिए, यह उचित है ..." - वास्तव में, यह नहीं है और मैं इस कारण से मतदान कर रहा हूं: पिछले साल मुझे एक ऐप क्यूए की तैनाती करनी थी और भोली-भाली लाइनों के साथ एक त्वरित आदेश का उपयोग किया था का है cp /path/to /drive && umount drive। यह 2 फ्लैश ड्राइव प्रदान करता है (अस्थायी रूप से) जब तक मुझे एहसास नहीं हुआ कि यह ऐसा कारण है जो इसे पैदा करता है। विंडोज मशीन पर "स्कैन एंड रिपेयर" चलाना ड्राइव को ठीक करता है। नीचे DaboRoss का जवाब ज्यादा सुरक्षित है।
एंडी ई

2

ejectसे इजेक्ट पैकेज :

sudo eject /dev/sdX

umountसभी विभाजनों के लिए प्रकट होता है , और डिवाइस को एक ऐसी स्थिति में रखता है जिसे आपको रिमूव करने के लिए इसे हटा देना चाहिए।


कुछ एप्लिकेशन के लिए यह इजेक्ट कमांड इसे करने का सबसे अच्छा तरीका है। अधिकांश अन्य उत्तर "काफी अच्छे" हैं, लेकिन तकनीकी रूप से नौटलिस पर इजेक्ट आइकॉन डिवाइस को पावर-ऑफ जैसी चीजें नहीं करता है। मेरे अनुभव में बेदखल करना अपने आप में बेदखल करना usb बटन की कार्यक्षमता के करीब है। यदि आप sudo से बचना चाहते हैं तो आप अपने आप को डिस्क समूह में जोड़ सकते हैं (लॉग-आउट और लॉग इन करने की आवश्यकता होती है)। इसके लिए कमांड "sudo adduser user disk" है
SpiRail
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.