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 -l 或 sudo 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(按需)并清理无用卷。