比较 Snap 和 Flatpak。 的优点和缺点

包含 Snap 包的目录。

Snap 软件包安装在它们自己的磁盘扇区中,与操作系统的其余部分隔离。

最让新用户感到困惑的事情之一是可用程序格式的数量。 每个发行版家族都有自己的发行版,为其中一个发行版创建的包不能在另一个发行版中使用,即使它支持相同的格式。 为了解决这个问题,开始研究一种用于独立应用程序的通用格式, 这是因为它们不需要操作系统依赖项。

通过这种方式,程序可以安装在任何发行版上并且可以更新,即使主机操作系统没有。 让我们谈谈 Snap 和 Flatpak。

当然,就像在开源世界中经常发生的情况一样,我们无法就标准格式达成一致,所以到目前为止我们已经有了三个。 个人不排除以后再出现。

基础

Linux 发行版的软件管理器的屏幕截图

软件管理员从 Linux 发行版的存储库下载、安装和卸载软件包。

让我们首先说,在本文的上下文中,包和程序不是同义词。 包格式是一种文件类型,其中包含包管理器安装它所需的附加软件和元数据。. 程序可以是源代码或可执行文件的形式,元数据中包含有关安装目录以及名称、版本号、许可证和作为程序一部分的文件的指示。

所有手机和平板电脑用户都熟悉应用商店的概念。 它是一个允许我们在我们的设备上搜索、安装或卸载其他程序的程序. 应用程序商店是 Linux 发行版包管理器的改进版本。

包管理器在所谓的存储库中寻找我们想要安装的程序。 存储库是重定向到服务器中特定位置的 Web 地址,可以从该位置下载特定程序。. 在没有 Internet 连接的情况下,安装介质可以充当存储库,但提供的内容不会那么广泛或最新。

存储库通常按来源(由分发开发人员、志愿第三方或组织添加)或许可(免费或专有)对程序进行分组。

正如任何产品的制造商都不会从头开始开发所有组件一样,开发人员也不会对代码做同样的事情。 使用由编程语言的创建者提供的库(例如,用于视频编辑)、构成用户界面的框架,以及对操作系统的打印等任务请求。 当安装传统的封装形式,管理人员检查是否安装了这些必要的选择应用到工作的第三方工具或可从存储库中获得。 如果第二个问题的答案是肯定的,则将首先安装这些依赖项。 否则将无法继续该任务。

我们正在分析的两种格式的新颖之处在于 他们不需要任何预先安装的依赖项,因为他们需要的一切都与应用程序一起包含在一个包中。

比较 Snap 和 Flatpak

捕捉

如果您阅读有关此主题的任何其他文章,您将遇到两个重复且错误的陈述:

  1. Flatpak 比 Snap 更好,因为它是由社区开发的,而 Snap 仅由一家公司支持。
  2. 如果您使用 Snap,您将被迫使用官方商店,而任何人都可以管理 Flatpak 存储库。

读书的好处 Linux Adictos 是我们编辑研究我们所写的内容而不是复制/粘贴。 Flatpak 到处都是红帽指纹. 我们将在 Flatpak 的特定部分看到该公司的参与。

至于第二个说法,这是错误的,因为任何运行 Linux 发行版的 Web 服务器都可以是 Snaps 商店。 用于测试 埃斯特教程 从2016年开始。

Snap 是 Canonical 开发的跨平台打包分发系统, Ubuntu 的创建者,用于 Linux 平台。 它与大多数主要发行版兼容。

快照商店截图

在 Snap 商店中,我们可以在同一应用程序的不同版本之间进行选择。

它由三个组件组成:

  • 折断: 这些是 Snap 创建和分发的包。 这些是 >SquashFS 格式的压缩文件,并存储在 .snap 扩展名下。 每个文件都包含完整的包模块,包括应用程序、其依赖库和所需的元数据。
  • 抢购: 它是在后台创建执行快照的沙箱的工具。
  • 快照商店: 它是允许开发人员发布和用户下载快照的工具。 在某些 Linux 发行版中,传统的包管理器充当浏览和下载的图形界面。 应用商店分为多个频道,您可以选择应用的版本和更新频率。
  • 快照: 它是允许创建快照的工具。

优缺点

从开发人员的角度来看,Snap 提供了以下优势: 能够直接分发您的软件,而无需使其适应每个分发的特殊性 Linux 或等待开发人员将其包含在存储库中。

用户具有更快访问版本的优势 您最喜欢的程序的最新版本,而无需等待每个发行版的更新或遇到兼容性问题。

快照包有 一个完整的权限系统,因此可以将它们配置为相互交互以通常的方式安装操作系统和应用程序。

Snap 的强项是专有应用程序,或包含付费功能的应用程序。 也有适用于 Windows 的游戏和程序,这要归功于 Wine,兼容层充当它们与 Linux 内核之间的桥梁。

在缺点部分是启动时间。 尽管自第一个版本以来已减少,但 snap 格式的应用程序启动时间比正常安装的应用程序要长得多。 此外,通过包含所有必要的依赖项,它占用的大小更大。

Snap 可用于桌面应用程序、服务器和物联网。

Flatpak

支持 Platpak 格式的 Linux 发行版的徽标

与传统封装格式不同。 Flatpak 包无需修改即可安装在各种 Linux 发行版上。

