Dateiinkonsistenz ... erscheint nicht in 'ls -a', aber es existiert?

811
luca

Ich habe rsync(3.0.6) unter Mac OS X 10.6 (Snow Leopard) ausgeführt, um einen Ordner von einer externen Festplatte (FAT32) auf einer anderen externen Festplatte (FAT32) zu sichern. Irgendwie werden bestimmte Dateien (und manchmal ändern sie sich!) Mit einem anderen Dateinamen kopiert. Zum Beispiel:

campo_2006_valcanale_127.jpg --> CAMPO~40.JPG 

Geschrumpft und großgeschrieben, natürlich löscht rsync das nächste Mal das CAMPO ~ 40.JPG und kopiert es erneut, aber es wird fast immer wieder durcheinander gebracht. Manchmal funktioniert es, aber auch Dateien, die in Ordnung waren, werden beschädigt.

Wenn ich jetzt in das Zielverzeichnis gehe und eine ls -aDatei sehe, kann ich die Datei nicht sehen, campo_2006_valcanale_127.jpgda sie irgendwie umbenannt wurde, die Datei aber campo_2006_valcanale_127.jpgtatsächlich existiert! Ich kann es anzeigen, ich kann darauf schreiben usw., es ist einfach unsichtbar! Vielleicht ist es nur der Dateiname, der sich seltsam verhält ...

Das gleiche Verhalten erhalte ich, wenn ich Dateien manuell kopiere (using cp) und selbst wenn ich sie mit dem „Finder!“ Kopiere, ziehe ich eine Datei und der Name ändert sich!

Wenn Sie irgendeine Andeutung, bitte sagen Sie mir ... Ich kann weitere Informationen zur Verfügung stellen, wenn es sein muss.

1

1 Antwort auf die Frage

1
James Polley

Die verkürzten Dateinamen sind Artefakte von FAT32. Jede Datei, deren Name länger als die alten 8.3-Grenzwerte ist, erhält einen verkürzten Namen, wie Sie gesehen haben. Verwenden Sie ein geeignetes Dateisystem, das lange Dateinamen nativ behandelt, anstatt einen bizarren Hack zu verwenden. Dieses Problem tritt nicht auf (z. B. NTFS, HFS, ext - alle Dateien behandeln nativ lange Dateinamen). Wikipedia hat mehr Details zum langen Dateinamen- Hack, den FAT32 verwendet

FAT32 hat auch andere Probleme, die es für rsync schwierig machen zu arbeiten - zB speichert es keine Zeitstempel mit großer Genauigkeit, so dass rsync nicht seine normalen Heuristiken verwenden kann.

Die rsync-FAQ enthält einen Eintrag in rsync, der die gleichen Dateien mehrmals kopiert. Kurz gesagt, es ist wahrscheinlich der Zeitstempel, der den größten Teil der Neusynchronisierung verursacht. modify-window=1oder vielleicht modify-window=2sollte dies behoben werden.

Ja, ich weiß das, aber das Seltsame ist, dass es manchmal passiert, aber manchmal nicht. Mein Problem ist, dass ich in einer Mac / Windows-Umgebung bin .. und diese Festplatte muss von beiden Macs angesprochen werden ein Computer .. luca vor 14 Jahren 0
Was scheiße ist, denn es gibt kein gutes Dateisystem, auf das alle Macs, Windows und Linux mit Ausnahme von fat32 problemlos zugreifen können. Wir hängen also alle mit diesem Chaos zusammen * seufz * James Polley vor 14 Jahren 0
OSX & Linux können NTFS-3g verwenden, um NTFS zu lesen / schreiben, sodass FAT32 nicht mehr benötigt wird. quack quixote vor 14 Jahren 0
Nicht sofort lieferbar; obwohl die meisten Linux-Distributionen mittlerweile FUSE und NTFS-3g enthalten sollten. James Polley vor 14 Jahren 0