在 Ubuntu 上清理 Snap 应用(或叫 Snap 包)通常包括以下几个方面:卸载不用的 Snap 应用、清理旧版本、释放 Snap 占用的空间。下面按常见需求一步步来。
snap list
输出示例:
Name Version Rev Tracking Publisher Notes
firefox 120.0 3420 latest/stable mozilla✓ -
core22 20231120 1033 latest/stable canonical✓ base
snap-store 41.3 692 latest/stable canonical✓ -
sudo snap remove 应用名
例如:
sudo snap remove firefox
✅ 卸载后,该 Snap 的主目录会被清除。
Snap 默认会保留多个旧版本,这是它“大”的主要原因。
du -sh /snap
du -sh /var/snap
以及:
df -h /snap
Snap 本身没有官方“自动清理旧版本”命令,但可以手动删除旧 revision。
snap list --all
输出中你可能会看到:
firefox 119.0 3400 disabled ...
firefox 120.0 3420 enabled ...
sudo snap remove 应用名 --revision=版本号
例如:
sudo snap remove firefox --revision=3400
⚠️ 只能删除 disabled 的版本。
可以创建一个简单脚本:
#!/bin/bash
LANG=en_US.UTF-8 snap list --all | awk '/disabled/{print $1, $3}' |
while read snapname revision; do
sudo snap remove "$snapname" --revision="$revision"
done
保存为 clean-snap.sh:
chmod +x clean-snap.sh
./clean-snap.sh
✅ 这是 最常用、最安全 的清理方式。
Ubuntu 20.04+ 可以限制 Snap 保存的版本数量。
sudo snap set system refresh.retain=2
说明:
2 = 只保留当前版本 + 1 个旧版本如果你完全不用 Snap:
snap list | awk 'NR>1 {print $1}' | xargs -I {} sudo snap remove {}
sudo apt purge snapd
sudo apt-mark hold snapd
⚠️ 注意:
| 目录 | 说明 |
|---|---|
/snap |
Snap 应用本体 |
/var/snap |
Snap 数据 |
/home/*/snap |
用户数据 |
✅ 最推荐的一套操作:
snap list --all
sudo snap remove 应用名 --revision=旧版本号
sudo snap set system refresh.retain=2
如果你愿意,可以告诉我:
我可以给你 更定制化的清理方案。