Ubuntu 22.04下如何识别可安全删除的非关键GNOME Snap版本以释放磁盘空间
别担心,我来一步步教你怎么安全识别并删除那些占用磁盘的GNOME Snap旧版本,同时确保不会误删系统关键组件:
1. 先查看所有GNOME相关的Snap版本状态
首先打开终端,运行下面的命令,列出所有和GNOME相关的Snap包,包括它们的版本号、状态(活跃/禁用):
snap list --all gnome-*
这个命令会输出类似这样的内容(示例):
Name Version Rev Tracking Publisher Notes
gnome-shell 42.5 2253 22.04/stable canonical✓ disabled
gnome-shell 42.9 2347 22.04/stable canonical✓ active
gnome-desktop-platform 22.04-42.9 208 22.04/stable canonical✓ active
gnome-desktop-platform 22.04-42.5 202 22.04/stable canonical✓ disabled
gnome-software 42.5 278 22.04/stable canonical✓ disabled
gnome-software 42.9 290 22.04/stable canonical✓ active
这里重点看Notes列:标记为active的是当前系统正在使用的版本,绝对不能删;标记为disabled的是闲置的旧版本,大部分可以安全删除。
2. 识别可安全删除的版本
- Snap默认会保留当前活跃版本和上一个旧版本(用来在新版本出问题时快速回退),所以如果某个GNOME Snap有多个
disabled版本,除了版本号最接近活跃版的那个禁用版本,更早的都可以放心删除。 - 比如你有四个版本的同一个GNOME Snap:1个
active版、3个disabled版,那只需要保留active版和最近的那个disabled版,另外两个旧的禁用版就可以删掉。
3. 手动删除指定旧版本
确认好要删除的版本号后,用下面的命令删除指定的旧版本(替换成你自己的包名和版本号):
sudo snap remove gnome-shell --revision=2253
⚠️ 一定要加--revision=<版本号>,不然会直接删除整个Snap包,这会严重影响系统正常运行!
4. 设置自动清理,避免以后堆积旧版本
如果你不想每次手动清理,可以让Snap自动只保留最近2个版本,运行下面的命令:
sudo snap set system refresh.retain=2
之后Snap在更新软件时会自动删除更早的旧版本,不用你再手动操作了。
安全提醒
- 永远不要删除标记为
active的版本,那是当前系统正在依赖的核心组件。 - 如果不确定某个禁用版本能不能删,可以先留着最近的1-2个禁用版本,剩下的删掉,这样既释放了磁盘空间,又保留了回退的余地。
- 删除后可以重启一下系统,确认桌面环境和GNOME相关功能都正常,没问题就说明删对了。
备注:内容来源于stack exchange,提问作者Niall Ryan

