Administration IT Linux

ISO kodierte Dateinamen auf UTF-8 Volume kopieren

Lange Zeit hab ich diesen Schritt vor mir hergeschoben, aufgrund einer Hardwareneuanschaffung musste jetzt aber eine Lösung her.

Das Problem: Ein alter Server (Debian Sarge), der noch nicht UTF-8 als default locale gesetzt hatte, sondern iso-8859-15. Somit waren die deutschen Umlaute solange ok, solange man mit einem Terminal mit gesetzter iso-8859-15-Codepage ein ‚ls‘ auf die betroffenen Dateien ausführt, bzw. enstprechend zu einem anderen Frontend wandelt. Kopiert man die Daten mithilfe von scp, nfs und co. auf einen anderen Host (neueren Datums) mit gesetzter UTF-8 locale, kommt nur noch Datensalat bei den Umlauten herum und schon das Öffnen oder Umbenennen der Dateien kann zum Problem werden (wenn man die kaputten Zeichen nicht richtig escape’d).

Hierfür gibt es aber schon seit geraumer Zeit das Tool ‚convmv‘. Es gab sogar seit 2008 keine Updates mehr, wodurch man wohl davon ausgehen kann, dass sie hinreichend stabil und fehlerfrei ist. Genau genommen ist das sogar nur ein Perl Skript, sodass es auch dann kein Problem sein sollte, wenn das Paket nicht in der Paketverwaltung der eigenen Distribution zu finden ist, dann lädt man es einfach hier herunter und entpackt das Archiv. Convmv kann nicht nur einzelne Dateien oder Ordner mit Dateien umwandeln, sondern ganze Dateibäume bis hin zu ganzen Dateisystemen – und das sogar ziemlich flott.

Auf dem Zielsystem (mit ‚kaputten‘ Umlauten) startet man das Tool, indem man Quell- und Ziellocale gleich mitangibt.

# convmv -f iso-8859-15 -t utf-8 *
Starting a dry run without changes...
mv "./Malvenbl�ten.tif"	"./Malvenblüten.tif"
mv "./Melissenbl�tter.tif"	"./Melissenblätter.tif"
mv "./M�rser aus Olivenholz bearbeitet.psd"	"./Mörser aus Olivenholz bearbeitet.psd"
mv "./M�rser aus Olivenholz.psd"	"./Mörser aus Olivenholz.psd"
No changes to your files done. Use --notest to finally rename the files.

Jetzt ist es an der Zeit zu checken, ob alle Umlaute korrekt konvertiert wurden, bevor man die Änderungen am produktiven Dateisystem durchführt. Die letzte Zeile der Ausgabe gibt den Hinweis, dass man erst explizit den –notest Parameter setzen muss, um das Programm „scharf“ zu schalten.

Dies ist übrigens kein Aprilscherz.

Autor

Seit Kindheitstagen ist der Computer sein Begleiter. Was mit Linux anfing, wurde 2005 ein/e Beruf/ung, die weit über den Arbeitsplatz hinausgeht. Durch stetige Weiterentwicklung fasste er auch im *BSD Segment Fuß und bietet mittlerweile professionelle Lösungen im Bereich Hosting, Networking und Infrastruktur an. Als Ausgleich beschäftigt er sich neben Computerspielen mit der Fotografie.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.