Debian如何进行磁盘空间回收
小樊
37
2025-12-10 11:51:52
Debian磁盘空间回收实操指南
一 快速定位占用
- 查看整体使用:执行df -h,关注根分区(如**/)与/var**等是否吃满。
- 分析目录占用:执行sudo ncdu /(或针对目录如**/var/log**),快速定位大文件/目录。
- 查看块设备:执行lsblk,确认磁盘与分区布局,便于后续扩容或迁移。
二 包管理与APT缓存清理
- 清理缓存与无用包:
- 清理全部下载包缓存:sudo apt-get clean
- 仅清理过期包缓存:sudo apt-get autoclean
- 移除不再需要的依赖:sudo apt-get autoremove
- 彻底卸载软件及其配置:sudo apt-get purge 包名
- 删除残留配置(状态为rc的包):
- 查看:dpkg --list | grep “^rc”
- 清理:dpkg --list | grep “^rc” | cut -d " " -f 3 | xargs sudo dpkg --purge
- 查找并删除孤儿包:
- 安装工具:sudo apt-get install deborphan
- 删除孤儿:deborphan | xargs sudo apt-get purge -y
- 删除过时包(需安装aptitude):sudo aptitude purge ‘~o’
- 可选:按体积列出大包(需安装debian-goodies):dpigs -H。
三 日志与临时文件清理
- 清理systemd日志(journald):
- 按时间保留最近7天:sudo journalctl --vacuum-time=7d
- 按大小保留最大50M:sudo journalctl --vacuum-size=50M
- 清理系统临时目录:
- 清理**/tmp**:sudo rm -rf /tmp/*
- 清理**/var/tmp**:sudo rm -rf /var/tmp/*
- 使用systemd-tmpfiles定期清理:sudo systemd-tmpfiles --clean
- 使用tmpwatch自动清理(如删除24小时未访问文件):sudo tmpwatch 24h /tmp
- 图形化清理工具(可选):sudo apt-get install bleachbit && sudo bleachbit。
四 旧内核与容器镜像清理
- 删除旧内核(示例,请先确认当前内核版本避免误删):
- 查看当前内核:uname -r
- 列出已安装内核:dpkg --list | grep linux-image
- 安全移除旧版:sudo apt-get purge linux-image-<版本号>-generic
- 清理容器镜像与构建缓存(如Docker/Containerd):
- Docker:docker system prune -af --volumes
- Podman:podman system prune -af
- 注意:上述命令会删除未使用镜像、容器与卷,请先确认无业务影响。
五 空间仍不足时的扩容与迁移
- 扩容LVM逻辑卷(示例思路):
- 查看:df -h、lvs
- 扩展逻辑卷:sudo lvextend -L +10G /dev/mapper/vg0-root
- 调整文件系统:
- ext2/ext3/ext4:sudo resize2fs /dev/mapper/vg0-root
- XFS:sudo xfs_growfs /
- 非LVM场景:使用gparted等工具调整分区,或新增磁盘/分区后将**/home或/var等大目录迁移至新盘,再更新/etc/fstab**挂载。
- 风险提示:分区/扩容操作存在数据丢失风险,务必先完整备份,并在操作前确认关键业务可停机。