如何将零 /dev/zero 压缩或写入交换文件?
我们有一些基于 Linux (Centos) 的虚拟机,它们将用作可分布式虚拟设备。我们希望能够尽可能地压缩它们以进行分发(通过 tar.gz、zip 等)。
我们删除了所有不必要的文件(.log、/tmp/*、/var/log/ 等),并将 /dev/zero 写入磁盘上的可用空间。
是否可以通过 /dev/zero 将零写入交换分区和文件?我知道我需要先交换 -a 。我担心会破坏任何内部结构。
我们的虚拟机同时使用分区交换和文件交换。
另外,还有其他策略可以减少分发虚拟机的大小吗?
我们需要支持所有虚拟机管理程序技术(Xen、VMW 等),因此尽管供应商的工具可能有用,但我正在寻找跨平台的策略。
- - 谢谢
We have a few linux based (Centos) virtual machines which are to be used as distributable virtual appliances. We want to be able to compress them as much as possible for distribution ( via tar.gz, zip, etc).
We've removed all unnecessary files (.log's, /tmp/*, /var/log/, etc) and have written /dev/zero to the free space on the disk.
Is it possible to write zeros via /dev/zero to the swap partitions and files? I know I would need to swapoff -a first. I'm worried about corrupting any internal structures.
Our vm uses both partition swap and file swap.
Also, are there any other strategies for reducing the size of a VM for distribution?
We need to support all of the hypervisor technologies (Xen, VMW, etc), so although the vendors tools maybe useful, I'm looking for strategies that are cross platform.
--- Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可能需要写入零,然后使用 mkswap 创建一个空交换分区。
You may want to write zeroes and then use mkswap to create an empty swap partition.
$ dd -if=/dev/zero of=/path/to/file bs=512 count=1
调整您想要的文件大小。
$ dd -if=/dev/zero of=/path/to/file bs=512 count=1
adjust the size that you want your files to be.
sudo swapoff -v /dev/sda2 <== 交换分区
sudo dd if=/dev/zero of=/dev/sda2 bs=512 status=progress
sudo mkswap /dev/sda2 UUID=46c1a133-bfdd-4695-a484 -08fcf8286896 <==交换分区的原始UUID
sudo swapoff -v /dev/sda2 <== The swap partition
sudo dd if=/dev/zero of=/dev/sda2 bs=512 status=progress
sudo mkswap /dev/sda2 UUID=46c1a133-bfdd-4695-a484-08fcf8286896 <== The original UUID of the swap partition