Antworten:
Nein, sie müssen es auch nicht sein. eject
wird zum Öffnen von optischen Laufwerken verwendet, bei denen das Medium nicht direkt entnommen werden kann.
Für USB / eSATA / etc. Ist das Abmelden ausreichend. Speichergeräte.
sync
ziehe ich es heraus
eject
kann der zugrunde liegende USB-Gerätetreiber noch schreiben (versuchen), nachdem er umount
zurückgekehrt ist. Dies ist deutlich zu erkennen, wenn das Laufwerk eine Status-LED hat. Das Ziehen des USB-Sticks direkt nach dem umount
Beenden ist REZEPT FÜR EINEN UNFALL.
Ja. Zum Beispiel:
sudo eject /dev/sda
Andere Antworten hier, die darauf hinweisen, dass Sie mechanische Auswurfhardware benötigen, sind falsch.
Das Abhängen ist nicht dasselbe wie das Auswerfen.
sudo
, um diesen Befehl zu beenden (alles, was es tun würde, war das Laufwerk zu trennen, bevor ich sagte, dass es die Datei nicht öffnen konnte). Ansonsten hilfreiche Antwort.
eject
wird funktionieren, aber den Job in Bezug auf rotierende USB- Laufwerke nicht wirklich "beenden" .
Der beste Weg, eine externe USB-Festplatte nach dem ordnungsgemäßen Abmelden abzuziehen , ist:
udisks --detach /dev/sdb
Dies führt normalerweise dazu, dass das Laufwerk ordnungsgemäß herunterfährt.
Genau die aktuelle Implementierung :
Dieser Vorgang ähnelt dem hier vorgeschlagenen manuellen Verfahren . Die erste Antwort war auf askubuntu .
BEARBEITEN: Wie g.rocket betont , kann dieser Befehl auch äquivalent sein:
udisksctl power-off -b /dev/sdb
udisksctl
das keine --detach
Otion hat, verfügbar. Was ist in diesem Fall zu tun? Dankeschön.
udisks
.
udisks
? Es ist nicht auf meinem System. Ich habe das Paket gefunden udisks2
, aber das nicht gemacht udisks
oder zur udisks2
Verfügung gestellt.
udisksctl power-off -b /dev/sdwhatever
scheint dasselbe zu tun.
Manuelle Schritte zum Abmelden von disk / dev / sdb (Erfordert sudo):
echo 'offline' > /sys/block/sdb/device/state
echo '1' > /sys/block/sdb/device/delete
Dadurch wird das Gerät vollständig ausgeschaltet und vom System getrennt. Es wird erst wieder erkannt, wenn es getrennt und wieder angeschlossen wird.
hdparm -Y
ist auch praktisch für SATA / IDE-Laufwerke.
Wenn Sie die eject (1) -Manpage sorgfältig lesen , können Sie feststellen, dass es 4 Methoden zum Auswerfen gibt:
-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.
Wenn Sie Eject auf HDD / SCSI aufrufen, wird ein ioctl(fd, SG_IO, (void *)&io_hdr);
Befehl ausgegeben (Kopieren von eject.c
Quellen).
Dies entspricht dem sicheren Entfernen des Geräts in MS Windows oder MaxOSX.
Für einige Geräte haben diese spezielle Mittelwerte. Zum Beispiel Kindle 3, nachdem der Befehl zum Auswerfen in den Lademodus versetzt wurde und das Surfen auf dem Gerät zulässt, während der Bildschirm gesperrt war.
Andere Dienstprogramme tun dasselbe
scsi-spin --force --down /dev/sda
"Auswerfen" hat keine Bedeutung für Hardware ohne ein Fach oder einen anderen Lademechanismus (ich gehe davon aus, dass es auch mit Bandlaufwerken funktioniert).
Das Testen mit einem externen USB-Stick zeigt jedoch, dass dies eject
ähnlich funktioniert umount
- mit dem Nebeneffekt, dass die Geräteknoten verschwinden, z
% ls /dev/sdc*
/dev/sdc /dev/sdc1
% sudo eject /dev/sdc
% ls /dev/sdc*
/dev/sdc
Beachten Sie, dass /dev/sdc1
verschwunden ist.
mt rewoffl
ist bequemer, weil es auch zurückspult), aber es funktioniert mit motorisierten Diskettenlaufwerken, wie sie auf alten Macs und Sun-Workstations zu finden sind.
In der OSX-Kommandozeile sollten Sie diskutil verwenden, wobei LABEL die Bezeichnung Ihres USB-Laufwerks ist.
diskutil eject /Volumes/<LABEL>
udisks --detach /dev/sdX
Dabei ist (X) der letzte Buchstabe Ihres USB-Geräts. Es funktioniert gut auf jedem Linux-System.
OK, ich werde versuchen, dies besser zu erklären:
Der Befehl udisks entfernt alle im System installierten oder installierten USB-Geräte vollständig und schaltet sie aus. Der Befehl unmount deaktiviert lediglich die Partition, dh dev / sdb1 oder was auch immer, aber der USB ist noch im System vorhanden.
Also ist nicht das selbe aushängen, auswerfen und abnehmen
udisks = usb ausschalten
umount = hänge einfach die Partition ab, nicht das ganze pendrive
eject = derselbe oder sehr nahe am Befehl umount
eject /dev/sdX
istsg_start -s /dev/sdX
(aussg3_utils
Paket), beide verwenden SCSI-Befehle, um an das Gerät zu senden.