Flatpaks 和 Snap 非常适合 Linux 的 6 个原因
自推出以来,Flatpak 和 Snap 席卷了整个 Linux 桌面世界。它们真的比传统的 Linux 软件包更好吗?
长期以来,在 Linux 上获取软件既简单又复杂。许多程序只需单击鼠标或终端命令即可完成。但是,如果适用于您选择的 Linux 版本的应用程序已经过时,那么获取最新更新通常可能会很痛苦。
随着 Flatpak 和 Snap 的出现,这种情况发生了变化。在拥挤的环境中引入更多的包格式听起来很复杂,但它们使 Linux 桌面上的日常生活变得更容易管理。让我们看看为什么。
1.您立即获得新的应用程序和更新
分发程序的传统方式涉及在巨大的软件存储库中向用户提供尽可能多的应用程序和工具。该存储库通常是静态的。当您的发行版的新版本发布时,您将获得当时可用的最新版本的应用程序。
早些时候,当新的应用程序或应用程序更新出现时,您要么等待六个月左右才能与最新版本的操作系统一起获得更新,要么从源代码中自己构建程序,要么冒着破坏的风险添加第三方软件存储库您的系统,或者用更容易损坏的滚动发布版本替换您的发行版。
使用 Flatpak 格式和 Snap 格式,您可以在新应用程序和更新可用时立即下载它们,就像在非 Linux 桌面上一样。就这么简单。
2. 开发人员可以轻松地在 Linux 上获取他们的应用程序
上述传统模型意味着许多 Linux 发行版都有自己的软件存储库,并且使用许多不同的应用程序格式。为 Linux 开发软件并创建程序仅仅是开始。
然后,您必须决定支持哪些打包格式、将程序放入哪些软件存储库以及如何浏览复杂的过程。或者您只是提供了源代码,并希望其他人来为您分发您的软件。
现在您仍然必须在 Flatpak 和 Snap 之间进行选择,但与传统存储库模型相比,Flathub 和 Snap Store 都提供了上传和共享应用程序的明确说明。 AppCenter 也是如此,这是一个以 Flatpak 为中心的替代应用商店。对于长期使用传统 Linux 的老手来说,这种区别似乎微不足道,但对于刚接触 Linux 的开发人员来说,区别却是天壤之别。
3. 开发人员从一个地方运送到所有发行版
不仅可以更轻松地将应用程序放入新的应用程序商店之一,而且可以更轻松地向大多数 Linux 用户提供应用程序。
Flatpak 和 Snap 附带两个独立的应用程序商店,诚然,这听起来不像是问题的解决方案。但每个应用程序商店都适用于绝大多数 Linux 桌面。只要开发人员选择以 Flatpak 或 Snap 的形式提供他们的应用程序,他们就可以有效地从一个地方将他们的软件提供给所有桌面 Linux。
这意味着开发人员不必提供仅对 Ubuntu 提供官方支持的 DEB 或对 Fedora 的 RPM,而是可以提供在大多数 Linux 版本上运行基本相同的 Flatpak 或 Snap。
4. 通过沙箱提高安全性
现有的 Linux 格式(例如 DEB 和 RPM)通常在安装时具有对系统的完全访问权限,并保持对用户目录中任何文件的访问权限。这意味着您必须真正信任您安装的应用程序及其更新,因为应用程序很容易危及您的系统和数据。
Flatpaks 和 Snaps 试图通过将应用程序与系统文件和个人数据隔离来解决这个问题。理想情况下,应用程序只能访问计算机中它们需要运行的部分,例如特定文件夹或网络摄像头。
这两种格式都正在进行中。默认情况下,某些 Flatpaks 可以访问您的整个主文件夹。大多数应用程序不会请求权限,而是会授予一组默认的权限,因此除非您了解 Flatseal 等工具,否则您实际上并不知道 Flatpak 可以访问系统的哪些部分。 Snap 软件包最初在 Ubuntu 上附带沙箱,但在许多其他发行版上缺乏沙箱。
但解决这些问题的工作正在进行中。
5. 升级发行版时保留您的应用程序
有些应用程序适用于发行版的一种版本,但不适用于较新的发行版。这种情况并非 Linux 所独有。某些应用程序缺乏对最新版本 macOS 或 Android 的支持,如果开发人员从未抽出时间提供更新,那么您就会运气不佳。
有了 Flatpak 和 Snap,在大多数情况下,您使用的发行版版本不再重要。如果某个应用程序可以在您当前版本的发行版上运行,则在您升级发行版后它将继续运行。
例如,这是 Primary OS 从 DEB 切换到 Flatpak 的一个重要原因。现在,通过 AppCenter 发布应用程序的开发人员不再需要更新其软件即可使用最新版本的elementary OS。应用程序将继续工作。
6. 在旧的或 LTS 发行版上使用最新的应用程序
或者,即使您使用的发行版的系统库对于较新的软件来说通常过于过时,您也可以下载最新版本的应用程序。
长期以来,这一直是使用每两年发布一次的 Ubuntu LTS 版本而不是每六个月发布一次的临时版本的缺点。这也是使用 Debian 的缺点,有时版本之间可能会间隔三年,给您留下开发人员很久以前就留下的应用程序版本。
借助 Flatpak 和 Snap,如果您更喜欢缓慢发展的发行版的稳定性和一致性,那么这种选择不必以牺牲更新的应用程序为代价。
Flatpak 和 Snap 会取代 DEB 和 RPM 吗?
如今,Flatpak 和 Snap 在 Linux 桌面上受到了很多关注和兴奋,但它们无法完全取代 DEB 和 RPM 等格式。
从短期来看,一些应用程序具有以传统格式运行但尚无法在沙盒格式下运行的功能。从长远来看,Flatpak 格式不适用于系统组件,因此不可能完全用 Flatpak 构建发行版。但很容易想象未来,虽然您的系统上可能存在 DEB,但您可能不再有理由手动安装 DEB。