Snaps有一个
https://snapcraft.io/仓库。这是由Canonical运营的,他们也是构建Ubuntu的同一批人。
Flatpaks在
https://flathub.org/上有一个官方仓库。Flatpaks是由Redhat开发的,但我不知道他们是否管理flathub仓库。
稳定性
当然,个别软件包的稳定性取决于构建的质量,并且受到维护者的控制。
Snaps和Flatpaks都完全使用它们所需的依赖项在沙盒中构建,但两者处理方式略有不同。
Snaps构建一个挂载点,系统将程序存档挂载并从那里运行。
Flatpaks在系统范围(全局)安装时构建在/var/flatpak/中,在本地端构建在~/.var/app中。它们会挂载这些位置并运行它们。
关于稳定性的好消息是,如果你在任何一个应用程序中遇到问题,它是被隔离的,不会通过安装引起与其他已安装应用程序冲突的库而使系统变得不稳定。
两者都是独立的应用程序,包含了所有运行所需的信息。这就是使它们与发行版无关并允许在支持它们的任何Linux系统上安装的原因(如flatpak或snap)
安全性
这个问题有点模糊。
Snaps只有官方仓库。有一起恶意软件进入仓库的报道,但很快就被发现并移除了。那是一个加密货币挖矿软件,会将一些挖到的货币发送给应用程序维护者而用户不知情。即使如此,该应用程序没有其他不良影响,并且据我所知,它无法访问用户的主文件夹。
Flatpaks:如果您使用官方仓库,其安全性应与Snaps相当,没有完美的东西,但任何进入的东西如果是恶意软件,且通过了初始提交审核,将会被迅速注意到并移除。
我个人怀疑任何像病毒这样明显具有恶意的东西都不会进入Snap或Flatpak的仓库,而像前述的加密货币挖矿应用程序那样具有欺骗性的不良行为的东西也不会长时间留在其中。
总的来说,我认为两者都是安全的,但它们都不如官方的Ubuntu源那样本质上安全,但这也适用于PPA。添加任何Ubuntu官方源之外的源都不太安全。
我必须在这里提出一个警告,还有其他Flatpak仓库存在。其中大多数是为了合法的程序而设立的,他们只是想托管自己的仓库而不使用flathub。这些完全不受flathub的质量控制,只有在你信任程序开发者的情况下才应该添加。这同样适用于添加snap仓库,但我认为目前没有除了官方Snap仓库之外的其他仓库。
至于flatpaks和snaps是否安全可靠的问题
总体而言,只要你坚持使用官方仓库,仔细阅读你想安装的软件包的描述,并且不安装任何看起来有点可疑的东西,它们是安全的。
这两种方式都是用户安全地(尽可能安全,超出发行版官方软件包源的范围)安装无法通过其他方式获得的软件并使其“正常工作”的好方法。
例如,我已经安装了Spotify的Snap版本和Teamspeak 3的Flatpak版本。虽然Spotify可以通过ppa安装,但使用Snap可以避免在apt中混杂着我可以不使用的PPA。
对于Teamspeak,我只能使用一个.run文件来解压文件夹,然后将提取出的文件夹放在主目录中,并点击sh文件或使用命令行启动。虽然我以前这样做过,然后创建了一个桌面启动器来启动它,然后将该启动器添加到我的
~/local/share/applications
文件夹中进行启动。但是,只需一步安装Flatpak并使其正常工作就容易得多。
一次我从外部仓库安装了一个模拟复古绿色/琥珀色荧光屏的时髦终端仿真器。这个应用程序给我的系统带来了严重的破坏,我不得不重新安装Ubuntu。
针对你提出问题之前的那部分:
我怀疑PPA完全破坏你的Ubuntu安装的原因是它引入了新的依赖库,而你的本地程序无法使用这些依赖库,或者它覆盖了你已安装的库,并替换为过时得无法被Ubuntu本地程序使用的旧版本库。
Snaps和Flatpaks的好处在于它们会将它们运行所需的任何库文件都放在自己的文件夹中。Snaps和Flatpaks是自包含的,不会触及任何系统文件或库。
这样做的缺点是,这些程序可能比非Snaps或Flatpaks版本要大,但折衷的是你不必担心它会影响其他任何东西,甚至不会影响其他Snaps或Flatpaks。如果应用程序由于引入了错误的库文件或其他任何原因而损坏,你只需卸载它,它就会完全消失。