Linuxのファイル内の圧縮ファイルシステム

Linuxのファイル内の圧縮ファイルシステム

FAT32でフォーマットされたフラッシュドライブがあります。 Linuxファイルシステムをドライブのファイルに保存したいと思います。ファイルを作成し、ext3(または他のファイルシステム)でフォーマットし、-oループオプションを使用してマウントすることでこれを行うことができます。私が望むのは、上記のファイルシステムを圧縮することです。読み書きにはデフォルトでsquashfsに似ています。

私が使用できるものはありますか?ファイルをスパースとして保存できる場合、追加の利点があります。つまり、データの書き込みまたは削除時にファイルのサイズが変更されます。

答え1

書き込み.7zまたは.tgz他の.zip圧縮アーカイブファイル。

ボーナス:どこでも読むことができます。

欠点:ファイルが多いと速度が遅くなることがあります。

使用AVFSアーカイブ内のファイルに透過的にアクセスします。

mountavfs
mount /dev/my_flash_drive /media/flash0
rsync -au mydata/foo/ ~/.avfs/media/flash0/archive.tgz\#/foo/
umount /media/flash0

答え2

BTRFSには圧縮モードが組み込まれていますが、正しいインストールオプションがあります。そしてファイルは最終サイズでなければなりません。 BTRFSはすぐにパーティションのサイズを変更できるためできるファイルサイズを増やすために何かをハックすることは可能ですが、私は一度も試したことがなく、今後も試してみません。

しかし、最良の方法は、より大きなフラッシュドライブを購入し、圧縮の問題を解決しないことです。

関連情報