Snap Packages 与 Flatpaks:差异以及您应该使用哪一个

如果您最近关注过 Linux 社区,您会认为正在进行一场打包大战。 一方面,您拥有 Ubuntu 的 Snappy 包,这是一项最初为 Ubuntu 创建的技术。 现在,随着 Snapd 的发布,它几乎可以在任何东西上运行。

另一方面,您有 Flatpaks,在许多方面与 Snaps 基本相似,只是它更开放源代码并且依赖于单独的存储库而不是一个中央位置。 这项技术也可以安装在几乎任何东西上。 那么,哪一个更好呢? 你应该使用哪一个? 最重要的是,有什么区别? 让我们来了解一下!

有什么区别?

Snap 包和 Flatpak 之间的区别并不是很多。 Snap 是由 Canonical(Ubuntu 背后的公司)内部创建的,该技术经过硬编码以使用 Snap 包商店。 有些人可能对此感到紧张,因为 Ubuntu 拥有完全的控制权,事实上,为了制作 Snap 软件包,您需要签署一份贡献者许可协议(有些人非常反对)。

使用 Flatpaks,一切都是开源的,不像 Snaps 那样集中。 更重要的是,Flatpaks 更专注于向桌面交付软件,而 Snap 包基本上只是 Canonical 为桌面采用但同时适用于两者的服务器技术。

Flatpak 没有集中存储可言。 即使是现在,如果您安装它,您也不一定能够如此轻松地完成工作。 该软件本质上与 Ubuntu PPA 系统非常相似。 你必须出去找到一个存储库,然后添加它。 这与 Snaps 的工作方式形成鲜明对比,Snaps 仅来自 Canonical snappy 商店,没有其他地方(目前)。

通用包-flatpak-repo-page

当你安装一个 Snap 包时,你基本上得到了在一个完整的包中运行某些东西所需的每一个软件组件(如果你感到困惑,想想 Docker 容器)。 为了 example:您安装一个捆绑整个 Gnome 桌面的 Snap。 它将与所有东西、库和所有东西捆绑在一起。

使用 Flatpak,一切都有些不同。 拿侏儒 example. Gnome Desktop flatpak 将包含所有需要的文件,但不是每个库——除非开发人员选择这样做。 Flatpak 团队创建了一个运行时,可以容纳你需要的一切。

你应该使用哪一个?

很难说什么技术将成为这里的领导者。 毫无疑问,我对这件事的看法会遭到一些愤怒的评论,他们主张一个立场高于另一个立场,所以在我进一步讨论之前,我想澄清一下。 Flatpaks 和 Snap 包都是非常有趣和独特的想法。

通用包-flatpak-page

至少现在我很清楚,如果你想要的是“通用包格式”,那么可以使用 Snap 包。 和 抢购 几乎可用于它可以构建的所有发行版,它越来越容易上手。 更重要的是任何人都可以弄清楚。 你不需要追捕 存储库网址 像Flatpak。 只需安装即可。

unversal-packages-snap-package-logo

这并不是说 Flatpak 不值得。 如果你在 Fedora 24,例如,你应该充分利用 Flatpak。 你也可以让它在 Arch 上工作,如果你喜欢安装这个 AUR 包,或者通过自己构建它 Github.

结论

尽管 Flatpak 和 Snappy 不是新想法,但它们背后有很大的力量。 我们过去有过像 AppImage(和其他)这样的工具,但它们从未真正获得过如此大的牵引力。 然而,我认为 Flatpak 和 Snappy 都具备让 Linux 上更通用的安装工具起飞所需的条件——即使这意味着我们有两种主要格式而不是一种。

有人说在 Linux 上选择太多是不好的。 我们有太多的发行版、太多的二进制包格式、太多的文件系统选择、太多的桌面环境,不胜枚举。 但是,我认为有人说的弱点也是很大的优势。 我们可以用 Snappy 和 Flatpak 对冲我们的赌注。 如果一个结果很糟糕,我们可以尝试其他方法,或者如果它们都很好,这是一个双赢的局面,我们都能从中受益。

当谈到 Snap 包和 Flatpak 时,你感觉如何? 下面告诉我们!

订阅我们的新闻!

我们最新的教程直接发送到您的收件箱

注册所有时事通讯。 注册即表示您同意我们的隐私政策并且欧洲用户同意数据传输政策。 我们不会共享您的数据,您可以随时取消订阅。 订阅