如何使 ext4 文件系统变得稀疏?

如何使 ext4 文件系统变得稀疏?

我在 VirtualBox 中使用 Linux 作为来宾操作系统。我从其文件系统中删除了大量文件。现在我想缩小文件系统映像文件(vdi)。收缩是通过压缩磁盘中具有“空”值的文件系统映像来实现的。

似乎有一个应用程序叫零自由可以将“null”写入文件系统的可用空间,使其变得稀疏。但说明书上说它只适用于 ext2/ext3。我的来宾操作系统上有 ext4。

  1. 为什么它不能在 ext 4 上工作(引用的原因是“范围”,但有人可以进一步说明它)吗?

  2. 如果我安装它会起作用吗分机4作为分机3然后重新安装为分机4

  3. 还有其他工具可以在 ext 上做类似 Zerofree 的事情吗?

答案1

您引用的页面(http://intgat.tigress.co.uk/rmy/uml/index.html) 状态:

The utility also works on ext3 or ext4 filesystems.

所以我不确定你从哪里得知它不适用于 ext4 文件系统。

请注意,零自由公用事业与zerofree不同内核补丁在同一页上提到了这一点(实际上似乎没有 ext4 的版本)。

更新:至少就 VirtualBox 而言,我认为您根本不需要这个实用程序。在我的测试中,在 ext4 上安装的 Ubuntu 10.04 上,您可以将文件系统清零,如下所示:

$ dd if=/dev/zero of=test.file

...等待虚拟磁盘填满,然后

$ rm test.file

并关闭虚拟机。然后在您的 VirtualBox 主机上执行以下操作:

$ VBoxManage modifyhd --compact yourImage.vdi

您将恢复所有未使用的空间。

答案2

您可以使用e2fsprogs,有一个可与 ext4 一起使用的版本。

让自己成为超级用户:

# su

卸载您的驱动器:

# umount /dev/sda1

删除驱动器的日志:

# tune2fs -O ^has_journal /dev/sda1

然后调整文件系统的大小:

# resize2fs /dev/sda1 30G

相关内容