先用 sudo du -sh /var/cache/apt/archives 查缓存大小:<100mb 用 autoclean(安全保留可用包),>500mb 再考虑 clean;旧内核占 /boot 空间最多,需 uname -r 确认后谨慎删除低版本;综合清理应分步处理 apt 缓存、旧内核、用户缓存和日志。

先看缓存占了多少空间再动手
直接运行 sudo apt clean 很容易,但可能白忙——/var/cache/apt/archives/ 里实际只占几十 MB 的话,清完也省不了多少。先用命令摸底:sudo du -sh /var/cache/apt/archives。如果结果小于 100MB,autoclean 就够用;超过 500MB,才值得考虑 clean 或组合清理。
autoclean 是默认安全线,别跳过它
autoclean 不是“没用的中间选项”,而是保留可用性的关键一步:它只删那些在当前源里已下架的旧版 .deb(比如被替换掉的旧内核、已废弃的库),而当前仓库仍能提供的版本全留着。这意味着:
- 下次
apt install同一软件,只要版本没变,就直接复用缓存,不重下载 - 想回退到上一个稳定版(比如
firefox从 123 降级到 122),只要那个包还在缓存里,就能秒装 - 离线重装或批量部署时,仍有基础支持
执行就是:sudo apt autoclean。它不删任何仍在源中可获取的包,也不动 dpkg 数据库里的状态。
clean 是彻底清空,但代价明确
sudo apt clean 会清空整个 /var/cache/apt/archives/,包括刚装完的当前版本包。这不是“更干净”,只是“更激进”:
- 后续重装、downgrade 或重装依赖,全部要重新下载——网络慢时明显卡顿
- 适合磁盘告急(比如
/分区只剩几百 MB)、或准备制作轻量镜像的场景 - 单独高频使用反而拖慢日常维护:每次
clean后跟apt update,都得重新拉元数据+包索引
真要用,建议搭配 autoremove --purge 一起做,先卸载冗余依赖和配置,再清缓存,避免留一堆“无主包”占着空间又没用。
别只盯着 archives,旧内核才是 /boot 空间杀手
很多人清完 archives 发现 /boot 还是满的——那是因为 linux-image-* 和 linux-headers-* 文件堆在 /boot,每个版本动辄 100–200MB。它们不会被 apt clean 触及。
操作前必须确认当前内核:uname -r,再查已装内核:dpkg --get-selections | grep 'linux-image'。只删版本号明显低于当前的条目(比如当前是 6.8.0-45-generic,就删 6.5.0-xx 及更老的)。误删正在跑的内核会导致无法启动。
真正释放可观空间,从来不是单靠一个 clean,而是把 APT 缓存、旧内核、用户缓存(~/.cache)、日志(journalctl --vacuum-size=500M)这几块一起理清楚——每块都有自己的规则和风险点,混着删容易踩坑。











