VirtrueBox 镜像压缩
来源:互联网 发布:淘宝开店链接 编辑:程序博客网 时间:2024/05/01 18:48
最近发现了使用virtualbox产生的系统镜像动态增长的速度十分惊人,用了几个月镜像出乎意料的到达了110GB,不要问我为什么会变得这么大,我也不知道为什么,总之删除神马的对磁盘空间没有什么帮助。
使用磁盘管理的命令可以看出系统的空间远没有这么大,所以就需要我们对镜像进行碎片整理和压缩。
首先,VirtralBox 的磁盘格式有很多种,其中vdi格式virtualBox专用的,当时创建的时候为了通用性考虑使用了vdmk这个格式。原来virtual本身自带的工具镜像的互转。
1.碎片整理
sudo dd if=/dev/zero of=/EMPTY bs=1M
sudo rm -rf /EMPTY
//对于这个命令 看不明白/EMPTY 挂载了什么,至于这个命令可以运行就理解为空闲的区域清零操作
2.压缩
VBoxManage modifyvdi xx.vdi compact
这里两个步骤是从网上找到了,发现压缩只支持vdi格式,所以先进行格式转化,当然本来就是VDI格式就不需要转化了
VBoxManage 这个命令是在virtualBox的安装目录下 执行前输入绝对路径或者到安装目录或者设置一下环境变量总之能运行即可
-------------------------------------------------------------------------------------------------
接下去是我的操作:
1.首先我尝试了一下 sudo dd if=/dev/zero of=/EMPTY bs=1M
结果硬盘满载,然后10分钟了也没有任何提示,无奈110G的镜像似乎遥遥无期,(查看网上的一些评论似乎也没啥效果就放弃了)
于是不管3721就先转化格式看看情况:
VBoxManage clonehd e:\virtual\uuu.vmdk f:\k.vdi --format vdi
漫长的等待得亏还有提示:
十分震惊大小居然只有原来的60%左右了,感觉和原来运行10分钟填充的关系不是很大吧,可能转化的过程就会做一些压缩吧?
因为还没有做填充zero操作,因为我们删除文件通常是做一个标记这个文件已经不可用,实际上文件只是文件管理器看不到了,
但本事还是一堆二进制存在。这里压缩的原理是根据把0的区域干掉。那么我们需要找一个好用的工具快速解决这个问题。
这里用到一个liveCD和一个命令zerofree ,听起来就是为这个而生的。
首先我们需要先打开虚拟机安装好命令,在liveCD上安装这个命令应该也可以,这里我进入虚拟机进行安装
sudo apt-get install zerofree
whereis zerofree 这里看到zero被放到了/usr/bin 目录 之前在bin 和sbin下都找不到使用了find才找出来了。
虚拟机挂载一下liveCD的镜像,然后运行起来
sudo mkdir /mnt/ub
sudo mount -n -o ro -t ext4 /dev/sda1 /mnt/ub
#执行zerofree
sudo /mnt/ub/usr/bin/zerofree /dev/sda1
#完成后关机就好,然后尝试压缩
VBoxManagemodifyvdi xx.vdi compact
再一次漫长的等待 从69G-->46G 这里没有进入虚拟机里观察究竟占用空间有多少,感觉是差不多了从110G 到了46G体积已经缩小了太多了
最后想,不妨压缩看一下最后结果如何:用到了7Z压缩(极限压缩,这里线程越多压缩的越快,但是相当耗内存这种压缩的情况,这里保留了一点机器的性能)
经过漫长的等待这里因为压缩软件本身计时了90分钟的时间(CPU是I7-4600 8G内存的情况)
惊人的压缩率21%(从46g-->11g)
感觉备份这个文件就非常的方便了。(有人问你的镜像到底干了什么这么,我只能默默的吐槽这个是用来编译安卓的一个镜像,重复编译几十次就变成这样了)
缺点是解压估计性能差的电脑需要很长的时间了。
- VirtrueBox 镜像压缩
- VirtualBox VDI 磁盘镜像 - 压缩
- raspberry pi镜像压缩备份 linux
- Docker镜像压缩与优化
- virt-sparsify compress压缩镜像告警tmp不足
- uboot引导非压缩的内核镜像vmlinux.bin
- Linux内核镜像文件vmlinux 和压缩格式bzImage格式分析
- 【字符串算法】——KMP算法、压缩字符串、字符串镜像、翻转字符串
- 手机端头像上传前端压缩
- 镜像
- 镜像
- 镜像
- 镜像
- 镜像
- 镜像
- Linux下图像压缩、格式转换、缩放、旋转
- Ghost镜像与wim镜像
- 图像镜像之水平镜像
- android 动态添加组件出现的一些问题
- centos yum安装mysql5.6
- 计算机专业术语简单释义
- hdu5269 数据结构Trie
- 思序SIXCloud云平台
- VirtrueBox 镜像压缩
- replace into导致mysql自增列导致主键重复问题分析
- 【转】Netflix工程总监眼中的分类算法:深度学习优先级最低
- Nginx+Tomcat实现单IP、多域名、多站点的访问
- Android 视频播放(附源码下载)
- 动态装入(Dynamic loading) 和动态链接 (dynamic linking)的区别是什么?
- Gephi 0.8.2-beta for Mac安装问题汇总
- 认识自己——我几年的生活
- iOS中cookie的保存与恢复