Ubuntu “文件系统根目录”上的磁盘空间不足

[复制链接]
发表于 2026-10-6 12:19:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

根目录空间见底是 Ubuntu 上最常见也最紧急的一类问题:轻则装不上包,重则开机卡在清理阶段进不去系统。这篇先给三条立刻能腾出空间的命令,再讲怎么从虚拟机层面把磁盘扩出来,最后说清以后怎么防再次发生。

一、先定位是谁把空间吃掉的

动手之前先看清楚,别一股脑全删。先看整体占用:

df -h

再看具体每个目录占了多少,从根往下找:docker、conda、日志日志、缓存是最常见的四个大户,其中被容器日志日志撑爆的情况尤其多。定位这一步能帮你分辨「清掉临时文件」和「真正扩盘」哪个才是根治办法。

二、先做两条能马上腾空间的

三条命令覆盖最大头的三类占用,任一条都能立刻回收几百兆:

sudo apt clean

删掉所有已下载的软件包缓存,是回收最快的一项。

sudo apt autoremove --purge

卸载旧内核和无用依赖包。配合 apt 的旧内核保留策略,一次能清掉好几版内核,空间收益很大。

sudo journalctl --vacuum-time=7d
sudo rm -rf /var/log/*.gz /var/log/*.old

把系统日志日志压到只留七天,再顺手清掉已经压缩过和过期的旧日志。日志是无形的大户,跑几个月的机器这里动辄几个 G。

二、从虚拟机层面把盘扩大

以上只是应急,根分区还是小的。第一步在宿主机操作:关掉虚拟机,把磁盘容量调大,比如从 20G 扩到 100G。注意这一步只改变物理文件多大,虚拟机内部的分区和文件系统完全不知道这件事。

三、在虚拟机内把分区扩开

装个分区工具做图形化操作,最直观:

sudo apt install gparted
sudo gparted

进去之后选中磁盘,在分区列表里找到根分区,比如 /dev/sda3。右键根分区选 Resize/Move,把滑块往右拖,或者直接在具体大小里填新的数值,把刚才多出来的空间全部并进去,点界面上的对勾确认完成。操作前确认这个分区上没有正在挂载的写入任务。

四、命令行里怎么扩

没有图形界面或者远程卡桌面时,可以用 growpart 扩分区,再用文件系统自带的扩展命令。思路和图形化一致:先让分区表认识新空间,再让文件系统把这块空间用起来。两个动作缺一不可,少了后一步你会看到容量没变。

五、以后怎么防

  • 给根分区留足余量,长期跑到 90% 以上就是危险信号。
  • 旧内核是隐形大户,apt 默认会留几版,定期清一次。
  • 日志轮转策略配好,保留天数压到一周到两周。
  • 加一条磁盘占用的定时检查,出问题在还能动的时候处理,别等开不了机。

六、小结

处理顺序是:先 apt clean、删旧内核、清日志应急,再从宿主机扩盘、进系统用 gparted 把分区扩开。核心难点只有一处——宿主机扩容和虚拟机内扩分区是两件独立的事,中间还隔着文件系统这一步,少做任何一步容量都不会变。把这三步固定住,根目录空间问题就能彻底收尾而不是反复救火。

qidao123.com企服评测-应用市场 编辑提示

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表