Snap vs Flatpak vs AppImage:了解差异| 哪个更好

在 Linux 系统上安装软件 如果您不知道如何找到安装特定软件的完美方法,可能会很棘手。 没错,由于 Linux 提供免费和开源的桌面发行版,因此有大量的开源软件可用于 Linux 系统。 如果您是 Linux 专家用户,我相信您已经听说过 Snap、Flatpak 和 AppImage 之间的斗争。 所有这三个工具都以在 Linux 系统上安装软件包而闻名。 要在您的系统上安装软件包,您需要知道哪一种是在 Linux 桌面环境中安装和维护软件的最佳方法。

为什么需要 Snap、Flatpak 和 AppImage

如果我们谈论 Debian 和基于 Red Hat 的 Linux 发行版,我们知道它们都有自己的包管理系统。 Ubuntu 和其他 Debian 发行版使用 .deb 包扩展名来构建包。 红色的帽子, Fedora、CentOS 和其他基于 Red Hat 的 Linux 使用 .rpm 包扩展名来构建包。

因此,还有一些基于命令行的方法可以在 Linux 系统上安装软件包。 当命令行包含损坏的 URL 或服务器地址或存储库链接时,就会出现问题。 不稳定的存储库链接可能是安装包失败的原因。

有时,由于地理位置限制或糟糕的网络问题,本机包管理器可能无法从存储库服务器下载包; 在这些情况下,第三方通用包管理器可能会解决问题。

为了使在 Linux 系统上安装包的过程变得简单,软件开发人员构建了 Snap、AppImage 和 Flatpak 包管理器。 你也可以说使用 Snap、AppImage 和 Flatpak 包管理器很容易使用,并且可用于所有主要的 Linux 发行版。

这篇文章将看到 Snap、Flatpak 和 AppImage 包管理器的必要性。 我们还将看到对每三个包管理器的简要描述,以及三个最佳跨分发包管理器 Snap、Flatpak 和 AppImage 之间的点对点比较。

AppImage:适用于 Linux 的紧凑型包管理器

拥有一个通用的包管理器总是有帮助的。 那些需要获得尖端软件并且不关心定期更新的人可以尝试 AppImage 包管理器。 您可以通过 AppImage 包管理器下载、暂停和安装包。

包更新不是定期和频繁的,也不适用于 AppImage 包管理器上的每个包。 如果您是 AppImage 的新手,您可能会发现很难更新软件包。

– –

有时,您可能需要使用另一个 AppImage 包来更新 AppImage 管理器上所有其他已安装的包。 但是,在 Snap vs Flatpak vs AppImage 的较量中,当问题是稳定性和获取最新软件时,AppImage 将始终领先。

Flatpak:Linux 的包交付系统

Flatpak 是一个用于 Linux 发行版的快速且易于安装的包管理器。 Flatpak 在单个包中组合、编译和交付应用程序。 Flatpak 支持更长时间和更频繁的更新。 它用 平面图 作为包存储库。 您可以在 Flathub 上获得坚如磐石的稳定和最新的软件包。

Flatpak 只为桌面环境生成应用程序; 您在 Flatpak 包管理器上找不到用于开发和后端系统工具的应用程序。 由于 Flatpak 使用沙盒技术在 Linux 系统上存储和安装包,它有时无法访问和利用系统的全部资源。 有时您可能会在 Flatpak 包管理器上发现依赖问题。

由于 Flatpak 提供了包的编译版本,因此包是预编译的,并且在包存储库中找不到源代码。 但是,我们可以说,在 Snap vs Flatpak vs AppImage 的战斗中,Flatpak 的优点比缺点少。

Snap:适用于 Linux 的应用程序商店

Canonical 维护着 Snap 包管理器,它是 Ubuntu 和其他 Debian Linux 发行版最合适和最好的替代包管理器。 尽管是一个包商店,Snap 也支持命令行界面来安装包。 它具有在 Linux 系统上更新软件包的 delta-update 方法。

在 Snap 商店中,用户可以检查和控制对应用程序的权限访问。 您可以选择是否要向应用程序授予特定权限。 Snap 在系统内部运行 Snapd 守护程序,以使应用程序在后台保持活动状态。

Snap 将包构建为通用包系统。 Snap 适用于几乎所有 Linux 发行版。 您可以使用 Snap 包管理器来安装 IoT 开发应用程序、后端系统工具和桌面应用程序。

Snap vs Flatpak vs appimage

Snap 使用中央包存储库来维护包。 如果您是软件开发人员,您可以构建自己的包并通过 Snapcraft 框架将它们上传到 Snap 商店。

在所有最新版本的 Ubuntu 上,Canonical 都将 Snap 存储预安装在系统内。 人们抱怨为什么 Canonical 将 Snap 预装在系统中? 好吧,如果您不想在系统上保留 Snap 存储,您可以随时从系统中删除它。 Canonical 不能强迫您将其保留在系统中。

