บรรทัดคำสั่งเทียบเท่ากับคุณสมบัติ Nautilus ที่เรียกว่า "Safely Remove Drive" โดยเฉพาะฉันกำลังถอดแฟลชไดรฟ์ USB
บรรทัดคำสั่งเทียบเท่ากับคุณสมบัติ Nautilus ที่เรียกว่า "Safely Remove Drive" โดยเฉพาะฉันกำลังถอดแฟลชไดรฟ์ USB
คำตอบ:
udisksคำสั่งมีแนวโน้มมากที่สุดสิ่งที่คุณกำลังมองหา
ในขณะที่sudo unmount /dev/sdXYจะใช้งานได้ udisks สามารถทำได้โดยไม่ได้รับอนุญาตระดับรูท (sudo)
หากคุณมีไดรฟ์/dev/sdXYติดตั้งโดยที่ X เป็นตัวอักษรแทนดิสก์ 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
ในการกระจาย Ubuntu รุ่นใหม่ (ฉันไม่แน่ใจว่าเกิดอะไรขึ้นเมื่อสวิตช์), udisks2 จะถูกติดตั้งแทน udisks
ทำมิร์เรอร์คำสั่งด้านบนเพื่อ unmount และแยกดิสก์ด้วย 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เมื่อฉันพยายามเรียกใช้โดยไม่มีสิทธิ์รูท (ไม่ใช่ปัญหาที่ร้ายแรง แต่เป็นการแก้ไขเล็กน้อย)
                    udisksผู้ใช้ของคุณจะไม่ได้รับอนุญาตให้ยกเลิกการใช้
                    sudoแต่ฉันก็umountต้องพยายามก่อน--detachเช่นกัน เป็นการปล่อยเซิร์ฟเวอร์อูบุนตูที่น่าเชื่อถือ
                    เทียบเท่าแท้จริง Nautilus เมา / การดำเนินการยกเลิกการเชื่อมต่อเป็นและgvfs-mount -m -d /dev/ice  /some/directory gvfs-mount -u /some/directoryสิ่งนี้ใช้ API เดียวกับที่ Nautilus ใช้ระบบไฟล์เสมือน GIO (gvfs) ซึ่งมีเครื่องมือต่าง ๆ ในการใช้บริการหลายอย่างเช่นจุดเชื่อมต่อเช่น smb, NFS, FTP, อุปกรณ์บล็อก ฯลฯ
หากต้องการระบุว่าอุปกรณ์ใดที่คุณต้องการเลิกเมานท์เพียงใช้อุปกรณ์gvfs-mount -lที่ควรจะเพียงพอ
โซลูชันนี้มีลักษณะเฉพาะที่ไม่ต้องการสิทธิ์ระดับสูงเนื่องจากทุกอย่างได้รับการจัดการโดยบริการ umount / gvfsd / polkit ซึ่งคล้ายกับพฤติกรรมของ Nautilus ต่อไป
udisks(แนะนำในคำตอบอื่น ๆ ) เป็น "วิธีการ" ผู้ใช้ที่ไม่ใช่รูทเมานท์และ unmount ดิสก์ที่ถอดออกได้บนเดสก์ท็อปตามที่ระบุไว้ที่นี่gvfs-mountอาจใช้กลไกอื่น ๆ (ในระบบ Ubuntu MATE Utopic ของฉันแพ็คเกจ udisks ยังไม่ได้ติดตั้ง)
                    gioนั้นใช้แทน gvfs-mount ได้
                    เมื่อคุณรู้ว่าอุปกรณ์อาจใช้dfข้อมูลใน@rcpao answerวิธีที่ดีที่สุดในการ "eject" ดิสก์คือ imho โดยใช้คำสั่งเดียวกับที่ใช้อินเทอร์เฟซแบบกราฟิก:
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
                    sync; sync; sync && poweroff...
                    udisksไม่มีอยู่ใน Ubuntu udisksctlเป็นค่าเริ่มต้นอีกต่อไปอาจเป็นทางออกที่ต้องการ udisksctl power-off --block-device /dev/sdcปิดไฟบน USB แฟลชไดรฟ์ภายนอกดังนั้นจึงอาจเหมาะสมเป็นคำสั่งถัดไปที่จะติดตามคุณ
                    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
ถอนติดตั้งโดยใช้ / 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:~$
คุณควรเห็นไอคอนนำออกของแฟลชไดรฟ์หายไปในหอยโข่งทันทีที่เสร็จสิ้นการติดตั้ง
dfดูมีประโยชน์มากสำหรับการระบุตำแหน่งของอุปกรณ์
                    udisks --detachมีประโยชน์สำหรับการถอดไดรฟ์ออกอย่างสมบูรณ์หลังจากถอนติดตั้ง
                    dfและumountเป็นยูทิลิตี้ UNIX มาตรฐาน เป็นการดีที่จะรู้จักพวกเขาเพราะสิ่งเหล่านี้จะได้ผลเสมอในขณะที่udisksขึ้นอยู่กับdbusและudisksd ที่กำลังทำงานอยู่
                    cp /path/to /drive && umount driveของ แฟลชไดรฟ์ 2 ตัวนี้ (ชั่วคราว) ไม่สามารถเขียนได้จนกว่าฉันจะรู้ว่ามันเป็นคำสั่งที่ทำให้เกิด การใช้งาน "สแกนและซ่อมแซม" บนเครื่อง Windows จะแก้ไขไดรฟ์ คำตอบของ DaboRoss ด้านล่างนั้นปลอดภัยกว่ามาก
                    ejectจากแพ็คเกจดีดออก :
sudo eject /dev/sdX
ปรากฏขึ้นumountทุกพาร์ติชันและทำให้อุปกรณ์อยู่ในสถานะที่คุณต้องลบและใส่กลับเข้าไปใหม่เพื่อประกอบใหม่