Debian中如何管理回收空间
小樊
37
2026-01-03 00:49:42
Debian 回收空间实用指南
一 快速定位占用
- 查看整体磁盘使用:使用 df -h;查看块设备与分区:lsblk。
- 分析目录占用:安装并使用 ncdu(如:sudo ncdu /),按大小排序、定位大文件/目录。
- 定位大文件:在目标目录下用 du -sh * /path 逐级查看;或用 find . -type f -size +100M 找出大于 100MB 的文件。
二 APT 与软件包清理
- 清理缓存:删除已下载的包文件以释放 /var/cache/apt/archives 空间。
- 清理全部缓存:sudo apt clean
- 仅清理过期包:sudo apt autoclean
- 移除无用依赖:sudo apt autoremove --purge -y
- 彻底卸载软件(含配置):sudo apt purge 软件名
- 删除残留配置(状态为 rc 的包):
- 查看:dpkg --list | awk ‘/^rc/ {print $2}’
- 清除:sudo apt purge $(dpkg --list | awk ‘/^rc/ {print $2}’)
- 查找并删除孤儿包:安装 deborphan 后执行 deborphan | xargs sudo apt purge -y
- 查找并删除过时包:使用 aptitude search ?obsolete 查看,确认后用 sudo apt purge 包名 删除
三 日志与临时文件清理
- 清理 systemd 日志:
- 轮转日志:sudo journalctl --rotate
- 按时间保留:sudo journalctl --vacuum-time=7d(示例保留最近 7 天)
- 按大小保留:sudo journalctl --vacuum-size=50M(示例最大 50MB)
- 清理临时目录:/tmp 下多为临时文件,通常在系统运行无重要任务时清理较安全;如为数据库、容器等运行时临时目录,请先确认无影响再清理。
- 清理旧日志归档:如 /var/log/ 下 .gz 等历史压缩日志可删除(例如:sudo rm /var/log/*.gz),避免误删正在写入的日志。
四 大文件与重复文件治理
- 查找大文件:在占用高的分区或目录中执行 find . -type f -size +100M -exec du -h {} +,定位后按业务判断删除或归档。
- 查找重复文件:使用 fdupes 或 rdfind 识别并删除重复内容,释放冗余空间。
五 扩容与长期优化
- 扩容思路:
- 虚拟机/云平台:先在虚拟化平台扩容虚拟磁盘,再在系统内扩展分区与文件系统。
- LVM:查看卷组/物理卷 vgs/pvs,扩展逻辑卷 lvextend,随后扩展文件系统(如 resize2fs 等)。
- 非 LVM:使用 gparted 等工具调整分区大小(高风险,务必备份)。
- 长期优化:
- 配置 logrotate 控制日志滚动与保留策略,避免日志无限增长。
- 建立例行清理脚本(如定期清理 APT 缓存、journal 日志),并配合监控告警。
- 如运行 Docker,定期执行资源回收:docker system prune -a -f、docker volume prune -f 等。