我曾经写过一篇文章,解释过为什么Snap是不受欢迎的,简而言之的话,主要原因在于:

  • • Snap是一个私有化的软件管理方式,由Ubuntu背后的商业公司Canonical构建的一个中心化,私有化的管理机制。这种行为在自由开源的Linux操作系统上,是不受认同。(在Linux的世界中,这些都应该是自由与开源的解决方案)
  • • 以Snap方式构建的软件,在性能上是比不上使用DEB这种原生方式构建的软件

关于这个点,如果有兴趣,可以阅读我过往写的这篇文章 - 为什么Ubuntu的Snap是不受欢迎的

这篇文章就是一个续篇,主要是给那些不喜欢Snap的人提供一个在Ubuntu上完全移除Snap的方式

移除步骤

  1. 1. 停止开机自启的Snap服务

系统在启动时,会自动启动Snap相关服务,我们先禁用掉这些服务

sudo systemctl disable snapd.service
sudo systemctl disable snapd.socket
sudo systemctl disable snapd.seeded.service

复制

  1. 2. 查询并移除Snap安装的软件

根据你安装是的选择不同(最小安装或普通安装),有不同的Snap软件会被预装到系统,在删除Snap服务之前,我们需要移除Snap安装的这些

# 查询当前系统上snap安装了哪些app
snap list

复制

基本会包括以下这些

Snap预装软件

按照先删除应用软件,再删除非应用软件的顺序进行删除

#移除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,否则系统上没有浏览器可用

  1. 3. 移除Snap

在删除掉Snap安装的软件后,下一步就是把Snap本身也删除掉,这里需要使用Apt来实现


#使用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而做的一些额外的努力吧。(这一点最被很多人不喜欢)

  1. 4. 禁止重新安装Snap

我们可以利用APT可配置禁用安装哪些依赖的特性,来实现禁止重新自动安装Snap服务

sudo vim /etc/apt/preferences.d/nosnap.pref

复制

输入如下内容

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

# 添加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是一种愉悦的享受。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