dedlfix: USB-Festplatte

Beitrag lesen

echo $begrüßung;

Und Linux benutzt genau wie Windows oft einen Write-Cache, also wird auf verzögert geschrieben.

Deshalb würde ich sagen, "umount" ist dein Freund. ;-)

Soweit ich weiß, lässt sich der umount nicht ausführen, wenn das Dateisystem "busy" ist, also Dateien offen sind oder ein Prozess sein Arbeitsverzeichnis dort hat. Das heißt, es arbeitet auf Dateisystemebene.
Der Cache hingegen dürfte sich nicht für das Dateisystem interessieren. Er müsste auf der darunter liegenden Ebene arbeiten, also Blöcke (Cluster, ... wie auch immer) verwalten.
Ein "sync" stellt sicher, dass geänderte Blöcke auf das Medium geschrieben werden.

Wer will kann ja mal folgenden Test machen, um zu bestätigen/widerlegen, dass sync vor umount erforderlich ist oder ob umount von sich aus sync aufruft[*]:
Man nehme einen USB-Stick (mit möglichst langsamen Schreibzugriff) und kopiere eine Menge Daten darauf (z.B. 100 MB). Direkt nach Beendigung des Kopiervorgang rufe man ein sync auf und müsste feststellen, dass es eine Weile dauert, bis der Prompt wieder erscheint. Den gleichen Vorgang führe man nun mit umount und ohne sync aus.
Zwischen beiden Teilen des Versuchs ist es sicher ratsam, das Dateisystem auf dem USB-Stick neu zu initialisieren, nicht dass sich irgend ein Mechanismus merkt, dass er die Daten schon kennt und das Schreiben abkürzt und somit das Messergebnis fälscht.

echo "$verabschiedung $name";

[*] Momentan kann ich es nicht selbst probieren. Und ansonsten habe ich bisher immer sync vor umount verwendet, kann also nicht sagen, was sich bei umount ohne sync ergibt.