USB-Stick beim Unmounten zusehen
Wer einen USB-Stick abziehen möchte, muss vorher sicherstellen, dass er ordentlich unmounted wurde.
Das geht entweder mit dem umount
-Befehl oder per grafischer Oberfläche – je nach
Linux-Distribution ein wenig anders.
Im Bild unten ist die Geräteüberwachung von Kubuntu gezeigt, mit der ein Speichermedium sicher getrennt werden kann:
umount
scheint zu hängen
Wer jedoch schon mal eine größere Menge an Daten, z. B. riesige Videodateien, auf einen USB-Stick kopiert hat und ihn unmounten wollte, wird sich gewundert haben, wieso das ewig dauert. Mit der grafischen Oberfläche erhält man einen Ladekringel, wo nicht klar ist, ob alles ok is oder sich der Vorgang aufgehängt hat. Auf der Konsole ist es ähnlich, es tut sich nix und man bekommt kein Prompt mehr.
Das ist normal, da beim Kopieren der Daten diese nicht wirklich direkt auf den USB-Stick geschrieben werden, sondern Linux diese in einem Write-Cache hält. Drum geht das Kopieren auch so irre schnell. Erst beim Unmounten werden die Daten aus dem Write-Cache wirklich auf den USB-Stick geschrieben und das dauert seine Zeit. Zieht man den Stick ohne ordentliches Unmounten in diesem Zustand ab, so sind die Daten nicht drauf.
Leider erhält man weder mit der grafischen Oberfläche, noch mit dem umount
-Befehl auf der Konsole
einen Indikator, wie weit der Vorgang fortgeschritten ist. Es gibt aber einen kleinen Trick… :-)
Mit dem proc
-Dateisystem dem USB-Stick zusehen
Linux stellt im proc
-Dateisystem allerhand nützliche Informationen zur Verfügung. In der Datei
/proc/meminfo
befinden sich diverse Statistiken über den Speicherverbrauch. Die
zwischengespeicherten Dateien – die wir vorher auf den USB-Stick "kopiert" haben – befinden sich
im Write-Cache und der ist im Speicher. Da die Dateien aus dem Write-Cache noch nicht geschrieben
worden sind, sind sie in der /proc/meminfo
als "Dirty" bezeichnet:
thehacker@ares:~$ grep -e Dirty: /proc/meminfo
Dirty: 1246400 kB
Hier sehen wir die Ausgabe, wenn wir mit grep
nur die relevante Zeile ausgeben, die uns
interessiert. Im Beispiel sind etwa 1,2 GiB noch nicht geschrieben. Nachdem der umount
-Befehl
abgeschickt wurde, können wir beobachten, wie die Dirty-Zahl immer kleiner wird.
Wir können den watch
-Befehl nutzen, um regelmäßig die Ausgabe zu aktualisieren. Damit haben wir
einen Echtzeit-Indikator, wie lange es noch dauert, bis der USB-Stick sicher abgezogen werden darf:
watch -d -n0,5 grep -e Dirty: /proc/meminfo
-d
highlightet die Veränderungen. Das macht das Lesen etwas einfacher bzw. ist wohl auch
Geschmackssache. Du kannst diesen Parameter auch einfach weglassen. -n
gibt an, wie oft die
Anzeige aktualisiert wird. Im obigen Beispiel sind das 0,5 Sekunden.
Die Dirty-Zahl wird niemals ganz auf Null gehen. Auch kann es sein, dass gerade andere Speicherbereiche dirty sind und deshalb die Zahl erhöhen. Sie ist allerdings ein guter Indikator, wo man ansonsten gar keine Information hat.
Kommentare zu diesem Artikel
Schreib einen Kommentar zum Artikel
Vielen Dank für deinen Kommentar! :-)
Da alle Kommentare von Hand bearbeitet werden,
gedulde dich bitte, bis der Kommentar freigeschaltet wird.
Formular nicht richtig ausgefüllt.
Oops... da ist was schiefgelaufen :-(
Dein Kommentar konnte nicht gespeichert werden.
Bitte probier es später nochmal.