比较:Snap、Flatpak 和 AppImage

到目前为止,我们已经看到了为什么需要 Snap、Flatpak 和 AppImage 包管理器的原因。 我们还对三个独立的包管理器中的每一个进行了简短的描述和优缺点。 现在,我们将看到 Snap、Flatpak 和 AppImage 之间的头对头比较。

1. Snap vs Flatpak vs AppImage:存储库

由于 Snap、Flatpak 和 AppImage 是独立的包管理器; 他们有自己的包存储库系统。 Snap 为 Debian 及其衍生产品提供了广泛的软件包存储库。 Snap 使用中央包存储库系统,它不能使用任何第三方存储库。

Flatpak 使用 Flathub 存储和发布 Linux 应用程序。 您无法在系统上安装 Flatpak 存储库,但您可以使用该存储库下载和更新软件包。

AppImageHUB 是 AppImage 包管理器的当前数据库和存储。 他们的商店中有 1100 多个应用程序。 但是,AppImage 存储库需要更多改进以使其具有通用性和庞大性。

2. Snap vs Flatpak vs AppImage:包更新

包更新是获取系统上最新包的最常用方法。 正如我们一直在比较 Snap、Flatpak 和 AppImage 一样,我必须提一下,在这三个包管理器中,AppImage 包管理器并没有为已安装的包提供定期更新。

AppImage 也没有自动更新功能,而 Snap 和 Flatpak 会定期提供软件更新。 毫无疑问,Snap 提供更定期和更频繁的软件包更新。 如果您正在寻找获胜者,Snap 将成为本节的获胜者。

3. Snap vs Flatpak vs AppImage:包安装

在这里,如果我们看一下通过 Snap、Flatpak 和 AppImage 在 Linux 系统上安装软件包的过程,我们可以看到它们都有不同的安装应用程序的过程。 现在,我们将看到通过 Snap、Flatpak 和 AppImage 安装软件包实际上需要付出多少努力。

您可以在下图中看到,要通过 Flatpak 包管理器安装应用程序,它只需要一个命令行。 您需要授予 root 权限才能初始化该进程。 但是,您也可以通过 Flatpak 商店下载 .flatpakref 包来安装它。

flatpak 商店的大胆

在这里,您可以看到 Snap 还允许通过在终端 shell 上运行单个命令行来安装软件包。 您还可以通过 Snap 应用程序商店安装应用程序。

快照商店的大胆

在这一步结束时,我们现在将看到在 Linux 系统上运行 AppImage 应用程序需要付出多少努力。 要在您的系统上运行 AppImage 包,您需要下载 .AppImage 打包文件来自 AppImage 商店.

下载完成后,您需要转到包文件的权限部分并勾选 Allow executing file as program. 你去吧; 您现在只需双击文件即可运行。

appimage 权限 snap flatpak

在经历了通过 Snap、Flatpak 和 AppImage 安装包的过程之后,我们可以说 AppImage 提供了在 Linux 上安装应用程序的最快和无忧的方法。

4. Snap vs Flatpak vs AppImage:加载时间

应用程序加载时间在 Snap 与 Flatpak 与 AppImage 的战斗中发挥着重要作用。 我们使用所有三个包管理器在我们的 Linux 系统上安装了一个特定的包。 发现AppImage有点卡顿,第一次加载应用耗时最长。 后来打开速度是平均的。

在 Snap 上,应用程序的第一次加载时间稍慢,但比 AppImage 快。 最后,在 Flatpak 上,我们发现首次打开应用程序的延迟为零。 毫无疑问,Flatpak 是加载时间测试的赢家。

最后,见解

每个 Linux 发行版都有自己的包管理器工具或基于命令行的存储库系统,用于更新、安装、删除和管理系统上的包。 尽管有本机包管理器,但有时您可能需要在 Linux 系统上使用第三方包管理器来获取最新版本的包,以避免存储库错误和服务器错误。 在整篇文章中,我们看到了 Snap、AppImage 和 Flatpak 之间的比较。

Snap、Flatpak 和 AppImage; 都有其优点和缺点。 在我看来,我首先会更喜欢 Flatpak 包管理器。 如果我在 Flatpak 上找不到任何包,那么我会去找 AppImage。 最后,Snap 是一个优秀的应用商店,但它仍然需要一些开发。 我会去 Snap 商店购买专有或半专有应用程序,而不是主要应用程序。

如果您觉得这篇文章有用且内容丰富,请与您的朋友和 Linux 社区分享。 让我们知道您更喜欢在 Linux 系统上使用哪个包管理器。 您也可以在评论部分写下您对这篇文章的看法。