社区编辑申请
注册/登录
怎样在 Ubuntu Linux 中移除 Snap 软件包
系统 Linux
由 Canonical 开发的 Snap 软件包在一些场景下是有益的。它为终端用户直接提供了轻便且快速的程序更新。不仅如此,它还有其他的好处,比如它打包了所有依赖包,并允许安装同一个应用的多个版本。
  • 这是一篇关于在 Ubuntu Linux 系统中如何删除 Snap,以得到一个无 Snap 系统的教程。

由 Canonical 开发的 Snap 软件包在一些场景下是有益的。它为终端用户直接提供了轻便且快速的程序更新。不仅如此,它还有其他的好处,比如它打包了所有依赖包,并允许安装同一个应用的多个版本。此外,它运行在沙盒模式,提供了安全和其他方面的好处。

在这些好处中, Snap 技术也有一些地方备受争论。举个例子,几乎所有使用 Snap 软件包的用户都说它的性能较差,包括它的启动时间要比本地 deb 或者 RPM 软件包时间要长。另外,由于它的设计,程序安装的体积巨大,浪费磁盘空间,因为它打包了所有用到的依赖包。

不仅如此,由于沙盒的天然属性,Snap 程序可能无法访问你的 Linux 桌面的几个部分,除非提供了适当的权限。

这个指南阐述了你如何从 Ubuntu 系统中完全移除 Snap。

这些步骤在 Ubuntu 22.04 LTS Jammy Jellyfish 中进行了测试。然而,它应该也适用于所有的 Ubuntu 系统版本。

警告:这些步骤将会移除 Ubuntu 系统中两个关键的程序:软件商店和 Firefox。尝试这些步骤之前确认你已经对书签和 Firefox 的其它设置做了备份。

在 Ubuntu Linux 移除 Snap 软件包

1、在你的系统中打开一个终端,使用以下命令查看已经安装的 Snap 软件包的列表。它显示了 Snap 软件包,比如 Firefox,软件商店,主题以及其它默认已经安装的核心软件包。

snap list

Ubuntu Snap 包列表

2、按照以下的顺序移除 Snap 软件包。首先移除 Firefox。然后是软件商店,和用以上命令看到的你的系统中的其它软件包。

    sudo snap remove --purge firefox
sudo snap remove --purge snap-store
sudo snap remove --purge gnome-3-38-2004
    sudo snap remove --purge gtk-common-themes
sudo snap remove --purge snapd-desktop-integration
sudo snap remove --purge bare
sudo snap remove --purge core20
sudo snap remove --purge snapd

3、最后,通过 apt 命令移除 Snap 服务。

sudo apt remove --autoremove snapd

移除 Snap 包和其它

这还没完,即使你用以上命令移除了 Snap 软件包,但是如果你没有关闭 apt 触发器,sudo apt update 命令会再一次将 Snap 安装回来。

4、所以,要关闭它,我们需要在 /etc/apt/preferences.d/ 目录下创建一个 apt 设置文件 nosnap.pref 来关闭 Snap 服务。

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

5、添加以下的命令行,并保存该文件。

    Package: snapd
Pin: release a=*
Pin-Priority: -10

创建设置文件

如果你知道如何使用它,那么这个 apt 设置文件是一个潜在的工具。举个例子,在以上的状态中,Pin-Priority -10 意思就是阻止 Snap 软件包的安装。

与这个教程不相关的,举个例子,如果你想给所有发行版代号为 “bulleye” 的软件包超高优先权的话,那么就可以查看这些设置文件。如果你想了解更多,你可以访问 apt 手册页。

    Package: *
Pin: release n=bullseye
Pin-Priority: 900

6、回到我们的主题,一旦你已经保存和关闭以上文件,从终端中再次运行以下命令。

sudo apt update

7、最后,从 Ubuntu 中移除 Snap 的步骤全部完成。

从 Ubuntu 移除 Snap 后使用 deb 文件安装软件商店和 Firefox

你已经移除了 Firefox 和软件商店,但是你的工作还需要它们。

要安装 apt 版的 GNOME 软件商店,你可以使用以下命令。确保使用 --install-suggests 参数。否则,将会再次安装上 Snap 版本的软件包管理器!

