最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Ubuntu系统垃圾如何清理 Ubuntu无用依赖与缓存清理详解
时间:2026-06-11 08:01:46 编辑:袖梨 来源:一聚教程网
清理Ubuntu垃圾需组合使用apt autoremove(删无依赖包,但旧内核常因元包依赖残留)和apt clean(清缓存),并手动处理旧内核、用户缓存及日志,避免误删影响系统功能。
直接说结论:清理 Ubuntu 垃圾不能只靠一个命令,apt autoremove 和 apt clean 是最常用、最安全的两个起点,但它们各自管不同东西,混用或漏用都会留下大量空间没释放。
为什么 apt autoremove 有时删不掉旧内核
它默认只删“自动安装且当前无依赖”的包,而旧内核(如 linux-image-5.15.0-91-generic)可能仍被 linux-image-generic 元包间接依赖,或被 dpkg 标记为手动安装。结果就是:你运行了 apt autoremove,dpkg --list | grep linux-image 一看,七八个旧内核还在 /boot 里占着位置。
- 先确认当前内核:
uname -r,别删这个 - 查所有已安装内核:
dpkg --list | grep 'linux-image-[0-9]' | awk '{print $2}' - 手动删指定旧内核:
sudo apt purge linux-image-5.15.0-91-generic linux-headers-5.15.0-91-generic - 删完必须执行:
sudo update-grub,否则启动菜单不更新
apt clean 和 apt autoclean 的实际差别
两者都针对 /var/cache/apt/archives/,但行为完全不同:
-
apt clean:暴力清空整个目录,删掉所有.deb包,包括当前系统正在用的软件的安装包 —— 安全,但重装时需重新下载 -
apt autoclean:只删“仓库里已不存在对应版本”的包(比如你升级了firefox从 120 到 122,120 的 deb 就会被删),保留还能用的最新版缓存 —— 更保守,适合带宽受限环境 - 注意:
apt autoclean不处理linux-image这类包,因为内核包在仓库中长期存在,不会被它识别为“过期”
用户级缓存里最容易被忽略的三个坑
~/.cache 看似安全,但直接 rm -rf ~/.cache/* 可能导致部分应用异常启动或丢失会话状态:
-
~/.cache/thumbnails/:可放心删,文件管理器下次访问图片时自动生成,无副作用 -
~/.cache/mozilla/firefox/*.default-release/:删前确认没开“恢复上次会话”,否则标签页全丢;更稳妥是进 Firefox 设置 → 隐私与安全 → 清除数据 → 勾选“缓存” -
~/.cache/gedit/或~/.cache/Code/:VS Code 等编辑器的缓存删了会慢一点首次加载,但不会丢代码;不过~/.cache/Code/CachedData/下若存有未提交的临时草稿(极少见),建议先关掉编辑器再清
日志和临时文件清理要分场景
/tmp 和 /var/log 不是“越干净越好”,错误清理可能影响诊断或服务稳定性:
-
sudo rm -rf /tmp/*:可行,但注意有些服务(如systemd临时 socket)可能正用着/tmp下的子目录,强制删可能导致短时中断;推荐改用sudo systemctl restart systemd-tmpfiles-clean触发标准清理流程 -
journalctl --vacuum-size=100M:比--vacuum-time=7d更可靠,因为日志写入速率不均,按天删可能某天就爆掉 500MB;设大小上限更防意外 - 别碰
/var/log/journal/下的原始目录结构 —— 直接删文件可能破坏 journal 索引,必须用journalctl自带命令
真正麻烦的从来不是“该不该删”,而是“删完谁还指着它活”。比如 autoremove 顺手把 libreoffice-l10n-zh-cn 删了,中文界面就变英文;clean 后想回滚某个 deb 包,发现得翻镜像站找旧版本。留一个当前+一个上一版内核、留一份 apt autoclean 缓存、定期用 ncdu / 看一眼大目录,比追求“彻底干净”实用得多。