如何在Ubuntu中管理存储空间
小樊
37
2025-12-25 04:41:18
Ubuntu 存储空间管理实用指南
一 快速诊断与可视化分析
- 使用命令行快速查看分区占用:
- 查看所有文件系统:df -h
- 查看目录总大小:du -sh /path
- 交互式定位大目录:sudo apt install ncdu && ncdu /(按占用排序,便于精准清理)
- 使用图形化工具直观分析:
- 磁盘占用分析器 Disk Usage Analyzer(Baobab):扫描目录树并以图形展示占用,适合定位用户目录中的大文件/大目录。
- GNOME 磁盘 工具:查看磁盘与分区信息,支持创建/调整分区、加密等(操作需谨慎)。
- GNOME 系统监视器:在“文件系统”标签查看各挂载点的容量与可用空间。
二 安全释放空间的常用操作
- 清理包管理与缓存
- 删除不再需要的依赖:sudo apt autoremove
- 清理过期包缓存:sudo apt autoclean
- 清空全部包缓存:sudo apt clean
- 清理系统日志
- 查看日志占用:journalctl --disk-usage
- 仅保留最近日志(如3天):sudo journalctl --vacuum-time=3d
- 移除旧内核(保留当前正在使用的版本)
- 列出内核:dpkg --list | grep linux-image
- 删除指定旧版本(示例):sudo apt purge linux-image--generic
- 清理 Snap 旧版本
- 查看 Snap 占用:du -h /var/lib/snapd/snaps
- 删除旧修订(关闭所有 Snap 后执行):
- 列出并删除:snap list --all | awk ‘/disabled/{print $1, $3}’ | while read n r; do sudo snap remove “$n” --revision=“$r”; done
- 清理缩略图与用户缓存
- 缩略图:rm -rf ~/.cache/thumbnails/*
- 用户缓存可按需清理:~/.cache/(不要直接删除整个目录,按需进入子目录清理)
- 查找并处理大文件
- 查找大于1GB的文件:find / -type f -size +1G 2>/dev/null
- 可选图形化清理工具
- BleachBit:系统级清理(浏览器缓存、临时文件等)
- Stacer:系统优化与清理仪表板。
三 扩容与结构调整
- 使用 GParted 调整分区大小
- 安装:sudo apt install gparted
- 对系统盘扩容通常需从Live CD/USB启动后操作;调整分区存在数据风险,务必先完整备份。
- 使用 LVM(已采用 LVM 的系统)
- 可在线扩展逻辑卷与文件系统,适合服务器与灵活扩容场景。
- 虚拟机场景
- 先在虚拟化平台扩展虚拟磁盘,再在系统内使用 GParted 或 LVM 扩展分区/文件系统。
- 新增磁盘/分区
- 物理机可新增硬盘并挂载到如 /home 或数据目录;服务器环境建议对多用户场景设置磁盘配额以控制占用。
四 多用户与长期治理
- 设置文件系统配额(以 /home 为例)
- 安装工具:sudo apt install quota
- 编辑 /etc/fstab,在目标分区挂载项加入:usrquota,grpquota
- 示例:UUID=… /home ext4 defaults,usrquota,grpquota 0 2
- 重新挂载:sudo mount -o remount /home
- 初始化配额文件:sudo quotacheck -ugm /home
- 开启配额:sudo quotaon -v /home
- 为用户设置配额(交互):sudo edquota -u <用户名>(设置软/硬限制,单位为 KB;软限制可设宽限期)
- 查看配额:quota -vs <用户名>;生成报告:repquota -s /home
- 自动化与定期维护
- 建议每1–2 个月例行清理(日志、缓存、旧内核、Snap 旧修订等),并结合 ncdu/Baobab 巡检大目录。
- 容器/数据库等场景同步清理无用镜像、卷与表空间,避免“隐形占用”。