我在 Virtualbox 中安装了 Ubuntu Server。它VDI file's size is 4.2G
有一个动态分配的驱动器。当我导出它时,文件大小OVA file is 1.4G
。我想以某种方式减小 OVA 文件的大小。我卸载了所有不需要的程序并删除了不需要的文件,然后压缩了磁盘。我还尝试使用 7zip 压缩 OVA 文件,但这只会将大小减少 100MB。
这样做的原因是我想与朋友共享虚拟机。我通常会在完成虚拟机的操作后将其导出(文件->导出设备),然后发送导出的 OVA 文件。由于使用大尺寸不太方便,因此我希望将其尽可能小。我的最终目标是使 OVA 文件小于 800MB导出后。
答案1
我不清楚你对磁盘做了什么压缩。你是否在磁盘上创建了一个包含 0 的大文件,然后将其删除?如果没有,那么这样做会有很大帮助。
我突然想到你可能也有交换分区。我预计将交换分区的内容清零将产生很大的不同。我还没有测试过,但我希望你可以按如下方式执行此操作。
以 root 身份:
- 识别您的交换分区(通常在 /etc/fstab 中列出)。
- 使用“swapoff -a”卸载交换区
- 向其中写入零 - 例如,如果安装了 pv,则“pv < /dev/zero > /dev/swap-drive 或者如果您需要使用 dd,则“dd if=/dev/zero of=/dev/swap-drive bs=40960”
- 重新格式化交换驱动器“mkswap /dev/swap-drive”
如果 /boot 是单独的分区,您可能也需要“压缩它”。同样,如果您使用的是 LVM 并且过去调整过卷大小,您可能希望创建一个包含所有可用空间的卷,将其清零,然后删除它。