如何在 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 命令行,则可以轻松删除此文件并启用快照支持。
如果您对终端不满意,我会讨论一种稍微更安全的方法,那就是移动文件而不是删除它。
在 Linux Mint 20 中启用快照支持
在终端中,键入以下命令将 nosnap 首选项文件移动到您的主目录:
sudo mv /etc/apt/preferences.d/nosnap.pref ~
现在您可以像往常一样继续安装 snapd 守护进程:
sudo apt install snapd
一旦 Linux Mint 中启用了 snap 支持,您就可以使用 snap 命令来安装 Snap 格式的应用程序。
您可以使用 Nemo 文件浏览器并删除在主目录中复制的文件。如果您害怕终端中的 rm 命令,这种方式会更安全。
为什么 Linux Mint 明确禁用 Snap 支持?
Snap 是一种通用包格式,可以安装在任何支持 snapd 的发行版中。这是 snap 包的最大优势之一。
这些 snap 包是“容器化”的,这意味着这些包包含包内的所有依赖项,并且它们不依赖于系统安装的包和库(大部分)也不与之交互。 Snap 包会自动更新到新版本。
但 snap 包也有一些缺点。它们的体型巨大。如果一个apt包大小为100MB,那么同一应用程序的snap包大小可能有1GB。
除此之外,快照应用程序的加载时间更长,而且还占用更多的磁盘空间。
但这并不是 Linux Mint 20 中取消快照的原因。
在 Ubuntu 继续模糊 apt 打包系统和 snap 打包系统之间的界限之后,Linux Mint 团队做出了默认阻止 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。
你呢?你打算使用还是不使用快照?您对“我的发行版中没有快照”的整体方法有何看法?