Ich verwende ein benutzerdefiniertes Bash-Skript, das auf einem Linux-Computer ausgeführt wird, um FAT32-formatierte USB-Laufwerke massenweise zu duplizieren.
Ich muss Windows-Dateiattribute wie "versteckt" beibehalten.
Ich verwende rsync
(oder dd
mit find
und mkdir
in einer neueren Version, um die E / A-Synchronisierung für eine bessere Stabilität und eine optimale Bandbreitennutzung zu erzwingen).
Ich habe blind versucht -X
und -A
gewechselt rsync
, dass einige Dateiattribute erhalten bleiben sollen, aber sie scheinen für Windows-Dateiattribute nicht zu funktionieren.
Gibt es eine Möglichkeit, Windows-Dateiattribute in einer Linux-Umgebung zu lesen und zu schreiben?
Ich könnte sie nach dem Kopieren anwenden, wenn es keinen einfacheren Weg gibt.
Ich möchte nicht dd
ein komplettes Quelldateisystem verwenden, da dies nicht optimiert wird, insbesondere wenn Sie Hunderte von Laufwerken schreiben müssen. Manchmal haben die Laufwerke eine Kapazität von 16 GB und nur wenige GB Dateien - und ein Dummkopf dd
kopiert alle 16 GB, was viel zu lange dauert, bis dies in der Produktion funktioniert.
Ich habe im Web gesucht, aber es sieht so aus, als hätten erweiterte Linux-Attribute nichts mit Windows-Dateiattributen zu tun, und ich habe keine Möglichkeit gefunden, diese Informationen zu lesen und zu schreiben (oder sie einfach mit den Dateien zu kopieren).
rsync
oder manuellefind
/mkdir
/dd
Bedienung, die ich gerade benutze.fatattr
für eine Implementierung eines Tools, das diese verwendet.Antworten:
Ich kann mir ein paar Möglichkeiten vorstellen, damit umzugehen.
Die erste besteht darin, Mtools zum Kopieren der Dateien zu verwenden. Damit dies funktioniert, müssen Sie "Laufwerke" definieren (z. B. A: für das Quelllaufwerk, B: für das Ziel). Anschließend sollten Sie in der Lage sein, alles zu kopieren und dabei Attribute und Zeitstempel beizubehalten
(ungetestet).
Die zweite besteht darin, die Attribute mit
fatattr
(die in den meisten Distributionen verfügbar sind) nachzubearbeiten. Es behandelt gemountete Dateisysteme, sodass Sie Ihre Dateisysteme auf die gleiche Weise wie derzeit kopieren und dannfatattr
alle FAT-Attribute aller Quelldateien auflisten und diese analysieren, um anzuweisenfatattr
, die Attribute für die Zieldateien entsprechend festzulegen .quelle
mcopy
Absturz beim Versuch, den Ordner "System Volume Information" zu kopieren, was einen GCC-Fehler "Stack Smashing Detected" auslöste. Also werde ich es versuchenfatattr
.