如何在 Linux Mint 20 中启用 Snap 应用程序支持(如果你真的需要使用 Snap)

新发布的 Linux Mint 20 默认没有启用 Snap 支持。

迟早,您可能会遇到应用程序版本仅作为 Snap 包提供的情况,然后您需要启用 Snap 支持。

如果您像在其他 Linux 发行版中那样在 Mint 20 中启用 Snap,您将遇到如下错误:

E: Package 'snapd' has no installation candidate

通常,此错误意味着该软件包在存储库中不可用,但此处并非如此。 此处明确阻止了 Snap,您必须通过删除 /etc/apt/preferences.d/nosnap.pref 文件来删除此阻止。

如果您熟悉 Linux 命令行,则可以轻松删除此文件并启用 snap 支持。

如果您对终端不满意,我将讨论一种稍微安全的方法,即移动文件而不是删除它。

在 Linux Mint 20 中启用 snap 支持

在终端中,键入以下命令将 nosnap 首选项文件移动到您的主目录:

sudo mv /etc/apt/preferences.d/nosnap.pref ~

现在您可以像往常一样继续安装 snapd 守护程序:

sudo apt install snapd

在 Linux Mint 中启用 snap 支持后,您可以使用 snap 命令以 Snap 格式安装应用程序。

您可以使用 Nemo 文件浏览器并删除您在主目录中复制的文件。 如果您害怕终端中的 rm 命令,这样更安全。

为什么 Linux Mint 明确禁用 Snap 支持?

折断 是一种通用的包格式,可以安装在任何支持 snapd 的发行版中。 这是 snap 包的最大优势之一。

这些 snap 包是“容器化的”,这意味着这些包包含包内的所有依赖项,并且它们不依赖于系统安装的包和库(主要是)并与之交互。 Snap 软件包会自动更新到较新的版本。

但是 snap 包也有一些缺点。 它们的尺寸很大。 如果一个apt包的大小是100MB,那么同一个应用的snap包可能有1GB的大小。

除此之外,snap 应用程序需要更长的时间来加载,而且它们也需要更多的磁盘空间。

但这并不是 snaps 从 Linux Mint 20 中消失的原因。

Linux 薄荷 在 Ubuntu 继续模糊 apt 打包系统和 snap 打包系统之间的界限之后,团队做出了一个艰难的决定,默认情况下阻止 Snap。

当您使用 apt 安装应用程序时,您希望安装一个 apt 包。 但在 Ubuntu 20.04 中情况并非如此(Mint 20 基于此 Ubuntu 版本)。 在 Ubuntu 20.04 中,如果您使用 apt 安装 Chromium 浏览器,它会安装该浏览器的 snap 版本。

Mint 团队显然对这种违规行为不满意:

一年后,在 Ubuntu 20.04 软件包库中,Chromium 软件包确实是空的,并且在未经您同意的情况下通过将您的计算机连接到 Ubuntu Store 来充当后门。 此商店中的应用程序无法修补或固定。 您无法审核、保留、修改它们,甚至无法将快照指向不同的商店。 您拥有与使用专有软件一样多的授权,即没有。 这实际上类似于商业专有解决方案,但有两个主要区别:它以 root 身份运行,并且无需询问您即可自行安装。

因此,他们决定明确阻止 Mint 20 的 snap 支持。

扣还是不扣,这是个问题

与往常一样,在 Linux 中有一种方法可以获得您想要的东西。 因此,您可以绕过此阻塞并在 Linux Mint 20 中启用 snap 包支持。

正如我在开头提到的,您可能会遇到某些情况,即应用程序只能作为 Snap 使用,然后您可能需要 Snap 支持。 但在那之前,您可以不使用 snap 享受 Linux Mint 20。

你呢? 你要不要用snap? 您如何看待“在我的发行版中没有快照”的整体方法?