Linux マシン上で実行されるカスタム Bash スクリプトを使用して、FAT32 形式の USB ドライブを大量に複製しています。
「隠しファイル」などの Windows ファイル属性を保持する必要があります。
私はrsync
(または新しいバージョンdd
では)を使用して、安定性の向上と帯域幅の最適な使用のために I/O 同期を強制します。find
mkdir
一部のファイル属性を保持すると言われている の およびスイッチを-X
盲目的に試してみましたが、Windows のファイル属性では機能しないようです。-A
rsync
Linux 環境で Windows ファイル属性を読み書きする方法はありますか?
もっと簡単な方法がない場合は、コピーしてから適用することもできます。
dd
ソース ファイル システム全体をコピーしたくはありません。これは、特に数百のドライブに書き込む必要がある場合に、最適化が不十分になるためです。ドライブの容量が 16 GB で、ファイルが数 GB しかない場合もあり、愚かな人dd
は 16 GB すべてをコピーすることになり、実稼働環境でこれを機能させるには時間がかかりすぎます。
Web で検索してみましたが、Linux 拡張属性は Windows ファイル属性とは関係がないようです。また、この情報を読み書きする方法 (またはファイルと一緒にコピーする方法) も見つかりませんでした。
答え1
これに対処する方法はいくつか考えられます。
1つ目はMツールファイルをコピーします。これを機能させるには、「ドライブ」を定義する(ソースドライブはA:、ターゲットはB:とします)その後、属性とタイムスタンプを保持したまますべてをコピーできるはずです。
mcopy -s -p -m a: b:
(未テスト)。
2 つ目は、 を使用して属性を後処理することですfatattr
(ほとんどのディストリビューションで使用可能)。これはマウントされたファイル システムを処理するので、現在と同じ方法でファイル システムをコピーし、 を使用してすべてのソース ファイルのすべての FAT 属性をリストし、それを解析してターゲット ファイルに適切な属性を設定するようにfatattr
指示します。fatattr