Flatpak 与 Snap:您应该知道的 10 个差异 (*)

应用场景的区别

snap 在官方设计时,就已经针对了嵌入式、lot 场景。

flakpat 没有专门针对嵌入式场景的设计,也许需要、或不需要经过修改之后,也可以应用于潜入式场景吧?

---------------------------------------------------------

Ubuntu Core特点概览

  https://cn.ubuntu.com/internet-of-things/core/features

Snap应用

Ubuntu Core是由一种安全,受限,自依赖,跨平台的Linux打包格式——snap应用构建的。Snap是完全自容器化,甚至可以封装自己的文件系统。这意味着snap包含在任何环境下运行所需一切。Ubuntu Core使用它们来组成在设备上运行的镜像,以提供一致且可靠的,甚至是低功率,无法访问和远程管理的嵌入式和IoT系统的软件更新。

================================


zorin os :官方默认使用了 Flatpak 作为内置的软件管理器

Snap 掌控在 ubuntu 的手上,因此,其他发行版就只能使用开放的 Flatpak 了。

Flatpak 与 Snap:您应该知道的 10 个差异


  https://cn.linux-console.net/?p=17751

Flatpak 与 Snap,了解差异并获得 Linux 用户的见解,以选择最佳方案。

Flatpak 和 Snap 软件包在不再喜欢本机二进制软件包或 AppImages 的 Linux 用户中比以往更受欢迎

主要是因为它易于使用与软件中心集成以及能够轻松获取最新的应用程序更新

安装应用程序时您不再需要担心依赖关系。

对于某些人来说,沙盒/隔离的安全优势也是一个因素。但我们不会在这里讨论具体细节。

不管Flatpak和Snap有什么好处,它们有什么区别呢?您应该考虑使用什么?在本文中,我们将探讨它们的不同之处,以帮助您决定要使用什么。

1. 起源

Snap 由 Canonical 开发,旨在为 IoT 平台构建应用程序。 Snap 背后的目标始终是鼓励应用程序更新,并使开发人员比 deb 软件包更容易维护它们。

最终,它为桌面应用程序(也带有 GUI)开辟了道路。

如果您想了解更多 Snap 的历史,我建议您阅读 Alan Pope 的博客文章。

  

Flatpak 由 Red Hat 首席软件工程师 Alexander Larsson 创建。它是一个独立的开源项目,许多来自 GNOME、Fedora 和 Red Hat 的著名开发人员都参与其中。

其背后的目标是拥有一个强大的框架来跨各种发行版分发 Linux 桌面应用程序。

最初,它被称为xdg-app,后来在2016年更名为“Flatpak”。

有关 Flatpak 历史的更多有趣见解,请查看 Alexander 的旧博客文章。

2. 使用案例

每种封装格式都有其优点。有些人可能会说,“为什么我们需要这个”?

我们需要每种可用的包格式。因此,您可以根据您的要求选择使用您需要的任何内容。因此,有必要了解 Flatpak 和 Snap 包在何处以及为何有用。

  • Flatpak 专为 Linux 工作站和个人计算机量身定制,用于运行桌面应用程序。您可以在我们关于 Flatpak 是什么的资源中探索更多相关信息。
  • 不过,Snap 可以在您的桌面上运行,也可用于以服务器为中心的终端应用程序。

例如,物联网操作系统 Ubuntu Core 和 Edge 都是通过快照构建的,以确保安全并确保可靠的更新。

据我所知,Flatpak 尚未用于类似的用途,因为它不同的方法和有针对性的用例

3. 启动时间

众所周知,与 Flatpak 相比,Snap 应用程序的启动速度较慢。

Canonical 已经为此工作了一段时间,但在发表文章时仍然存在问题。

当然,实际上,并不是每个用户都会注意到或关心这种差异。但是,与 Snap 相比,Flatpak 在应用程序启动时间方面的总体共识仍然更好。

例如,我发现以 Flatpak 形式启动 Spotify 应用程序比 Snap 更快。它可能是主观的。因此,服用时应加少许盐。

4. 性能

应用的性能不仅指其响应能力,还指其稳定性和功能提供。

有些应用程序作为 Snap 性能更好,有些应用程序作为 Flatpak 性能更好。

