Debian 快速清理垃圾的实用命令
一、一键清理命令
# 1) 更新索引并清理 APT 缓存、无用依赖
sudo apt-get update
sudo apt-get clean
sudo apt-get autoclean
sudo apt-get autoremove --purge -y
# 2) 清理已卸载软件的残留配置(状态为 rc 的包)
sudo apt-get purge $(dpkg -l | awk '/^rc/ {print $2}') -y
# 3) 清理 systemd 日志(保留最近 7 天或最大 100MB)
sudo journalctl --vacuum-time=7d
sudo journalctl --vacuum-size=100M
# 4) 清理临时文件
sudo rm -rf /tmp/*
sudo rm -rf /var/tmp/*
# 5) 清理旧内核(保留当前正在使用的内核)
sudo apt-get purge $( \
dpkg -l | awk '/^ii linux-(image|headers)-[^ ]+/{print $2}' \
| grep -v $(uname -r | sed 's/-.*//') \
) -y
# 可选:清理用户级缓存(不会影响系统)
rm -rf ~/.cache/*
二、清理前快速定位大文件
df -h
sudo apt install -y ncdu
sudo ncdu /
sudo du -sh /* 2>/dev/null | sort -hr | head
sudo find / -type f -size +1G 2>/dev/null
sudo du -sh /var/log/* | sort -hr | head
三、可选清理与工具
sudo apt-get install -y bleachbit
sudo bleachbit
# 查找并移除孤立包
sudo apt-get install -y deborphan
sudo deborphan | xargs sudo apt-get remove --purge -y
# 移除不再需要的本地化数据(安装后按需运行)
sudo apt-get install -y localepurge
sudo localepurge
四、注意事项与风险提示
uname -r
journalctl --vacuum-* 的方式,避免粗暴删除 /var/log 下的正在写入文件。/tmp、/var/tmp 前确认无程序正在使用(如数据库、会话文件等)。docker system prune -a -f
docker volume prune -f