Auswerfen / sicher entfernen vs umount

43

Ich verwende Ubuntu 12.04 und wenn ich bei gedrückter Maustaste auf das Symbol für mein Flash-Laufwerk (in der linken Leiste von Unity) klicke, werden zwei Optionen angezeigt, die mich verwirren: Auswerfen und sicheres Entfernen .
Je näher ich einer Antwort kam, desto mehr kommt dieser Forenthread zu dem Schluss, dass sie (für ein Flash-Laufwerk) beide gleich sind und auch gleichwertig sind, um den umountBefehl zu verwenden. Diese letzte Behauptung scheint jedoch falsch zu sein.
Wenn ich umountmeinen Flash-Tauchgang über die Konsole aushänge und dann den Befehl verwende lsblk, wird mein Gerät weiterhin angezeigt (natürlich ohne MOUNTPOINT). Wenn ich hingegen mein Flash-Laufwerk auswerfe oder sicher entferne , wird lsblkes nicht mehr aufgelistet.

Meine Frage ist also, was wären die Konsolenbefehle, die das Verhalten beim Auswerfen und sicheren Entfernen wirklich reproduzieren würden ?

LGenzelis
quelle
3
Möglicherweise finden Sie eine .desktop-Datei für das Symbol unter /usr/share/applications/oder so ähnlich. Wenn Sie es in einem Texteditor öffnen, entspricht das Feld Exec = ... dem Befehl, der ausgeführt wird, wenn Sie darauf klicken.
Spelufo

Antworten:

64

Wenn Sie verwenden, systemdverwenden Sie das udisksctlDienstprogramm mit der power-offOption:

ausschalten

Legt fest, dass das Laufwerk sicher entfernt und ausgeschaltet wird. Auf der Seite des Betriebssystems umfasst dies, dass sichergestellt wird, dass kein Prozess das Laufwerk verwendet, und anschließend angefordert wird, dass Puffer und Caches während des Flugs für einen stabilen Speicher festgeschrieben werden.

Ich würde empfehlen, zuerst alle Dateisysteme auf diesem USB-Stick zu entfernen. Dies kann auch mit erfolgen udisksctl, so wären Schritte:

udisksctl unmount -b /dev/sda1
udisksctl power-off -b /dev/sda

Wenn Sie nicht verwenden, sollte systemdalte Ware udisksfunktionieren:

udisks --unmount /dev/sda1
udisks --detach /dev/sda
jimmij
quelle
Oh man - mir wurde erst jetzt klar, dass die Frage lautete, wie dies von der Kommandozeile aus zu tun ist - nicht, was der Unterschied zwischen einer Sache und einer anderen ist. Ich werde meine Antwort nicht löschen, weil ich denke, dass sie eine Perspektive bietet - aber Ihre Antwort ist die richtige für Linux-Systeme, denke ich (weiß nicht einmal, ob dies sowieso eine BSD-relevante Frage ist ...) .
mikeserv
4
udisksctl power-offscheint in meinem Fall nicht mit "sicher entfernen" gleichzusetzen zu sein. Mit einer Micro-SD-Karte in meinem internen Kartenleser, Gerät /dev/sdd, keine gemounteten Dateisysteme, wenn ich den Befehl verwende udisksctl power-off -b /dev/sdd, erlischt die LED des Lesers, aber dann wird das gesamte Gerät funktionsunfähig, da es buchstäblich vollständig ausgeschaltet ist. Ich muss das System neu starten, damit es wieder verwendet werden kann.
Bestätigen Sie den
1
Für @ack: Sie können den (möglicherweise internen) Hub, an dem der Reader angeschlossen ist, deaktivieren / aktivieren. Da es sich um einen Hub handelt, wird auch alles gelöscht und neu aufgelistet, einschließlich des fehlenden Geräts. udisksctl power-off -b /dev/mmcblk0Ich hoffe, Sie können dieses Beispiel lesen: mmc0: Karte aaaa entfernt usb 3-1.8: USB-Trennung, Gerätenummer 41 cd /sys/bus/usb/devices/usb3/3-1 echo 0 > authorized echo 1 > authorizedHub 3-1: 1.0: USB-Hub gefunden usb 3-1: autorisiert, USB 3-1.8: Neues USB-Gerät gefunden , idVendor = 0bda, idProduct = 0129 mmc0: Neue Ultra-High-Speed-SDR50-SDHC-Karte bei Adresse aaaa
AB
14

umountist absolut sicher für die Festplatte. Sobald Sie dies getan haben, haben Sie das Dateisystem erfolgreich ausgehängt und müssen sich keine Sorgen mehr machen. Der Hauptunterschied zwischen Auswerfen und umountNicht- Auswerfen betrifft die Festplatte - es geht vielmehr um die 5-V-Leistung des USB-Anschlusses.

