私の問題は、ext4ファイルシステムを使用するUbuntu LinuxシステムからexFatシステムを使用するSandisk 1TB USBカードにファイルをコピーしようとしていることです。
ext4システムでは、完全なディレクトリ構造は〜2.5Gbを占めます。 USBドライブのexFatシステムにコピーしたところ、約290GBに増えました。
コピーしているファイルはイメージファイル(.jpg)です。私が知っている問題は、元のファイルがまれなファイルであることです。デフォルトでは、ext4システムはそれを圧縮し、見かけのサイズははるかに小さい(ファイルあたり約10k)。しかし、MSDNサイトで見られるように、exFatシステムは非圧縮であり、スパースファイルを非スパースな方法で保存します。 (コピーを複数回試して強制的に「cp」や「tar gzip」などを介して…運はありません。Linux--> SanDisk(exFat)またはMacOS--> SanDiskでも同様です。)
次の例は、SanDisk exFat構造内の「du -all -h」の最後の5行です。
du -all -h
.
.
1.0M ./img_00000026.jpg
1.0M ./img_00000089.jpg
1.0M ./img_00000032.jpg
1.0M ./img_00000081.jpg
1.0M ./img_00000086.jpg
1.0M ./img_00000049.jpg
1.0M ./img_00000037.jpg
101M .
「見かけのサイズ」パラメータを使用する場合:
du -all --apparent-size -h
.
.
7.3K ./img_00000026.jpg
7.8K ./img_00000089.jpg
5.0K ./img_00000032.jpg
7.5K ./img_00000081.jpg
9.1K ./img_00000086.jpg
8.8K ./img_00000049.jpg
6.6K ./img_00000037.jpg
1.9M .
Linux側(ext4システム)で同じことを行うと、両方のリストが同じになります。常に見かけのサイズが表示されます。
私の質問:exFatシステムが私のすべてのスペースを占有しないように見掛けサイズを使用するように(または圧縮された方法で書くが希薄ではない)、強制的に使用する方法はありますか?
SanDisk USBを別のファイルシステムに再フォーマットせずにソリューションを探しています。