Ubuntu虚拟机磁盘空间管理指南
在进行磁盘管理前,需先了解空间使用详情,常用工具如下:
df -h:查看各分区的总大小、已用空间、剩余空间及挂载点,快速识别空间不足的分区(如根分区/)。du -sh *:查看当前目录下各文件/文件夹的大小,结合du -h --max-depth=1 /可递归分析根目录下各目录的空间占用。lsblk:查看磁盘分区布局(如/dev/sda的分区情况),确认是否有未分配空间或未挂载分区。/var/log日志目录、~/Downloads下载文件夹)。gnome-disk-utility):可视化查看分区大小、文件系统类型,支持快速清理操作。通过清理临时文件、缓存、旧内核等无用数据,可快速回收大量空间:
/var/cache/apt/archives),使用以下命令清理:sudo apt clean # 清除所有缓存包
sudo apt autoclean # 清除过期缓存包(仅保留当前可用的包)
sudo apt autoremove # 自动移除不再需要的依赖包
/var/log/syslog、/var/log/kern.log)会持续增长,可使用以下命令:
sudo rm -rf /var/log/*.gz /var/log/*.[0-9](删除压缩和旧日志)。logrotate自动管理:编辑/etc/logrotate.conf,设置日志轮转周期(如每周)和保留数量,避免日志无限增长。/tmp目录下的临时文件可安全删除:sudo rm -rf /tmp/* # 删除/tmp下所有临时文件
rm -rf ~/Downloads/* # 删除下载文件夹内所有文件
~/.cache/thumbnails)会占用空间,使用:rm -rf ~/.cache/thumbnails/* # 删除缩略图缓存
若清理后仍空间不足,需扩展磁盘容量,分为扩展虚拟磁盘和扩展分区/文件系统两步:
sudo apt update && sudo apt install gparted。sudo gparted,选择扩展后的虚拟磁盘(如/dev/sda)。/dev/sda1)→选择“调整大小/移动”→拖动滑块扩展分区(确保勾选“调整分区大小后文件系统”)→点击“应用”。sudo resize2fs /dev/sda1自动调整文件系统大小。sudo lvdisplay、sudo vgdisplay、sudo pvdisplay。sudo parted /dev/sda resizepart 1 40G # 调整物理分区大小(如/dev/sda1)
sudo pvresize /dev/sda1 # 扩展物理卷
ubuntu-vg):sudo vgextend ubuntu-vg /dev/sda1
ubuntu-lv)至卷组的剩余空间:sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
注意:操作前务必备份重要数据,避免误操作导致数据丢失。
sudo crontab -e
# 添加以下内容(每月1日凌晨2点执行)
0 2 1 * * /usr/bin/apt clean && /usr/bin/apt autoclean && /usr/bin/find /var/log -type f -name "*.gz" -delete
cron任务定期发送磁盘使用报告(如每周一):0 3 * * 1 /usr/bin/df -h > /home/user/disk_usage_report.txt