我曾经写过一篇文章,解释过为什么Snap是不受欢迎的,简而言之的话,主要原因在于:
- • Snap是一个私有化的软件管理方式,由Ubuntu背后的商业公司Canonical构建的一个中心化,私有化的管理机制。这种行为在自由开源的Linux操作系统上,是不受认同。(在Linux的世界中,这些都应该是自由与开源的解决方案)
- • 以Snap方式构建的软件,在性能上是比不上使用DEB这种原生方式构建的软件
关于这个点,如果有兴趣,可以阅读我过往写的这篇文章 - 为什么Ubuntu的Snap是不受欢迎的
这篇文章就是一个续篇,主要是给那些不喜欢Snap的人提供一个在Ubuntu上完全移除Snap的方式
移除步骤
- 1. 停止开机自启的Snap服务
系统在启动时,会自动启动Snap相关服务,我们先禁用掉这些服务
代码语言:javascript复制sudo systemctl disable snapd.service
sudo systemctl disable snapd.socket
sudo systemctl disable snapd.seeded.service
- 2. 查询并移除Snap安装的软件
根据你安装是的选择不同(最小安装或普通安装),有不同的Snap软件会被预装到系统,在删除Snap服务之前,我们需要移除Snap安装的这些
代码语言:javascript复制# 查询当前系统上snap安装了哪些app
snap list
基本会包括以下这些
Snap预装软件
按照先删除应用软件,再删除非应用软件的顺序进行删除
代码语言:javascript复制#移除snap-store
sudo snap remove snap-store
#移除firefox
sudo snap remove firefox
#移除gnome-3-38-2004
sudo snap remove gnome-3-38-2004
#移除其它...
#移除core20以及bare
sudo snap remove core20
sudo snap remove bare
需要特别注意的是,在移除firefox之前,你需要考虑下载一个其它的浏览器,比如Chrome,否则系统上没有浏览器可用
- 3. 移除Snap
在删除掉Snap安装的软件后,下一步就是把Snap本身也删除掉,这里需要使用Apt来实现
代码语言:javascript复制
#使用apt移除掉snap
sudo apt autoremove --purge snapd
#移除snapd的一些目录
sudo rm -rf /var/cache/snapd
sudo rm -rf ~/snap
至此,其实snap已经被删除掉了。但是这个并不足够,如果你使用apt安装一些软件 sudo apt install firefox
时,会自动下载并重新安装snap服务。因为Ubuntu源中的一些软件已经是snap版本,而非deb版本,下载snap版本时,会自动检查并在必要时重新安装snap服务。这也是Canonical为了推广自己的Snap Store而做的一些额外的努力吧。(这一点最被很多人不喜欢)
- 4. 禁止重新安装Snap
我们可以利用APT可配置禁用安装哪些依赖的特性,来实现禁止重新自动安装Snap服务
代码语言:javascript复制sudo vim /etc/apt/preferences.d/nosnap.pref
输入如下内容
代码语言:javascript复制Package: snapd
Pin: release a=*
Pin-Priority: -10
这样就可以了。但这样会带来一个问题,就是sudo apt install firefox
会报错,因为它依赖snap,又不允许安装snap
重新安装Firefox
我个人其实更偏好Chrome浏览器,所以浏览器是从Chrome官网下载deb进行安装的。这一点到不影响我。
但如果你确实喜欢Firefox,在删除掉Snap后,其实没法再通过Snap或Apt来安装Firefox了,而Firefox官网提供的下载,又没有deb包,没有桌面快捷方式,不是非常方便。
所以,你可以考虑使用Mozilla提供的源来安装Firefox
代码语言:javascript复制# 添加Mozilla提供的源
sudo add-apt-repository ppa:mozillateam/ppa
# 安装Firefox
sudo apt update
sudo apt install firefox
影响
也许有人会问,为什么不使用其它发行版本,而要这样折腾,我认为这仍然是一个非常合理的行为,因为:
- • Ubuntu仍然是当前最好的桌面发行版本,易于使用,对各种硬件支持到位,UI也比较美观,是一个新手非常友好的发行版本。
- • 没有Snap一点不影响Linux系统的使用
所以,如果删除掉Snap,其实你不用有任何担心,比如没法安装什么软件。因为在Linux中,Snap并不是主流,支持deb的软件非常多,不用担心这一点。
好了,现在你可以继续享受自由与开源的Linux。
你想知道使用Linux做为桌面操作系统是一种什么样的体验吗?不要着急,我会陆续分享一些关于Linux桌面的体验与文章,使用Linux是一种愉悦的享受。