![Linux 中文件内的压缩文件系统](https://linux22.com/image/19233/Linux%20%E4%B8%AD%E6%96%87%E4%BB%B6%E5%86%85%E7%9A%84%E5%8E%8B%E7%BC%A9%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F.png)
我有一个 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 可以即时调整分区大小可以可以通过破解某些东西来增加文件,但我从未尝试过,也不会尝试。
但最好的方法是购买更大的闪存驱动器,而不是乱搞压缩。