如何从Ubuntu中删除Snap
Canonical开发的Snap包对多种用例都有好处:
- 直接向最终用户提供简单、快速的应用程序更新。
- 打包了所有依赖项,并允许多次安装相同的应用程序
- 以沙箱模式运行,提供安全性
它的缺点:
- 与本机deb或RPM软件包相比,其性能较慢,包括启动时间。
- 应用程序安装大小巨大,由于打包了所有依赖项而占用磁盘空间。
- 其沙箱性质,Snap应用程序可能无法访问Ubuntu的多个区域,除非获得适当的权限进行管理。
这里介绍如何从Ubuntu 系统中完全删除snap。这些步骤在Ubuntu 24.04.01 LTS中进行了实测。它应该适用于所有适用的Ubuntu版本。

步骤一:查看Snap软件包列表。
snap list

步骤二:按顺序删除snap包
snap remove --purge gnome-42-2204
snap remove --purge gtk-common-themes
snap remove --purge bare
snap remove --purge core22
snap remove --purge snapd

软件移除顺序一般为:一般应用>美化应用>底层应用>核心应用>本应用,于是先移除桌面和主题应用,然后移除bare和core,最后移除snapd。由于系统原来Ubuntu24默认就装的firefox和thunderbird已经删除,它们应该第一批可以删除的应用。
步骤三:停用snap守护进程snapd
apt remove --auto-remove snapd

步骤四:防止snap恢复
由于一些软件依赖snapd包,就会导致在更新软件时snapd会被重新安装,例如:ubuntu-desktop就会依赖snapd。
- 删除snapd残留目录
rm -rf ~/snap /snap /var/snap /var/lib/snapd
- 阻止snapd被重新安装
apt-mark manual snapd
- 移除元包依赖的升级或者更新,亦或者删除元包
apt remove ubuntu-desktop
- 配置禁止APT对snapd自动安装
echo "Package: snapd Pin: release a=* Pin-Priority: -10" | tee /etc/apt/preferences.d/nosnap.pref apt update
- 使用dpkg绕过依赖(谨慎操作)
dpkg --remove --force-depends snapd
注意:如果你是桌面版用户,软件商店(snap-store)也无法正常工作