Danach umountkönnen Sie Ihre Festplatte weiterhin in der Liste sehen, lsblkda sie noch eingeschaltet und angeschlossen ist. umountDas Dateisystem einer internen Festplatte und Sie werden das gleiche Verhalten aus dem gleichen Grund sehen. Aber wenn Sie ein USB-Gerät auswerfen, schalten Sie es aus und es zieht normalerweise keine 5 V mehr - ich denke, es rieselt auf 0,5 V herunter, aber diese Klasse ist schon lange her.

lsblk -f /dev/disk/by-id/usb-SanDisk_Cruzer_200522428118F4325EC2-0:0
NAME   FSTYPE LABEL   UUID                                 MOUNTPOINT
sdd                                                        
├─sdd1 vfat   USBESP  3AD6-C7CC                            
└─sdd2 ext4   USBROOT 5afbfe93-6955-44ec-8c4f-cf381f8ef174 

Hier ist der USB-Bus-Pfad ...

cat /sys/bus/usb/devices/5-3/manufacturer 
SanDisk

Obwohl ich es fast nie gemountet habe, ist es seit langer Zeit eingesteckt und blinkt, denke ich ...

cat /sys/bus/usb/devices/5-3/power/{level,connected_duration}
on
1777877440

Daran sollte ich etwas ändern:

echo 1 | sudo tee /sys/bus/usb/devices/5-3/remove                                      

Jetzt schaue ich es mir nochmal an ...

cat /sys/bus/usb/devices/5-3/power/level                            
cat: /sys/bus/usb/devices/5-3/power/level: No such file or directory

Hmmm...

lsblk -f /dev/disk/by-id/usb-SanDisk_Cruzer_200522428118F4325EC2-0:0
lsblk: /dev/disk/by-id/usb-SanDisk_Cruzer_200522428118F4325EC2-0:0: not a block device
mikeserv
quelle
1
Vielen Dank. umountIst es nach einer externen Festplatte sicher, die externe Festplatte vom Computer zu entfernen?
Tim
1
Ich denke nicht, dass dies umountgleichbedeutend ist mit "sicher entfernen", und auch nicht udisksctl power-off, siehe meinen Kommentar zu der anderen Antwort. Vergleichen Sie zum Beispiel das Verhalten in Windows. Ich vermute, dass Windows nicht nur die Dateisysteme auf dem Gerät "aushängen" kann. Ich habe es externe Festplatten Abzentrifugieren beobachtet, Ausschalten LEDs auf Kartenleser ( ohne das Gerät nachträglich unbrauchbar macht , es sei denn replugged oder das System neu gestartet) usw.
ack
2
@ack - was hat Windows damit zu tun? und warum raten Sie? und Sie müssen nicht neu starten, damit es wieder verwendet werden kann. Sie umountes. dann schalten Sie es aus. und ich habe nie irgendetwas in der udiskctleinen oder anderen Richtung vorgeschlagen.
mikeserv
1
@mikeserv "Hardware sicher entfernen" ist der in Windows verwendete Ausdruck. Es ist wahrscheinlich, dass andere Systeme diesen Ausdruck aufgrund der Vertrautheit des Benutzers kopiert haben. Es ist wichtig, es vom reinen Aushängen des Dateisystems zu unterscheiden. Ein Beispiel dafür, wo dies sehr wichtig ist, ist, wenn das Betriebssystem über das Schreib-Caching eines Speichergeräts unsicher ist. Ich habe persönlich einen erheblichen Datenverlust (beschädigter Superblock und beschädigte Dateien) erlebt, nachdem ich lediglich eine externe Festplatte ausgehängt und ausgesteckt habe. Ich fand später heraus, dass Linux davor gewarnt hatte: "Keine Caching-Modus-Seite gefunden", "Angenommen, Laufwerk-Cache: Durchschreiben".
Bestätigen Sie den
1
@ack - nein, das ist nicht wichtig. dein problem ist wahrscheinlich dein acpi. Das hat nichts mit dem Betriebssystem zu tun - nur, dass Ihr Board-Hersteller nur Treiber für ein Betriebssystem geschrieben hat. Diese kleinen Multicard-Geräte erfordern einen relativ geringen Zugriff auf das Kartenziel - sie müssen in der Lage sein, Dinge wie Eye-Fi zu tun. Sie sind keine Blockgeräte - sie sind Zeichengeräte. Sie sind überhaupt nichts wie USB-Festplatten. Das Board-ROM muss sie separat behandeln, und wenn Ihr Anbieter sie schlecht unterstützt (es ist nicht ungewöhnlich - versuchen Sie, von einem zu booten), haben Sie Pech. Aber es ist nicht das Problem von Linux.
mikeserv