Debian缓存清理技巧
一 核心清理清单
二 常用命令速查
| 目标 | 命令示例 | 作用说明 |
|---|---|---|
| APT 全量清理 | sudo apt-get clean | 清空 /var/cache/apt/archives 中所有已下载包 |
| APT 过期索引 | sudo apt-get autoclean | 仅删除不可再下载的旧版本索引与包 |
| 移除无用依赖 | sudo apt-get autoremove --purge | 删除不再被依赖的包及其配置 |
| 清理部分下载 | sudo rm -rf /var/cache/apt/archives/partial/* | 删除下载中断的临时包 |
| 清理系统日志 | sudo journalctl --vacuum-time=2weeks | 仅保留最近 2 周 的日志 |
| 清理临时文件 | sudo rm -rf /tmp/* | 清理临时目录(系统空闲时执行) |
| 清理旧内核 | 先 dpkg -l | grep linux-image 查看旧内核;再用 sudo apt-get remove --purge linux-image-<版本> 删除 |
| 清理本地化数据 | sudo apt-get install localepurge && sudo localepurge | 移除未使用语言的 locale 文件 |
| 清理孤立包 | sudo apt-get install deborphan && sudo deborphan | xargs sudo apt-get purge -y |
| 图形化清理 | sudo apt-get install bleachbit && sudo bleachbit | 图形界面选择清理项(谨慎勾选) |
| 磁盘占用分析 | sudo apt-get install ncdu && sudo ncdu / | 交互式查看目录占用,定位大文件/目录 |
| 以上命令覆盖了 APT、日志、临时文件、旧内核与孤立包等常见清理点,适合作为日常维护与紧急释放空间的快速操作集。 |
三 安全操作要点
四 一键清理脚本
#!/usr/bin/env bash
set -e
echo "==> 更新包索引"
sudo apt-get update
echo "==> 清理 APT 缓存与过期索引"
sudo apt-get clean
sudo apt-get autoclean
echo "==> 移除无用依赖(含配置)"
sudo apt-get autoremove --purge -y
echo "==> 清理部分下载与临时文件"
sudo rm -rf /var/cache/apt/archives/partial/*
sudo rm -rf /tmp/*
echo "==> 限制系统日志保留(最近 2 周)"
sudo journalctl --vacuum-time=2weeks
echo "==> 清理旧内核(保留当前运行内核)"
current_kernel=$(uname -r)
echo "当前运行内核: $current_kernel"
for img in $(dpkg -l | awk '/^ii/ && /linux-image-[0-9]/ {print $2}' | grep -v "$current_kernel"); do
echo "删除旧内核: $img"
sudo apt-get remove --purge -y "$img"
done
echo "==> 清理孤立包(如已安装 deborphan)"
if command -v deborphan >/dev/null 2>&1; then
sudo deborphan | xargs -r sudo apt-get purge -y
fi
echo "==> 分析磁盘占用(ncdu)"
if command -v ncdu >/dev/null 2>&1; then
sudo ncdu /
else
echo "提示:安装 ncdu 可交互式查看大文件/目录:sudo apt-get install ncdu"
fi
echo "==> 完成清理"
该脚本整合了常见的清理步骤,适合定期维护或在磁盘告警时快速释放空间。