例如,与 Snap 软件包相比,GNOME Boxes 的 Flatpak 版本不支持设备共享。可以用这个例子来说明 Snap 更好。

然而,我总是更喜欢将 Spotify 安装为 Flatpak,而不是 Snap。

因此,您需要测试您最喜欢的应用程序,以了解哪种应用程序更适合您; 这里没有人有明显的优势。

5. 可用性和受欢迎程度

虽然您可以在任何 Linux 发行版上安装其中任何一个,但与 Snap 相比,Flatpak 因其可用性和对更多发行版的开箱即用支持而具有优势。

例如,Linux Mint 禁用了 snap,但内置了 Flatpak 支持。<< 因为 mint 是桌面版 ?还是其他原因 ?

Pop!_OSUbuntu MATE 等发行版也默认提供 Flatpak 支持。换句话说,您会发现许多不同的 Linux 发行版(Ubuntu 版本除外)默认内置了 Flatpak

然而,Snaps 主要受到 Canonical 的 Ubuntu 及其官方版本的青睐。如果您不使用 Ubuntu 或其版本,请参阅我们的 Snap 指南进行设置。

因此,可以说 Flatpak 在 Linux 桌面上的采用范围更广(即使不一定拥有更广泛的用户群)。

有人可能会提到,可用作 Snap 的应用程序数量更多。虽然这在几年前是一个巨大的差异,但 Flatpak 推荐的商店 Flathub 现在提供了大多数基本应用,这可能不会成为交易的障碍。

6. 开源与闭源

Flatpak 完全开源

不幸的是,当谈到 Snap 软件包时,答案并不那么简单

Snap 是一个核心开源项目,包括snapd,管理/安装 snap 应用程序的后台服务。

然而,snap 的后端是专有,并由 Canonical 控制,没有任何社区参与

作为最终用户,只要应用程序能够完成工作,您就不应该对 Snap 的闭源部分有任何问题

当然,如果您喜欢完全开源的技术,Flatpak 将是您的选择。

建议阅读📖

7. 去中心化与中心化

Flatpak 是开源的,并采用去中心化的方法。

尽管我们有一个著名的“Flathub”门户,大多数用户都可以从其中获取应用程序,但 Flatpak 允许在需要时/如果需要的话拥有多个商店。

使用 Snap,您只能访问 Canonical 的 Snap 商店。

为了方便,一些用户更喜欢集中式应用程序商店。因此,您对它们中的任何一个都不应该有任何问题。然而,Flatpak 为您提供了在需要时添加额外存储库的优势。

8. 更新

默认情况下,Snap 应用程序会自动更新。用户可以修改更新发生的时间和频率。此外,您还可以保留和推迟选定快照的更新。

相反,Flatpak 软件包不会自动更新。如果您与软件中心集成了 Flatpak,您将收到可用更新的通知,但不会强制更新

您可以随时参考我们有关更新 Flatpak 软件包的指南。

使用 Flatpak,默认情况下您可以获得更多控制权。但是,一些用户忘记更新软件包,错过了新功能或安全/错误修复。

因此,无论您想要自动更新您使用的应用程序还是希望控件手动更新它们,这都会影响您更喜欢什么。

9. 工作

Flatpak 不需要管理员权限来安装应用程序,但 Snap 需要。

Flatpak 附带默认启用沙箱。它使用 Linux 内核的命名空间功能进行沙箱,而 Snap 使用 AppArmour。

您可以浏览这两个开发人员文档以了解更多信息。但是,这两个关键点可能会影响为您的用例选择其中之一。

10. 维护者的视角

在撰写本文之前浏览论坛和 Reddit 帖子时,我从应用程序维护人员那里发现了一些有趣的见解。其中一些包括:

  • 与 Flatpak 包相比,Snap 更容易维护/构建。

  • Snap 安全性有点先进。

  • 通过 Flathub 作为 Flatpak 的商店,维护人员可以得到各个开发人员的帮助来测试和改进 Flatpak。

当然,要了解更多技术信息和差异,文档将是一个很好的起点。

💬你更喜欢哪一个? Flatpak 还是 Snap?而且,为什么?请在下面的评论部分分享您的想法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值