- 首页 >
- 问答 >
- 云计算 >
- 清理Debian系统以释放磁盘空间的方法
清理Debian系统以释放磁盘空间的方法
小樊
39
2025-12-20 05:44:06
Debian 系统清理磁盘空间的实用步骤
一 快速定位占用
- 查看整体磁盘使用:使用命令:df -h,快速判断哪个分区已满(如 /、/var)。
- 分析目录占用:使用命令:sudo ncdu /(需安装:sudo apt-get install ncdu),交互式查看大目录与文件,便于精准清理。
- 查找超大文件:使用命令:sudo find / -type f -size +1G 2>/dev/null,定位大于 1GB 的文件,排查异常或过期数据。
二 APT 与软件包清理
- 清理下载的包缓存:
- 删除所有已下载的 .deb 包:sudo apt-get clean(目录:/var/cache/apt/archives/)。
- 仅删除过期不可再下载的包:sudo apt-get autoclean。
- 移除无用依赖与旧配置:
- 删除不再需要的依赖:sudo apt-get autoremove --purge。
- 清理残留配置(状态为 rc 的包):先查 dpkg --list | grep “^rc”,再执行 sudo dpkg --purge <包名>。
- 删除孤儿包与过时包:
- 查找并删除孤儿包:sudo apt-get install deborphan,然后 deborphan | xargs sudo apt-get purge -y。
- 查找过时包:sudo aptitude search ‘?obsolete’,确认后按需 purge。
三 日志、临时文件与内存缓存
- 清理 systemd 日志(journald):
- 按时间保留:sudo journalctl --vacuum-time=7d。
- 按大小保留:sudo journalctl --vacuum-size=100M。
- 执行日志轮转后再清理更稳妥:sudo journalctl --rotate。
- 清理临时文件:
- 系统临时目录:sudo rm -rf /tmp/;sudo rm -rf /var/tmp/(谨慎操作,确保无程序正在使用)。
- 使用 systemd-tmpfiles 按策略清理:sudo systemd-tmpfiles --clean(遵循 /usr/lib/tmpfiles.d/ 与 /etc/tmpfiles.d/ 中的配置)。
- 谨慎清理内存缓存(仅测试或特殊场景):
- 查看内存:free -h;同步后清理:sudo sync && sudo sh -c “echo 3 > /proc/sys/vm/drop_caches”(会释放 pagecache、dentries、inodes)。
四 旧内核与容器清理
- 删除旧 Linux 内核(务必保留当前运行内核):
- 查看当前内核:uname -r。
- 列出已安装内核镜像:dpkg --list | grep “linux-image”。
- 安全删除旧内核(示例):sudo apt-get purge linux-image-<版本号>-generic linux-headers-<版本号>-generic;删除后执行 sudo update-grub 更新引导。
- 如果使用 Docker:
- 全面清理(慎用,会删除所有未使用资源):docker system prune -a --volumes -f。
- 按类型分别清理:docker image prune -a -f;docker container prune -f;docker volume prune -f;docker network prune -f。
五 自动化与长期优化
- 设置日志保留策略:编辑 /etc/systemd/journald.conf,设置 SystemMaxUse=100M 或 MaxRetentionSec=7day,然后 sudo systemctl restart systemd-journald。
- 定期清理临时文件:启用或调整 systemd-tmpfiles 的定时清理(默认会按配置自动清理 /tmp 与 /var/tmp 中过期文件)。
- 定期维护命令(可放入脚本或定时任务):
- sudo apt-get update && sudo apt-get full-upgrade -y
- sudo apt-get autoremove --purge -y && sudo apt-get autoclean -y
- sudo journalctl --rotate && sudo journalctl --vacuum-time=7d
- 风险提示:删除 /boot 中的内核、修改 /var 或 /tmp 下正在使用的文件可能导致系统异常;操作前请确认并备份重要数据。