ext4ファイルシステムからexfatファイルシステムにスパースファイルをコピーし、見かけのサイズを維持する方法は?

ext4ファイルシステムからexfatファイルシステムにスパースファイルをコピーし、見かけのサイズを維持する方法は?

私の問題は、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を別のファイルシステムに再フォーマットせずにソリューションを探しています。

ベストアンサー1

おすすめ記事