klausInChristus schrieb:
Versuchte eine mit linux auf ext3 erstellte Datei mit dem furchtbaren Namen
ntfs -+:°*§$äö
auf FAT32 zu kopieren, was die Fehlermeldung brachte: Ungültiger Dateiname. Richtung NTFS ging es gut, dort war es lesbar, veränderbar, rückkopierbar (alles von Linux aus).
Es gibt Zeichen, die bestimmte Dateisysteme einfach nicht vertragen. Was nun im Beispiel dieses Zeichen ist, kann ich dir nicht sagen. Vielleicht "*"? Du kannst ja die Zeichen mal der Reihe nach durchprobieren...
Wenn ich von einer Festplatte auf die andere kopiere, möchte ich einfach, dass alle ausgewählten Dateien - egal wie der Dateiname aussieht, wirklich kopiert werden. Ich hatte beim Einkopieren meiner auf Windows erstellten Dateien von NTFS auf mein Linux-System ext3 teilweise solche Verluste. Wohl weil die Dateinamen nicht passten?
Das ist prinzip-bedingt nicht (direkt) möglich: Unter NTFS sind (zumindest windowsseitig) die Zeichen
/ \ * : ? " < > |
nicht erlaubt (Newline ist glaube ich auch nicht möglich). Interessant ist, dass von "Linux" aus diese Zeichen (bis auf /) doch möglich sind. Es ist aber sicher keine gute Idee, so etwas zu machen, da ich mir gut vorstellen könnte, dass man unter Windows dann großen Ärger mit diesen Dateien hat. Wie will man unter Windows eine Datei öffnen, die "a\b" heißt?
Ext3 verbietet dagegen nur den Schrägstrich
Stimmt das, dass sowohl das Rechte-Problem und auch das Dateinamen-Problem gelöst werden, wenn man zB mit tar komprimiert archiviert?
Dateinamen: ja. Rechte: jein. Auch in einem tar-Archiv werden die Rechte per ID gesichert. Das Problem fehlender/veränderter IDs hat man also weiterhin. Umgangen ist allerdings das Problem, das fat/ntfs an sich gar keine Unix-Rechte unterstützen. Allerdings rückt durch die Verwendung von tar die 4-GB-Grenze von fat noch mehr in den Vordergrund.
Letztlich möchte ich Folgendes - was vermutliche völlige Kompatibilität heissen soll:
Alle Windows-erstellten Dateien (NTFS) erhalten
Diese vollständig und korrekt auf meine linux-Festplatte bringen
Da sehe ich kein Problem: Das ext3-Dateisystem erlaubt alle Zeichen, die auch unter Windows möglich sind. Damit sich an den Dateinamen direkt nichts verändert, muss die unter Windows verwendete Codepage beim Mounten korrekt eingestellt sein. Ich weiß nicht, ob Windows Dateinamen nach UTF8 unterstürzt. NTFS an sich scheint das zu können. Ansonsten muß eine passendere Codepage eingestellt werden, was dann dazu führen würde, dass deine Dateien auf deinem System korrekt heißen, auf einem anderssprachigen System aber scheinbar anders heißen.
Mein Linux-System sichern
gar kein Problem, mit der Ausnahme, dass manche Dateien von Windows aus nicht zugreifbar sind. Wie gesagt: Windows erlaubt einfach nicht soviele Zeichen.
Meine gesamten Daten sichern
auch kein Problem, wenn Codepage korrekt umgesetzt wird.
Auch mit einem Windows-System (xp, vista bzw. spätere) auf alle Dateien zugreifenkönnen.
Obige Probleme: Was macht Windows, wenn eine Linux-Datei eins der genannten Problemzeichen enthält?
Ein Beispiel habe ich gerade gemacht: Unter Linux die Datei a\b.txt erstellt. Das ist ein Dateiname, in dem _kein_ Verzeichnis vorkommt.
Als tar gesichert. Beim Versuch, dieses tar unter Windows zu entpacken, wollten sowohl FileZip als auch Winzip die Datei b.txt in ein Unterverzeichnis a entpacken.