Debian缓存数据回收实用指南
一 核心清理清单
- APT 包缓存
- 删除已下载的 .deb 包:sudo apt-get clean(目录:/var/cache/apt/archives/)
- 仅删除过期不可再下载的包:sudo apt-get autoclean
- 删除不再需要的依赖:sudo apt-get autoremove
- 日志与临时文件
- 清理 systemd 日志:sudo journalctl --vacuum-time=7d 或 –vacuum-size=100M
- 清理临时文件:sudo rm -rf /tmp/*(建议在单用户/维护模式或确保无程序占用时执行)
- 内存页面缓存(仅在需要时)
- 查看内存:free -h
- 同步并释放:sudo sync && sudo sh -c “echo 3 > /proc/sys/vm/drop_caches”
- 可选清理
- 清理 DNS/名称服务缓存(若安装并启用了 nscd):sudo nscd -i hosts
- 清理缩略图:rm -rf ~/.cache/thumbnails/*
二 操作要点与注意事项
- 大多数“缓存”是提升性能的机制,尤其是内存页面缓存,通常无需手动清理;仅在基准测试、内存紧张的特殊场景下才执行 drop_caches。
- 执行 /tmp 清理前,确认没有关键进程在使用临时文件;在Debian 13 起 /tmp 默认使用 tmpfs,重启后会自动清空,日常无需频繁手动清理。
- 清理日志建议优先用 journalctl 的保留策略(按时间或按大小),避免粗暴删除 /var/log 下的文件导致服务异常或审计信息缺失。
- 清理 APT 缓存前可先查看占用:du -sh /var/cache/apt/archives;清理后可用 apt-get update 刷新索引。
三 一键清理脚本示例
#!/usr/bin/env bash
set -e
echo "==> 更新索引"
sudo apt-get update
echo "==> 删除无用依赖"
sudo apt-get autoremove --purge -y
echo "==> 清理 APT 缓存"
sudo apt-get clean
sudo apt-get autoclean
echo "==> 清理部分下载的包"
sudo rm -rf /var/cache/apt/archives/partial/*
echo "==> 清理 systemd 日志(保留最近7天)"
sudo journalctl --vacuum-time=7d
echo "==> 清理临时文件"
sudo rm -rf /tmp/*
echo "==> 清理用户缩略图缓存"
rm -rf ~/.cache/thumbnails/*
echo "==> 可选:清理 DNS 缓存(若安装了 nscd)"
if command -v nscd >/dev/null 2>&1; then
sudo nscd -i hosts
fi
echo "==> 完成"
- 使用方式:保存为 cleanup.sh,执行 chmod +x cleanup.sh && ./cleanup.sh。该脚本仅做常见安全清理,生产环境请先在测试环境验证。
四 进阶与自动化
- 查找占用空间最大的目录:sudo du -sh / | sort -h*,优先排查 /var/cache、/var/log 等路径。
- 图形化工具:sudo apt-get install bleachbit,可用其清理浏览器缓存、系统临时文件、日志等(谨慎选择项目)。
- 旧内核清理:先列出内核包 dpkg --list | grep linux-image,确认当前运行内核(uname -r)后,再移除不再需要的旧版本,避免误删正在使用的内核。