在 Ubuntu 系统中释放磁盘空间,可以按从安全到进阶的顺序操作。下面是一套实用方案。
df -h
查看哪个分区快满了。
du -h --max-depth=1 / | sort -hr
找出占用空间最大的目录。
sudo apt clean
sudo apt autoremove
sudo apt autoclean
clean:删除所有已下载的 .deb 包autoremove:删除不再需要的依赖autoclean:删除旧的缓存包dpkg --list | grep linux-image
保留当前正在使用的内核:
uname -r
删除旧内核(示例):
sudo apt remove linux-image-5.4.0-xx-generic
或使用:
sudo apt autoremove --purge
sudo journalctl --vacuum-time=7d
或限制大小:
sudo journalctl --vacuum-size=100M
清理 /var/log:
sudo find /var/log -type f -name "*.log" -exec truncate -s 0 {} \;
snap list
sudo snap remove xxx --revision=旧版本号
或使用脚本批量清理旧版本。
rm -rf ~/.cache/*
(不会影响系统)
find / -type f -size +500M 2>/dev/null
常见位置:
~/Downloads/var/lib/docker/var/lib/snapd/optdocker system prune -a
⚠️ 会删除未使用的镜像、容器、网络。
sudo apt remove 软件名
或图形界面「Ubuntu 软件」中卸载。
/var/lib/docker 到大盘/homencdu 可视化分析:sudo apt install ncdu
ncdu /
sudo apt clean
sudo apt autoremove --purge
sudo journalctl --vacuum-time=7d
rm -rf ~/.cache/*
如果你愿意,可以贴出:
df -h
和
du -h --max-depth=1 / | sort -hr | head
我可以帮你精准分析该删什么。