温馨提示×

ubuntu下如何管理磁盘空间

小樊
32
2025-11-22 08:27:22
栏目: 云计算

Ubuntu 磁盘空间管理实用指南

一 快速定位占用

  • 查看分区整体使用:运行 df -h,关注 Use%Avail,快速判断哪个挂载点(如 //home/boot)紧张。
  • 分析目录占用:在目标路径执行 du -h --max-depth=1,仅显示一级子目录大小,定位“空间大户”。
  • 交互式分析:安装并使用 ncdu(sudo apt install ncdu),扫描后按大小排序,支持进入子目录与删除操作,直观高效。
  • 列出块设备与分区:用 lsblk 查看磁盘与分区关系;需要更细信息时用 sudo fdisk -lsudo parted -l
  • 查找大文件:如查找大于 100MB 的文件,执行:sudo find / -type f -size +100M -exec ls -lh {} ;(可改为 +1G 定位更大的文件)。

二 安全清理释放空间

  • APT 缓存与无用依赖:
    • 清理全部缓存:sudo apt clean;仅清理过期包:**sudo apt autoclean
    • 移除不再需要的依赖与旧内核残留:sudo apt autoremove
  • 旧内核清理(避免 /boot 爆满):
    • 查看当前内核:uname -r(务必保留)。
    • 列出已安装内核:dpkg -l | grep linux-image;确认后删除指定旧版本:sudo apt purge linux-image-
  • systemd 日志:
    • 按时间保留:sudo journalctl --vacuum-time=3d;或按大小限制:sudo journalctl --vacuum-size=200M
  • Snap 与 Flatpak:
    • 清理 Snap 旧修订(保留当前启用版本):
      • 查看:snap list --all
      • 删除禁用修订:sudo snap remove --purge (可结合 grep disabled 筛选)。
    • 清理 Flatpak 未使用运行时:flatpak uninstall --unused
  • 用户缓存与缩略图:清理当前用户的缩略图缓存:rm -rf ~/.cache/thumbnails/
  • 图形化辅助:使用 磁盘占用分析器(Baobab/Disk Usage Analyzer) 可视化定位大目录;BleachBit 可做更细的缓存/日志清理(预览后再删)。

三 扩容与长期维护

  • 分区扩容:使用 GParted(sudo apt install gparted)在图形界面调整分区大小;操作前务必备份,且对系统盘扩容通常需在LiveCD/救援环境下进行。
  • LVM 场景:若已使用 LVM,可通过扩展逻辑卷与文件系统在线扩容,适合服务器与灵活分配场景。
  • 虚拟机:先在虚拟化平台扩容虚拟磁盘,再在系统内扩展分区/文件系统。
  • 定时维护:将常用清理写入脚本并用 cron 定期执行(如每周清理日志/缓存);谨慎使用写入 /proc/sys/vm/drop_caches 的方式清理页面缓存,仅在明确收益且不影响业务时执行。

四 常见陷阱与排查

  • /boot 分区满导致升级失败:优先清理旧内核(见上文),再执行系统更新。
  • inode 耗尽:即使容量充足也无法创建新文件,用 df -i 检查,清理大量小文件(如旧会话、缓存、邮件队列等)。
  • 误删风险:删除前确认路径与作用,优先使用包管理器(apt/snap/flatpak)卸载,重要数据务必先备份
  • 日志与容器:长期运行的服务(如 Docker)会产生大量镜像/容器/卷,定期执行 docker system prune -af(按需)并清理无用卷。

0