默认情况下,新发行的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命令行,则可以轻松删除此文件并启用快照支持。
如果您对终端不满意,我将讨论一种更安全的方法,即移动文件而不是删除文件。
在终端中,键入以下命令以将nosnap首选项文件移动到您的主目录:
sudo mv /etc/apt/preferences.d/nosnap.pref ~
现在,您可以像往常一样继续安装snapd守护程序:
sudo apt install snapd
一旦在Linux Mint中启用了快照支持,就可以使用snap命令以Snap格式安装应用程序。
您可以使用Nemo文件浏览器并删除在主目录中复制的文件。如果您害怕终端中的rm命令,则这种方式更安全。
Snap是一种通用的软件包格式,可以安装在任何支持snap的发行版中。这是snap软件包的最大优点之一。
这些快照程序包是“容器化的”,这意味着这些程序包包含了程序包中的所有依赖项,并且它们不依赖系统的已安装程序包和库(大多数情况下)并与之交互。Snap软件包将自动更新为较新版本。
但是快照程序包也有一些缺点。它们的尺寸很大。如果apt软件包的大小为100MB,则同一应用程序的snap软件包的大小可能为1 GB。
除此之外,快照应用程序需要更长的时间来加载,并且它们还需要更多的磁盘空间。
但这不是从Linux Mint 20取消快照的原因。
在Ubuntu继续模糊apt打包系统和snap打包系统之间的界限之后,Linux Mint团队做出了一个艰难的决定,即默认情况下阻止Snap。
当使用apt安装应用程序时,您希望安装apt软件包。但是在Ubuntu 20.04中并非如此(Mint 20基于此Ubuntu版本)。在Ubuntu 20.04中,如果使用apt安装Chromium浏览器,它将安装该浏览器的快照版本。
薄荷团队显然对此违规不满意:
一年后,在Ubuntu 20.04软件包基础中,Chromium软件包确实是空的,未经您的同意,通过将计算机连接到Ubuntu商店而充当后门。该商店中的应用程序无法修补或固定。您无法对其进行审核,保留,修改,甚至无法将快照指向其他商店。您拥有的授权就像使用专有软件一样,即没有。这实际上类似于商业专有的解决方案,但是有两个主要区别:它以root身份运行,并且自行安装而无需询问。
因此,他们决定明确阻止Mint 20提供快照支持。