Odpowiedzi:
udisks
Komenda jest najprawdopodobniej to, czego szukasz.
Chociaż sudo unmount /dev/sdXY
będzie działać, udiski mogą to zrobić bez uprawnień poziomu root (sudo).
Jeśli masz /dev/sdXY
zamontowany napęd , gdzie X to litera reprezentująca dysk USB, a Y to numer partycji (zwykle 1), możesz użyć następujących poleceń, aby bezpiecznie usunąć dysk:
udisks --unmount /dev/sdXY
udisks --detach /dev/sdX
Dla praktycznego przykładu, jeśli mam /dev/sdb1
zamontowaną partycję , uruchomiłbym to, aby odmontować i odłączyć:
udisks --unmount /dev/sdb1
udisks --detach /dev/sdb
Znalazłem to na podstawie tego pytania: https://superuser.com/a/430470/176493 .
W nowszych dystrybucjach ubuntu (nie jestem pewien, kiedy nastąpił przełącznik) zamiast udisk instaluje się udisks2.
Odbicie lustrzane powyższych poleceń, aby odmontować i odłączyć dysk za pomocą udisks2:
udisksctl unmount -b /dev/sdXY
udisksctl power-off -b /dev/sdX
Przykład, jeśli mój dysk to /dev/sdb1
:
udisksctl unmount -b /dev/sdb1
udisksctl power-off -b /dev/sdb
Detach failed: Not Authorized
gdy próbuję uruchomić go bez uprawnień roota. (Nie jest to poważny problem, ale niewielka korekta.)
udisks
.
sudo
, ale także umount
ed przed, zanim spróbowałem --detach
. To sprawdzone wydanie serwera Ubuntu.
Rzeczywistym odpowiednikiem operacji Nautilus Mount / Unmount jest gvfs-mount -m -d /dev/ice /some/directory
i gvfs-mount -u /some/directory
. Korzysta z tego samego interfejsu API, z którego korzysta Nautilus, wirtualnego systemu plików GIO (gvfs), który udostępnia różne narzędzia do korzystania z kilku usług jako punktów podłączenia, takich jak smb, NFS, FTP, urządzenia blokowe itp.
Aby zidentyfikować urządzenie, które należy odmontować, wystarczy użyć, gvfs-mount -l
które powinno wystarczyć.
To rozwiązanie ma tę specyfikę, że nie wymaga podwyższonych uprawnień, ponieważ wszystko jest zarządzane przez usługi umount / gvfsd / polkit, co dodatkowo przypomina podobieństwo z zachowaniem Nautilusa.
udisks
(sugerowanego w innych odpowiedziach) jako o „sposobie”, w jaki użytkownicy inni niż root montują i odmontowują dyski wymienne na pulpicie, jak wspomniano tutaj, gvfs-mount
mogą używać innych mechanizmów. (W moim systemie Ubuntu MATE Utopic pakiet udisk nie jest nawet zainstalowany.)
gio
który zastępuje gvfs-mount.
Gdy poznasz urządzenie, prawdopodobnie używając df
informacji jak w odpowiedzi @rcpao , najlepszym sposobem na „wysunięcie” dysku jest, imho, użycie tego samego polecenia, którego używa interfejs graficzny:
udisksctl unmount --block-device /dev/sdc1
Mam skrypt do wykonania kopii zapasowej na dysku, o którym wiem, że pod nim się zamontuje /media/romano/movlin
, a po utworzeniu kopii zapasowej wykonuję:
sync
udisksctl unmount -b $(mount | grep movlin | cut -d" " -f1)
Tutaj mount | grep movlin | cut -d" " -f1
wyodrębni urządzenie zamontowane pod etykietą „movlin” (byłoby /dev/sdc1
w takim przypadku), a następnie je odłączy.
sync
przed udisksctl unmount
?
sync; sync; sync && poweroff
...
udisks
nie jest już domyślnie obecny w Ubuntu, udisksctl
może być preferowanym rozwiązaniem. udisksctl power-off --block-device /dev/sdc
wyłącza światło na zewnętrznym dysku flash USB, więc może być odpowiednie jako następne polecenie do wykonania po twoim.
df, aby znaleźć punkt instalacji dysku flash.
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
Odmontuj za pomocą / dev / sdc1 lub / media / rcpao / SD024-64GB.
rcpao@bun:~$ sudo umount /dev/sdc1
[sudo] password for rcpao:
rcpao@bun:~$
lub
rcpao@bun:~$ sudo umount /media/rcpao/SD024-64GB
[sudo] password for rcpao:
rcpao@bun:~$
Powinieneś być w stanie zobaczyć, jak ikona wysuwania dysku flash znika w nautilusie, jak tylko skończy się umount.
df
wygląda bardzo przydatnie do identyfikacji, gdzie znajduje się urządzenie.
udisks --detach
pomaga całkowicie odłączyć dyski po odmontowaniu.
df
i umount
są standardowymi narzędziami UNIX. Zawsze dobrze jest je znać, ponieważ będą one zawsze działać, podczas gdy udisks
zależą od dbus i działającego udisksd .
cp /path/to /drive && umount drive
. To sprawiło, że 2 dyski flash (tymczasowo) stały się nieczytelne, dopóki nie zdałem sobie sprawy, że to polecenie je spowodowało. Uruchomienie funkcji „Skanuj i napraw” na komputerze z systemem Windows naprawiło dyski. Odpowiedź DaboRoss poniżej jest znacznie bezpieczniejsza.
eject
z pakietu wysuwania :
sudo eject /dev/sdX
pojawia się na umount
wszystkich partycjach i ustaw urządzenie w stanie, który należy usunąć, i podłącz je ponownie w celu ponownego zamontowania.