Antworten:
Nein, sie müssen es auch nicht sein. ejectwird 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.
syncziehe ich es heraus
ejectkann der zugrunde liegende USB-Gerätetreiber noch schreiben (versuchen), nachdem er umountzurückgekehrt ist. Dies ist deutlich zu erkennen, wenn das Laufwerk eine Status-LED hat. Das Ziehen des USB-Sticks direkt nach dem umountBeenden 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.
ejectwird 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
udisksctldas keine --detachOtion 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 udisksoder zur udisks2 Verfügung gestellt.
udisksctl power-off -b /dev/sdwhateverscheint 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 -Yist 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.cQuellen).
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/sdc1verschwunden ist.
mt rewofflist 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/sdXDabei 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/sdXistsg_start -s /dev/sdX(aussg3_utilsPaket), beide verwenden SCSI-Befehle, um an das Gerät zu senden.