Odpowiedzi:
Nie. Nie muszą być; ejectsłuży do otwierania napędów optycznych, w których nie można bezpośrednio wyciągnąć nośnika.
Odinstalowanie jest wystarczające dla USB / eSATA / itp. urządzenia pamięci masowej.
syncprzed
eject, sterownik urządzenia USB może nadal (próbować) pisać PO umountzwróceniu. Można to wyraźnie zobaczyć, jeśli dysk ma diodę LED stanu. Szarpnięcie pendrive'a zaraz po jego umountzakończeniu jest PRZEPISEM NA AWARIĘ.
Tak. Na przykład:
sudo eject /dev/sda
Inne odpowiedzi, które wskazują, że potrzebujesz sprzętu do wyrzucania mechanicznego, są niepoprawne.
Odmontowanie to nie to samo, co wysuwanie.
sudotej komendy do zakończenia (wystarczyło odmontować dysk, zanim powiedział, że nie można otworzyć pliku). Poza tym pomocna odpowiedź.
ejectbędzie działać, ale tak naprawdę nie „dokończy zadania” w odniesieniu do napędów obrotowych USB.
Najlepszym sposobem na odłączenie zewnętrznego dysku twardego USB po prawidłowym odmontowaniu jest:
udisks --detach /dev/sdb
Zwykle powoduje to, że dysk obraca się płynnie.
Właśnie obecne wdrożenie :
Ten proces jest zbliżony do procedury ręcznej, która jest tutaj sugerowana . Początkowa odpowiedź była na askubuntu .
EDYCJA: Ponadto, jak wskazuje g.rocket , to polecenie może być równoważne:
udisksctl power-off -b /dev/sdb
udisksctlktóry nie ma jeszcze okazji, --detachjest dostępny. Co robić w tym przypadku? Dziękuję Ci.
udisks.
udisks? Nie ma go w moim systemie. Znalazłem paczkę udisks2, ale ta nie została udostępniona udisksani udisks2 udostępniona.
udisksctl power-off -b /dev/sdwhateverwydaje się robić to samo.
Kroki ręczne odmontowywania dysku / dev / sdb (wymaga sudo):
echo 'offline' > /sys/block/sdb/device/state
echo '1' > /sys/block/sdb/device/delete
Spowoduje to całkowite wyłączenie urządzenia i odłączenie go od systemu. Nie zostanie wykryty ponownie, dopóki nie zostanie odłączony i ponownie podłączony.
hdparm -Yjest również przydatny w przypadku napędów SATA / IDE.
Jeśli dokładnie przeczytasz stronę podręcznika eject (1) , zobaczysz, że istnieją 4 metody wysuwania:
-r This option specifies that the drive should be ejected using a CDROM
eject command.
-s This option specifies that the drive should be ejected using SCSI
commands.
-f This option specifies that the drive should be ejected using a remov‐
able floppy disk eject command.
-q This option specifies that the drive should be ejected using a tape
drive offline command.
Po wywołaniu eject na HDD / SCSI wydaje ioctl(fd, SG_IO, (void *)&io_hdr);polecenie (kopiowanie ze eject.cźródeł).
Jest to równoważne, gdy bezpiecznie usuwasz urządzenie w MS Windows lub MaxOSX.
W przypadku niektórych urządzeń ma to szczególne znaczenie. Na przykład Kindle 3 po przeniesieniu polecenia wysuwania do trybu ładowania i umożliwia przeglądanie na urządzeniu, zanim ekran był zablokowany.
Inne narzędzia robią to samo, jak to
scsi-spin --force --down /dev/sda
„Wyrzucanie” nie ma znaczenia dla sprzętu bez tacy lub innego mechanizmu ładowania (zakładam, że działa również z napędami taśmowymi).
Jednak testy z zewnętrznym dyskiem flash USB wskazują, że ejectdziała podobnie umount- z efektem ubocznym powodującym zniknięcie węzłów urządzenia, np.
% ls /dev/sdc*
/dev/sdc /dev/sdc1
% sudo eject /dev/sdc
% ls /dev/sdc*
/dev/sdc
Zauważ, że /dev/sdc1zniknął.
mt rewoffljest to bardziej wygodne, ponieważ również przewija), ale to nie działa z napędem dyskietek, takich jak te znajdujące się na starych komputerach Mac i Sun stacjach roboczych.
udisks --detach /dev/sdXgdzie (X) to ostatnia litera urządzenia USB. Działa dobrze na każdym systemie Linux.
OK postaram się wyjaśnić to lepiej:
Polecenie udisks całkowicie usuwa i wyłącza każde urządzenie USB zamontowane lub podłączone w systemie. polecenie odmontowania wystarczy odmontować partycję, tj .: dev / sdb1 lub cokolwiek innego niż usb jest nadal obecny w systemie.
Więc nie jest to samo odmontowanie, wysunięcie i odłączenie
udisks = wyłącz USB
umount = po prostu odmontuj partycję, a nie cały pendrive
eject = to samo lub bardzo blisko polecenia umount
eject /dev/sdXjestsg_start -s /dev/sdX(zsg3_utilspakietu), oba używają poleceń SCSI, aby wysłać do urządzenia.