Flatpak、Snap、AppImage,当然它们是你非常熟悉的名字。 通用包已经进入 Linux 世界,能够在任何发行版上工作,从而消除了包的碎片化问题。 然而,它们还不是大多数,尽管打包在这些类型包中的软件数量正在逐渐增加。 好吧,如果您使用它们,在本文中您将能够看到 Flatpak 与 Snap 之战的优缺点。
什么是扁平包装?
Flatpak 它是一种通用包,用于 GNU/Linux 环境的应用程序虚拟化。 它提供了一个进程隔离的沙箱,称为 Bubblewrap。 在其中,用户可以运行与系统其余部分隔离的应用程序,以获得更高的安全性。
Lennart Pöttering 是 2013 年提出它的程序员,一年后发表了一篇关于它的文章,最终发展了这个想法并成为了 freedesktop.org 项目.,名称为 xdg-app,与 Flatpak 相同。 自推出以来,它的受欢迎程度一直在增加,目前已得到 20 多个最受欢迎的发行版的支持。
什么是快照?
虽然 Flatpak 起源于 Fedora/Red Hat 开发社区,但 Snap 在 Canonical 上有它,开发这种特殊类型的包裹管理的公司。 一种通用包,已经接受了其中打包的大量发行版和应用程序。 在这种情况下,包在 AppArmor 中运行,尽管它们可以在沙箱之外运行。
顺便说一句,我们必须认识到还有其他包,例如 应用图像, 这对于它的简单安装变得越来越重要,或者更确切地说,没有安装。 只需下载并运行该软件包,就可以开始使用,有点像便携式版本。 此外,在 AppImage Hub 官方网站上,您可以找到大量以这种二进制格式打包的工具。 安全方面,它们可以在沙箱或 AppArmor、Bubblewrap 或 Firejail 中运行。
Flatpak vs Snap:差异、优势和劣势
作为比较,在这个 塔布拉 您将能够看到您需要了解的关于这两种类型的包的所有参数:
总类
Característica | 捕捉 | Flatpak | |
---|---|---|---|
桌面应用 | Si | Si | |
终端工具 | Si | Si | |
服务 | SI | 没有 | |
主题的正确应用 | 没有 | 没有 | |
库和依赖项 | 在图像本身或带有附件 | 使用主库的运行时 | |
支持 | 典范 | 红帽等 |
封锁
Característica | 捕捉 | Flatpak | |
---|---|---|---|
没有限制 | Si | 没有 | |
您可以使用不同的限制 | 否(仅限 AppArmor) | 否(仅限气泡膜) |
安装或执行
Característica | 捕捉 | Flatpak | |
---|---|---|---|
可执行的 | 不要 。 需要安装 | 不要 。 需要安装 | |
无根 | 不,您需要 root 才能安装。 | 不,您需要 root 才能安装。 | |
可从压缩文件中执行 | Si | 没有 |
应用程序分发
更新
Característica | 捕捉 | Flatpak | |
---|---|---|---|
更新机制 | 储存库 | 储存库 | |
增量更新 | Si | Si | |
自动更新 | 没有 | 没有 |
塔马尼奥迪斯科
Característica | 捕捉 | Flatpak | |
---|---|---|---|
压缩磁盘应用 | Si | 没有 | |
LibreOffice 6.0.0 | 200 MB | 659 MB |
几个重要的细节:
1. Flatpak 不支持以 root 身份安装软件包(当然,仅适用于您的用户)。
2. Snap 不支持多个存储库。 它仅适用于 snapcraft.io
有趣但奇怪的是,没有提到运行应用程序时的性能或速度,这一点非常有利于 flatpak 并且 snap 非常弱。