Flatpak 名称指的是宜家家具的扁平包装。 在 Red Hat 从事容器技术工作后开发该项目的 Alexander Larsson 是瑞典人,因此这个名字不仅指其创建者的国籍,还指代其创建者的国籍。 这种 Linux 应用程序“打包”的意愿与宜家对家具的“打包”一样具有革命性。

最初的名称是 xdg-app。 尽管新名称的原因听起来很脆弱,但让我们同意它要好得多。

关于与红帽的关系, 在常见问题解答本身中,他们注意澄清该技术不仅限于 Fedora (Red Hat 支持的社区发行版)也不是 GNOME,这表明在后一种情况下,许多 GNOME 开发人员参与了 Flatpak 的开发。 猜猜许多 GNOME 开发人员为谁工作?

诚然,我没有反对红帽,他们有一些我使用的很棒的技术,包括 Flatpak。 我只是表明 这种数据包格式不是那么独立 正如一些人愿意相信的那样。

但是什么是扁平包?

Flatpak 是一个用于为 Linux 发行版创建、分发和运行桌面应用程序的系统,n Linux 系统沙箱

关键概念

  • 扁平包装应用: 这些是用户通过 flatpak 命令或通过不同的用户界面(如 Linux 发行版的包管理器)安装的应用程序。
  • 运行环境: 集成平台,提供运行 Flatpak 应用程序所需的基本实用程序。
  • 基本应用程序: 应用程序构建框架的集成平台。
  • 扁平包装: 导出应用程序的格式及其必要的基本实用程序。

优缺点

Flatpak 分享了 Snap 的一些优点,例如 能够独立于发行版安装,包括其运行所需的所有依赖项 并且独立于操作系统工作,因此它不受其错误和更新周期的约束。

两个显着的优点是e 安装不需要管理员权限 以及他们所谓的“增量更新”,仅更新模组。 这导致更高的速度。

任何人都可以管理您的 Flatpak 下载服务; 到目前为止,最终用户最完整的是 Flathub. Linux Fedora 发行版也有自己的发行版,它们基本上将经典发行版包转换为新格式。 GNOME 桌面 我们试试吧 您的应用程序的最新版本,通过从您的应用程序下载它们并且相同 以前 KDE.

关于与桌面的融合, 格式承诺与主要 Linux 桌面的本机集成 因此用户可以通过他们现有的桌面环境和工具轻松导航、安装、运行和使用 Flatpak 应用程序。 值得一提的是,Ubuntu 软件中心不支持安装这种格式的包。

Flatpak 更好地利用了磁盘空间,因为 允许在相同格式的应用程序之间共享库。 Flatpak 格式的优势在于社区开发的各种开源应用程序,我们可以在它们进入存储库之前很久就在它们的最新版本中进行测试。

从开发者的角度来看, 用于开发应用程序的框架 Gnome Builder 允许以图形方式创建 FlatPak 除了有一系列预定义的运行时间,节省时间在创建应用程序。

缺点之一(除了占用比传统应用程序更多的磁盘空间)是它们只能在桌面上使用,并且与 Snap 不同,不能修改权限 在安装时与操作系统的其余部分进行交互。 如果开发人员可以在创建包时完成,然后用户可以使用 第三方应用程序。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   X-ELE

    AppImage 在这个游戏中的表现如何?

    1.    迭戈·德·冈萨雷斯(Diego German Gonzalez)

      Appimage 的问题在于它没有安装/卸载和更新的官方工具。 它可能仍然是一种边际选择。

      1.    迪米西斯DEMZ

        Appimaged 可以帮助您。

    2.    鲁本·拉莫斯

      就我所见所闻,flatpack 在应用方面比 App Image 要完整得多

  2.   丹尼尔

    有一个名为“Flatseal”的图形工具,可以查看和修改已安装的 Flatpak 应用程序的权限。

    1.    迭戈·德·冈萨雷斯(Diego German Gonzalez)

      感谢您的信息

  3.   迪米西斯DEMZ

    看来他们这里没有使用 Flatseal 来管理 Flatpak 权限。

    1.    迭戈·德·冈萨雷斯(Diego German Gonzalez)

      Flatseal 是第三方应用程序。 它没有出现在官方文档中。 谢谢

      1.    迪米西斯DEMZ

        ?, 这是正确的。

  4.   库尔特

    我更喜欢 AppImage,因为您只需下载一个文件即可运行,我认为它更便携且易于使用。

    糟糕的是,在我看来,AppImage 背后没有组织,应用程序经常被遗忘,我不知道 AppImage 的开发进展如何,因为它缺乏与桌面的集成。 除了 AppImage 没有像其他 2 一样宽的官方存储库这一事实之外。以及如何验证 AppImage 文件的安全性(您必须确定来源)

    我还认为很难在众多未知选项中找到新的替代方案(就像在 Snap 和 Flatpak 上一样)。

    这一切让我想起了这样的表情包:
    “Linux 有太多类型的包:DEB、RPM、TAR(以压缩形式分发的可执行文件)、SH 和 RUN 文件,我不记得 Solusos 和 Gento,以及 Arch 包系统......
    我们需要创建一种新的、现代的、创新的文件类型,可以在任何(通用)发行版上运行,消除依赖问题并统一整个开发工作……»

    繁荣!!
    结果:我们有 3 个选择(直到其他人相信别的)

    1.    迭戈·德·冈萨雷斯(Diego German Gonzalez)

      有趣的是,该模因有多个版本。