Ubuntu虚拟机磁盘空间不足解决方案

1. 检查并临时释放空间

1.1 查看磁盘情况

复制代码
# 查看整体磁盘占用
df -h
# 查看当前目录下各文件夹占用(逐级定位大文件)
du -sh * | sort -hr

关键指标:/dev/sda1(或类似)的 Use% 接近 / 达到 100% 就是根分区满了。

结果显示

复制代码
df -h
# 查看当前目录下各文件夹占用(逐级定位大文件)
du -sh * | sort -hr
文件系统        大小  已用  可用 已用% 挂载点
tmpfs           387M  2.1M  385M    1% /run
/dev/sda3        20G   14G  4.7G   75% /
tmpfs           1.9G     0  1.9G    0% /dev/shm
tmpfs           5.0M  4.0K  5.0M    1% /run/lock
/dev/sda2       512M  6.1M  506M    2% /boot/efi
tmpfs           387M  104K  387M    1% /run/user/1000
/dev/sr0        157M  157M     0  100% /media/。。。/CDROM
/dev/sr1        4.5G  4.5G     0  100% /media/。。。/Ubuntu 22.04.5 LTS amd64
206M	snap
1.4M	kconfiglib-14.1.0
880K	pyelftools_temp
188K	pyelftools.whl
160K	kconfiglib.tar.gz
104K	cxxfilt-0.3.0
8.0K	cxxfilt.tar.gz
4.0K	vela-opensource
4.0K	openvela
4.0K	manual_packages.txt
4.0K	bin
4.0K	桌面
4.0K	音乐
4.0K	下载
4.0K	文档
4.0K	图片
4.0K	视频
4.0K	模板
4.0K	公共的
0	pyelftools.tar.gz

1.2 清理系统垃圾

复制代码
# 清理apt缓存(最大的临时垃圾来源)
sudo apt autoremove -y
sudo apt clean -y
sudo apt autoclean -y

# 清理日志文件(/var/log 常占大量空间)
sudo journalctl --vacuum-time=3d  # 只保留3天日志
sudo rm -rf /var/log/*.gz /var/log/*.old

# 清理用户缓存
rm -rf ~/.cache/*
rm -rf ~/.local/share/Trash/*

1.3 删除大文件

复制代码
# 查找系统中大于100MB的文件
sudo find / -type f -size +100M 2>/dev/null | xargs du -h | sort -hr

注: 不要删除 /bin /lib /usr/bin 等系统目录下的文件

2 虚拟机磁盘扩展

虚拟机已关机,且未使用快照(快照会锁定磁盘,需先删除)

2.1 使用分区工具实现(推荐)

编辑虚拟机设置 → 硬盘 → 扩展 → 输入新的磁盘大小 → 确定

启动 Ubuntu,终端中输入以下命令(复制粘贴执行)

复制代码
# 安装gparted(图形化分区工具,更稳妥)
sudo apt install -y gparted
# 启动gparted(需sudo权限)
sudo gparted

显示结果

直接双击选择进行拉动增大空间。

验证扩展

复制代码
df -h  # 确认根分区容量已增大

3 优化

分离数据与系统分区 :新虚拟机建议单独分 /home 分区,后续仅扩展 /home

限制日志大小 :配置 journalctl 最大占用

复制代码
sudo mkdir -p /etc/systemd/journald.conf.d/
echo -e "[Journal]\nSystemMaxUse=1G" | sudo tee /etc/systemd/journald.conf.d/limit.conf
sudo systemctl restart systemd-journald

定期清理:添加定时任务,每周清理一次 apt 缓存和日

复制代码
# 编辑crontab
sudo crontab -e
# 添加以下内容(每周日凌晨2点执行)
0 2 * * 0 apt autoremove -y && apt clean -y && journalctl --vacuum-time=3d >/dev/null 2>&1
相关推荐
我不是稻草人2 小时前
Centos共享Mac文件
linux·macos·centos
oMcLin2 小时前
如何在Ubuntu 20.04上部署并优化Redis缓存集群,提升大规模电商网站的页面加载速度与缓存效率?
redis·ubuntu·缓存
乌萨奇也要立志学C++2 小时前
【Linux】线程同步 条件变量精讲 + 生产者消费者模型完整实现
java·linux·运维
澄澈青空~2 小时前
病毒木马侵入系统内核的底层运作机理
java·linux·服务器
ieayoio2 小时前
snipaste截图工具在linux下xfce中无法点击右键菜单
linux·ubuntu·截图·snipaste·托盘·xfce·xubuntu
奔跑的web.3 小时前
TypeScript 接口(interface)完全指南:语法、特性与实战技巧
linux·ubuntu·typescript
AI+程序员在路上3 小时前
嵌入式Linux中添加ftp服务器的简易方法
linux·运维·服务器
煤球王子3 小时前
浅学进程间通信3(消息队列)
linux
无垠的广袤3 小时前
【工业树莓派 CM0 NANO 单板计算机】基于舵机和人脸识别的智能门禁系统
linux·python·opencv·yolo·ai·树莓派