不喜欢 Snap 软件包?同等情况下,如何优先使用deb?
snap
Snap 是由 Ubuntu 背后的公司 Canonical 开发的一种通用 Linux 软件包格式。与竞争对手 Flatpak 类似,它在隔离的沙盒环境中运行应用程序,从而提高了安全性,并允许在旧版 Linux 发行版上运行最新软件,而无需担心依赖关系问题。

Snap 本身是开源软件,但官方 Snap Store(即 App Center 或 Ubuntu Software)的后端是专有的。此外,自 Ubuntu 22.04 版本起,系统默认预装了一些 Snap 格式的应用程序。

移除 Snap 后的影响

在 Ubuntu 中移除所有 Snap 软件包不会带来安全隐患,但你会失去一些核心应用程序,不过也有一些替代方案。

Ubuntu26.04移除 Snap 后,你将失去以下内容:

  • 安全中心(Security Center)——用于管理 Ubuntu Pro 和磁盘加密。
  • Firefox 网络浏览器。
  • 固件更新程序(firmware-updater)——用于检查和安装硬件固件更新的工具。
  • 用于安装/卸载应用程序的应用商店 App Center。

其中一些有替代方案:你可以使用命令行工具来管理 Ubuntu Pro,通过 Deb 或 Flatpak 包安装 Firefox,并使用 GNOME Software 来安装/卸载应用程序。

步骤 1:移除 Snap 应用程序包

要移除 Snap 应用程序包,请按键盘上的 Ctrl+Alt+T 打开终端,并依次运行以下命令:

首先,运行命令列出 Snap 软件包:

snap list

然后,根据包名逐个移除应用程序。例如,使用以下命令移除 Firefox:

snap remove --purge firefox

或者,通过在命令末尾添加更多包名,一次性移除多个应用程序。例如:

snap remove --purge firefox firmware-updater desktop-security-center

提示:在移除所有其他包之前,系统不允许移除“snapd”。为了简化操作,你可以运行下面这条命令,移除除 snapd 之外的所有包。 sudo snap remove --purge $(snap list | awk 'NR>1 && $1!="snapd" {print $1}')
single-removesnap

最后,移除 snapd 守护进程包:

sudo snap remove --purge snapd

完成后,再次运行 snap list 进行验证,并删除用户主目录下的 ‘snap’ 缓存文件夹。

步骤 2:阻止 Snap

当你尝试安装 Firefox、Chromium 或 Thunderbird 等软件时(即使是通过原生的 .deb 包安装),Snap 包可能会被自动重新安装。这是因为 Ubuntu 将这些软件构建成了“空包”,它们会自动下载并安装对应的 Snap 版本。

为了防止 snap 被重新安装,只需移除提供 snap 包安装功能的可执行程序的 snapd 守护进程(Deb 版本),然后添加规则将其阻止即可。

  1. 首先,打开终端(Ctrl+Alt+T)并运行命令移除 snapd deb 包:

    sudo apt remove snapd

如果看到系统提示将同时移除 Firefox 和 Chromium,请不必担心。它们只是指向 Snap 版本的空包装包。

  1. 接着,运行命令创建一个 apt 配置文件,并使用 nano 命令行文本编辑器进行编辑:

    sudo nano /etc/apt/preferences.d/snapd

文件打开后(在命令行界面中),添加以下行,将 snapd 包的优先级设置为 -1,这样它就不会被自动重新安装了。

Package: snapd
Pin: release o=Ubuntu
Pin-Priority: -1

完成后,按 Ctrl+S 保存文件,按 Ctrl+X 退出。
block-snapd
最后,运行 sudo apt update 以应用更改。你也可以尝试手动安装 snapd,看看它是否已被成功阻止。
snapd-blocked
自 apt v3.1 版本起,新增了一种排除(exclude)方法,因此你也可以按照以下步骤来阻止(从索引中排除)snap 守护进程。

首先,运行命令编辑官方源文件:

sudo nano /etc/apt/sources.list.d/ubuntu.sources

文件打开后(在终端中),在两个配置段落中分别添加以下行:

Exclude: snapd

如果你想安装 Deb 版本的 Firefox,可以使用 Exclude: snapd firefox,这样也能同时阻止 Firefox 的空包装包。
noindex-snapd
最后,保存文件(按 Ctrl+S,然后按 Ctrl+X)并运行 sudo apt update 以应用更改。

步骤 3:清理残余

在彻底移除并禁用 Snap 后,您可以删除相关缓存以释放磁盘空间。

这些缓存包括:位于用户主目录下的 snap 文件夹(包含用户应用程序数据)、/var/lib/snapd 目录(包含 Snap 守护进程使用的主要系统数据),以及 /var/cache/snapd 目录(Snap 守护进程用于存储缓存)。

若要删除它们,请打开终端并依次运行以下命令:

rm -rf ~/snap
sudo rm -rf /var/lib/snapd
sudo rm -rf /var/cache/snapd

此外,gnome-shell-ubuntu-extensions 软件包还提供了一些与 Snap 相关的扩展。

由于该软件包与 Ubuntu 核心软件包相关联,您无法将其卸载,但可以使用“扩展管理器”(Extension Manager)来禁用这些扩展(如果尚未安装,请运行以下命令进行安装):

sudo apt install gnome-shell-extension-manager

如图:
snap-gnomextensions

步骤 4:针对缺失 Firefox、Ubuntu Pro 和 App Center 的替代方案

1)Firefox:

Firefox 现已为 Debian/Ubuntu 提供官方 .deb 软件包;此外,还有一个知名的 Mozilla 团队 PPA 负责维护最新的 Firefox .deb 软件包。

不过,这两种方式都需要先阻止系统自带的 Ubuntu 版 Firefox。请参阅ufans.top推荐的详细的分步安装指南。

对于 Ubuntu Pro,您可以先访问 ubuntu.com/pro/dashboard 并登录(如果没有账户,请先创建一个免费账户),然后复制令牌(token),并运行以下命令来启用 Ubuntu Pro:

sudo pro attach TOKEN_HERE

此外,您可以运行 pro disable 命令来禁用不需要的服务(如 esm-apps、esm-infra 或 livepatch)。例如,通过以下命令禁用 livepatch 服务:

sudo pro disable livepatch

或者,使用 pro enable 启用任意服务;使用 sudo pro detach 可禁用所有 Ubuntu Pro 服务。
ubuntu-procli1
若要替代 App Center 和固件更新程序,请运行以下命令安装 GNOME Software 及其固件插件:

sudo apt install gnome-software gnome-software-plugin-fwupd

gsoftware

最后修改:2026 年 07 月 29 日
如果觉得我的文章对你有用,请随意赞赏