Ein paar Details

Ein paar Details

Ich weiß, dass dieejectMit dem Befehl können Sie nahezu jede angeschlossene Hardwarekomponente auswerfen. Aber können Sie damit auch USB-Laufwerke auswerfen?

Ist es möglich, USB-Laufwerke und externe Festplatten mit demejectBefehl?

Antwort1

Ja. Zum Beispiel:

sudo eject /dev/sda

Andere Antworten hier, die darauf hinweisen, dass Sie mechanische Auswurfhardware benötigen, sind falsch.

Aushängen ist nicht dasselbe wie Auswerfen.

  1. Wenn Sie ein Volume aushängen, können Sie es sofort wieder aushängen, da das zugrunde liegende Gerät weiterhin verfügbar ist.In manchen Situationen könnte dies ein Sicherheitsrisiko darstellen.Durch das Auswerfen des Geräts kann nur ein Reset des USB-Subsystems (z. B. ein Neustart) das Gerät neu laden.
  2. Durch das Auswerfen des Geräts deaktivieren Sie effektiv jeden weiteren Zugriff auf das Gerät. Nur ein Reset des USB-Subsystems (z. B. ein Neustart) lädt das Gerät neu. Andernfalls müssen Sie das USB-Gerät physisch trennen und erneut anschließen, um wieder darauf zugreifen zu können.
  3. Vor dem Auswerfen werden mit diesem Befehl alle auf dem Gerät bereitgestellten Volumes demontiert.
  4. Wenn Datenträger verwendet werden, schlägt dieser Befehl wie beim Aushängen fehl, mit der Ausnahme, dass einige Datenträger möglicherweise ausgehängt werden und andere möglicherweise eingehängt bleiben.

Antwort2

AnLinux, ejectwird funktionieren, wird aber nicht wirklich "den Job erledigen" in Bezug auf USBDrehenfährt.

Also zuerst Sie eject /dev/sdb(oder umountalles).

UndDann,nach ordnungsgemäßer DemontageSo trennen Sie eine externe USB-Festplatte am besten:

    udisksctl power-off -b /dev/sdb

oder

    udisks --detach /dev/sdb

Dies führt normalerweise dazu, dass das Laufwerk ordnungsgemäß heruntergefahren wird.

Hinweis: udisksctlkönnte ein "Mainstream"-Tool sein, verglichen mit udisks(ersteres ist bereits auf meinem Debian installiert, letzteres nicht & wurdekritisiertfür unnötiges Hoch-/Herunterdrehen).

Ein paar Details

Abonnieren

DerDokumentationszustände(zur Ausschaltmöglichkeit):

Sorgt dafür, dass das Laufwerk sicher entfernt und ausgeschaltet wird. Auf der Betriebssystemseite bedeutet dies, sicherzustellen, dass kein Prozess das Laufwerk verwendet, und dann anzufordern, dass aktive Puffer und Caches in den stabilen Speicher übernommen werden. Die genauen Schritte zum Ausschalten des Laufwerks hängen vom Laufwerk selbst und der verwendeten Verbindung ab. Bei über USB angeschlossenen Laufwerken besteht die Auswirkung darin, dass das USB-Gerät dekonfiguriert und anschließend der Upstream-Hub-Port, an den es angeschlossen ist, deaktiviert wird.

Beachten Sie, dass einige physische Geräte mehrere Laufwerke enthalten (z. B. 4-in-1-Flash-Kartenleser-USB-Geräte). Das Ausschalten eines Laufwerks kann sich daher auf andere Laufwerke auswirken. Daher gibt es bei der Durchführung dieser Aktion keine großen Garantien. Normalerweise ist der Effekt, dass das Laufwerk verschwindet, als ob es ausgesteckt worden wäre.

udisks (veraltet?)

Genau, dieAktuelle Implementierung(Stand 2014):

  • sendet SCSI Sync-Cache-Befehl,
  • sendet SCSI-Stopp-Befehl,
  • löst die Bindung des USB-Speicherkerneltreibers,
  • suspendiert das USB-Gerät (Strom),
  • deaktiviert/entfernt es logisch von seinem USB-Anschluss.

Dieser Vorgang ähnelt dem manuellen Verfahren, das empfohlen wirdHierDie erste Antwort warauf askubuntu.

Antwort3

Manuelle Schritte zum Unmounten des Datenträgers /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 erneut angeschlossen wird.

Antwort4

Wenn Sie sorgfältig lesenauswerfen(1)Auf der Manpage können Sie sehen, dass es vier 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 du anrufstauswerfenAuf HDD/SCSI wird der ioctl(fd, SG_IO, (void *)&io_hdr);Befehl ausgegeben (aus Quellen kopieren eject.c).

Dies entspricht dem sicheren Entfernen des Geräts in MS Windows oder MaxOSX.

Für einige Geräte hat dies eine besondere Bedeutung. Zum Beispiel Kindle 3 nachauswerfenDer Befehl wurde in den Lademodus verschoben und ermöglicht das Surfen auf dem Gerät, während vorher der Bildschirm gesperrt war.

Andere Dienstprogramme machen dasselbe, wie dieses

scsi-spin --force --down /dev/sda

verwandte Informationen