Skip to content

Nautilus "vergisst" Datum und Uhrzeit beim Kopieren unter Ubuntu 8.04

In der neuen GNU/Linux-Version Ubuntu 8.04 (Hardy Heron) weist der Gnome-Dateimanager Nautilus eine Eigenheit auf, die von einigen als Feature, von anderen als Bug angesehen wird: Das Datum einer Datei wird auf den Moment des Kopiervorgangs gesetzt, nicht auf das Entstehungsdatum der Ursprungsdatei. Es lassen sich mehrere Gründe konstruieren, warum das so sein soll, angefangen von "das haben wir schon immer so gemacht" (gemeint ist das Verhalten des Shell-Befehls "cp"), über "eine Kopie ist eine neue Datei, das soll man gefälligst auch sehen können" bis zu "Linux ist schließlich nicht Windows".

Ohne die Diskussion über Sinn und Unsinn dieses Verhaltens fortführen zu wollen (das kann, wer mag, hier tun), stand ich plötzlich vor dem Problem, einige hundert Digitalfotografien in diversen Ordnern zu haben, die ein völlig falsches Dateidatum aufwiesen. Für alle, denen ähnliches widerfahren ist: es gibt ein einfaches Programm, das das Dateidatum einer Fotografie wieder auf deren Aufnahmedatum zurücksetzen kann. Es heißt jhead, wurde von Matthias Wandel geschrieben und repariert das Datum aller Foto-Dateien eines Ordners mit einem einfachen Aufruf:
jhead -ft *.JPG

JHead gibt es für Linux, OS X und Windows. Unter Ubuntu Linux ist es Bestandteil des Universe-Repositorys und kann mittels Synaptic installiert werden. Ein großes Dankeschön an Matthias Wandel für sein tolles Programm!

Nachtrag (20. Juni 2008): Der Fehler ist behoben worden und die neue Version der dafür zuständigen GLib-Bibliothek - libglib2.0-0 in der Version 2.16.3-1ubuntu3 - wird in Kürze über die Aktualisierungsfunktion verfügbar sein.

Fortschrittsanzeige für dd beim Backup großer Festplatten

Wer schon einmal komplette Festplatten mittels dd kopiert hat (siehe unten), fragte sich wahrscheinlich nach spätestens einer halben Stunde, ob das Programm wirklich was tut und wenn ja, wie lange noch. Das unkomplizierteste aller Backupprogramme zeigt leider weder Fortschrittsbalken noch andere Statusinformationen an. Man kann es aber dazu bringen, eine Meldung über die bereits kopierte Datenmenge, die verstrichene Zeit und den durchschnittlichen Datendurchsatz auszugeben. Dazu öffnet man ein zweites Terminalfenster und gibt dort folgendes ein:
sudo kill -SIGUSR1 $(pidof dd)

Um alle 10 Sekunden über den Verlauf der Datensicherung informiert zu werden, kann man den Aufruf auch in eine kleine Schleife packen:
while /bin/true; do sudo kill -SIGUSR1 $(pidof dd); sleep 10; done

Nun gibt dd solange Statusmeldungen aus, bis die Schleife mittels Strg-C abgebrochen wird.

Nachtrag (24. Mai)
Den Referrern nach zu urteilen, schickt Google mir gerade etliche Anwenderinnen und Anwender, die wissen möchten, wie man komplette Festplatten unter Linux kopiert. Das ist ganz einfach. Angenommen, die vorhandene Festplatte, die kopiert werden soll, heiße /dev/sda und die Platte, auf die kopiert werden soll, sei /dev/sdg, so lautet der Kopierbefehl schlicht:
sudo dd if=/dev/sda of=/dev/sdg

Die Namen der Festplatten bekommt man beispielsweise mittels
sudo fdisk -l
heraus.

Beim Kopieren muss unbedingt darauf geachtet werden, dass die neue Festplatte mindestens so groß ist wie die alte. Und, ganz wichtig: dd fragt nicht "sind Sie sicher?" - es fängt einfach an zu kopieren. Wer sich mit der Angabe der Zielfestplatte vertut, ruiniert innerhalb von Sekunden sämtliche Daten, die dort gespeichert sind.