在 Ubuntu 上,Snap 是 Canonical 的包管理系统,时间久了会积累很多不需要的快照(revisions),占用磁盘空间。下面按「安全 → 彻底」的顺序给你讲怎么清理。
snap list
查看已安装 Snap 包。
查看每个包的历史版本(revisions):
snap list --all
查看磁盘占用:
du -sh /var/lib/snapd/snaps
Snap 默认会保留多个旧版本,官方推荐用 snapd 自带机制清理。
sudo snap refresh
然后:
sudo snap auto-import
不过最简单的是:
sudo snap remove --revision=<修订号> <包名>
例如:
sudo snap remove --revision=123 code
Snap 没有官方“全部清理”命令,但可以用脚本:
set -euo pipefail
LANG=C snap list --all | awk '/disabled/{print $1, $3}' |
while read snapname revision; do
sudo snap remove "$snapname" --revision="$revision"
done
✅ 只删除 disabled(旧版本),不影响正在使用的版本。
编辑配置:
sudo systemctl edit snapd.service
加入:
[Service]
Environment="SNAPD_SQUASHFS_REVISIONS=2"
然后:
sudo systemctl daemon-reload
sudo systemctl restart snapd
(部分 Ubuntu 版本支持)
如果你完全不用 Snap:
snap list | awk 'NR>1{print $1}' | xargs -r sudo snap remove
sudo apt purge snapd
sudo apt autoremove
sudo apt-mark hold snapd
⚠️ 注意:Ubuntu 22.04+ 的 Software Center / Firefox 默认是 Snap,卸载可能影响使用。
❌ 直接删 /var/lib/snapd/snaps 文件
✅ 必须用 snap remove
❌ 认为 apt autoremove 会清理 Snap
✅ 不会
普通用户推荐:
snap list --all
# 删除 disabled 的旧版本
服务器用户推荐:
如果你愿意,可以告诉我:
我可以帮你写定制清理命令。