Linux Mint: Kopieren auf SD-Karte beendet - oder doch nicht?

DIY-Junkie

Freizeitschrauber(in)
Guten Abend,
ich möchte jetzt mal etwas ansprechen, das mich schon lange irritiert. Und zwar geht es um das Kopieren größerer Datenmengen von einer Festplatte auf eine SD Karte unter Linux Mint. Der Prozess wird irgendwann als beendet deklariert, aber er ist es nicht.

Aus gegebenem Anlass: ich kopiere gerade meine Musiksammlung auf eine MicroSD Karte. Das geht von einer internen SATA Festplatte auf eine SDHC Class 10 Karte. Volumen sind etwa 100 Gb, die ich aber immer so auf 10 GB aufsplitte.
Nach dem Start wird eine Transferrate angezeigt, die um die 100 MB/s beträgt. Nach etwa einer Minute erscheint die Meldung, "Caja, process completed". Die blaue LED meines Kartenlesers blinkt aber genauso weiter. Will ich die SD auswerfen, bekomme ich die Meldung, dass noch Daten geschrieben werden und ich warten soll.
Mittels
sudo iostat -d 2
erfahre ich, dass noch immer Daten geschrieben werden, mit ca. 35000 KB/s.
Offensichtlich sind die Dateien aber bereits da und auch abspielbar (stichprobenartig geprüft).

Was zum Henker ist hier los?
Ich sollte vllt. noch erwähnen, dass mir das nicht nur mit dieser SD Karte so geht. Auch andere via USB angeschlossene Geräte zeigen ein ähnliches Verhalten. Auffällig ist es aber natürlich nur bei großen Datenmengen, die nicht mit einem Fingerschnipsen sofort fertig kopiert sind.
 
Zuletzt bearbeitet:
Der Kopiervorgang oder Ausschneiden und Einfügen Prozess unter Linux dauert etwas.
Bsp.: Auf der NTFS Platten werden 10GB Kopiert/Augeschnitten und Eingefügt > Transferrate 35MB dauer 7 min verbleibend... Man muss danach nochmals 5 - 7 min warten ehe das ganze fertig ist.
Bei einer externen Festplatte mit einer Lampe/Beleuchtung sieht man dies, wie die Platte trotz des fertigen Vorgangs weiter arbeitet.
 
Was zum Henker ist hier los?
Nennt sich Cache und macht Linux sehr exzessiv.
Hierbei wird nicht sofort auf die Platte/Stick/etc. geschrieben, wenn die langsamer ist oder gerade anderweitig ausgelastet ist, sondern in den RAM. Dann MUSS man die Partition unmounten (entweder per GUI oder umount /dev/sdXY) und dann beginnt der endgültige Schreibvorgang. Wenn dann umount fertig ist, ist es wirklich auf dem Datenträger.

EDIT:
Auf gar keinen Fall einfach Datenträger abziehen ohne umount und eject gemacht zu haben!
 
Ich verstehe den Sinn dahinter nicht. In den RAM kommt das bei jedem Kopiervorgang doch sowieso, oder nicht?
Die GUI Meldung, dass der Vorgang abgeschlossen wurde, ist dann aber massiv irreführend. Zumal das Betriebssystem die Daten bereits am Ziel vortäuscht, denn sie sind von dort ausführbar, liegen aber eigentlich noch im RAM. Die 100 MB/s, die angezeigt werden, entsprechen so ziemlich der realistischen Leserate der Daten von der HDD. Der Vorgang wird also als abgeschlossen deklariert, wenn alle Daten gelesen wurden (und im RAM abgelegt sind). Wer programmiert sowas? Wie kommt man auf die Idee, dass dieses Verhalten dem Benutzer irgendwie etwas bringt, außer Konfusion und Datenverlust?
Vielleicht sollte ich etwas RAM entfernen, um diesem Spuk ein Ende zu setzen :D
 
Tja das liegt an den Entwicklern.

Kurzes OT. Von LM 19.2 auf 19.3 nur noch Probleme gehabt: Local Video und Local Audio Stutter und bis jetzt wurde das unter LM 21 nicht gefixt. Die Fehler snd in LM XFCE und Mate ebenfalls vorhanden.
Bin auf Arch Linux gewchselt und siehe da, alle Probleme verschwunden:ugly:
 
Zurück