sudo apt install --install-suggests gnome-software

要安装 Firefox,通过以下命令使用官方 PPA 仓库。

    sudo add-apt-repository ppa:mozillateam/ppa
sudo apt update
sudo apt install -t 'o=LP-PPA-mozillateam' firefox

添加 PPA 仓库

从 PPA 仓库以 deb 文件形式安装 Firefox

一旦你已经安装完 Firefox,使用以下命令开启自动更新。要了解更多,访问此页。

echo 'Unattended-Upgrade::Allowed-Origins:: 
"LP-PPA-mozillateam:${distro_codename}";' | sudo tee
/etc/apt/apt.conf.d/51unattended-upgrades-firefox

最后但同样重要,当运行 apt 时,为 Firefox 创建另一个设置文件给予以上 PPA 仓库超高优先权。如果你不这么做,apt update 命令会再次安装 Snap 版本 Firefox,并把它的“ Snap 朋友们”带回来 。

sudo gedit /etc/apt/preferences.d/mozillateamppa

最后,添加这些命令行并保存文件。

    Package: firefox*
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 501

完成。

在 Ubuntu 系统恢复到 Snap 软件包

如果你改变想法,移除该设置文件,并通过以下命令再次启动安装程序。

    sudo rm /etc/apt/preferences.d/nosnap.pref
sudo apt update && sudo apt upgrade
sudo snap install snap-store
sudo apt install firefox

总结

关于在 Ubuntu 下移除 Snap 软件包做个总结,我想说的是这些处理 Snap 软件包的方法实属无奈。主要是这对新用户来说很困难。我希望这个指南能帮助你处理好 Snap 软件包。完结撒花。

责任编辑:未丽燕 来源: Linux中国
相关推荐

2022-04-02 20:45:04

Hi3516开发板操作系统鸿蒙

2022-03-26 16:59:32

UbuntuLinux卸载应用

2022-04-06 12:19:50

LinuxUbuntu

2022-03-28 13:30:24

UbuntuFirefoxsnap

2022-02-24 16:48:53

SnapLinux

2022-04-25 08:45:38

Linux 发行版旧计算机PC

2022-04-17 18:26:36

Ubuntu开源

2022-04-22 21:13:49

AlmaLinuxLinuxLinux 发行版

2022-04-22 19:14:51

LinuxUbuntu

2021-11-29 14:26:53

2016-10-18 19:02:56

DebianUbuntu LinuMD5

2022-04-28 09:46:20

Nginx文件Linux

2022-04-23 17:36:06

Linux 发行版Zorin OSCutefishOS

2022-03-30 08:23:51

FileZillaLinux开源

2021-01-06 13:03:22

UbuntuDebianLinux

2017-08-21 11:13:43

LinuxSnapcraft Snap软件包

2021-01-21 12:22:33

2020-12-26 14:48:21

UbuntuLinuxDeb文件

2022-03-22 10:57:37

Xshell开源SSH

2020-11-11 08:00:00

Linux系统修复

同话题下的热门内容

NVIDIA 终于发布开源 Linux GPU 内核模块为何 NVidia 的开源驱动程序对 Linux 如此重要?Fedora 36 通过桌面大修吸引开发者,但它能取悦 Linux 之父吗?万字多图,搞懂 Nginx 高性能网络工作原理!80%的 Linux 使用者都不懂的内存问题Ubuntu 22.04 中安装最新 Wine 以运行 Windows 应用程序GPIO到底该如何控制43个Bash编程最容易犯的错误大全

编辑推荐

Linux系统下安装MySQL的步骤详解CentOS与Ubuntu有什么不同?Linux下如何使用minicom USB串口为什么你可能想要略过Ubuntu 17.04?Linux中7个判断文件系统类型的方法
我收藏的内容
点赞
收藏

51CTO技术栈公众号

网站地图 申博娱乐 申博娱乐网 太阳城娱乐登入 申博登录网址
申博开户平台登入 太阳城官网 申博代理加盟登入 777老虎机游戏
申博游戏平台 申博娱乐官网 申博娱乐手机登入 申博直营网
真钱百家乐 申博娱乐开户 申博官方网址 老虎机游戏
盛618网址 申博app下载 网上百家乐 ag国际馆