我正在寻找一种透明地压缩目录中的文件的方法,这些文件将通过 SMB 共享。
我有一台运行 Ubuntu 18.04.1 LTS 的服务器,我用它来存储文件。我主要想做的是透明地压缩包含 ISO 文件的文件夹,以便网络上的任何计算机都可以读取它们,而这些计算机甚至不知道它们已被压缩。
我无法压缩 ISO 文件本身,例如压缩为 .7z 存档或 .cso 文件,因为它们是 PS2 ISO 文件,只能作为 ISO 文件传输到经过改装的 PS2,而不能压缩。我尝试编译两个版本的 fusecompress特克斯和赫克塞勒尽管我拥有所有需要的软件包,并且遵循了一些不同的指南,但它们都拒绝在我的系统上进行编译。比如这个。
我看过一些关于如何使用 archivemount 之类的程序将压缩档案挂载为 r/w 的指南,但我不喜欢它们的操作方式。它们不会即时进行压缩,而是等到您卸载档案后才进行压缩。我希望有一种无缝执行的方法,就像 NTFS 压缩在 Windows PC 上的工作方式一样。我读到过 btrfs 在当前内核 >4.0 上无法很好地工作,而且它已经是一个 ext4 分区。
它是 3 个磁盘上的 LVM 卷,仅用于存储容量,ZFS 可能不太喜欢它。
答案1
我希望找到一种无缝完成此操作的方法,就像 NTFS 压缩在 Windows PC 上的工作方式一样。
如果这是您的要求,那么您需要一个支持本机压缩的文件系统。这意味着 ZFS 或 BTRFS,除非您认为 Reiser4 仍能满足您的支持。
您当前的 LVM/ext4 配置不支持您所述的要求。
要么放弃要求,要么放弃配置。
答案2
如果你的数据是只读的(你指的是 ISO 映像,它是只读的),你可以使用壁球。它类似于可挂载的 .tar.xz。有一个内核驱动程序,需要 root 权限才能挂载,还有一个 FUSE 驱动程序,性能较差,但可以让普通用户挂载。