2. 删除无用文件
3. 删除 vmware drag_and_drop 文件夹, 这是大头, 本人有25G
rm -rf ~/.cache/vmware/drag_and_drop
4. 删除 docker images以及关联的数据卷
docker images #查看docker镜像
docker stop XXX #先停止容器,XXX可以是容器的NAMES 也可以是CONTAINER ID
docker rm -v xxx #删除docker容器,及其数据卷 ,删除容器数据有风险!
docker rmi --force XXXXX # 删除无用的docker image,XXXX 是 IMAGE ID ,
docker volume prune ## 清除无主数据卷,时常运行一下, 释放空间
5. 清空回收站
6. 用内容为二进制0的文件,填充所有磁盘空间,删除这个文件.
dd if=/dev/zero of=/zero.file bs=2M
sudo sync // 把内容都同步到磁盘
rm -rf /zero.file
原因:
- 虚拟机在操作磁盘镜像的时候,类似于只操作扇区,不考虑其上的文件系统的类型和内容;
- 磁盘镜像的存储类似于稀疏矩阵的存储,只有数据全0的时候空间才能被释放。
7. 最关键的一步,在虚拟机里面收缩根目录,
sudo /usr/bin/vmware-toolbox-cmd disk shrink /
其他
sudo /usr/bin/vmware-toolbox-cmd disk list # 查看磁盘挂载点
网上有些文章,6,7步没有连起来,导致不能收缩虚拟磁盘空间.