บรรทัดคำสั่งเทียบเท่ากับคุณสมบัติ 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
ทุกพาร์ติชันและทำให้อุปกรณ์อยู่ในสถานะที่คุณต้องลบและใส่กลับเข้าไปใหม่เพื่อประกอบใหม่