红帽在博客介绍了针对桌面容器引入新的 Red Hat Flatpak runtime 。它认为,长期以来想要为 Linux 创建桌面应用程序的开发者不仅要为特定的 Linux 操作系统考虑,而且要为该操作系统的特定版本构建应用程序。
无论是在服务器端还是桌面,开发者都希望创建在开发和生产环境中可靠运行的应用程序。他们希望在升级生产环境时,不必重新构建和重新验证每个正在运行的应用程序。
容器解决了服务器端应用的这些需求,但对于桌面来说却不是。这就为什么红帽需要 Flatpak 的原因 —— 一个只面向桌面应用的容器系统。
随着最近 Red Hat Enterprise Linux (RHEL) 8.2 的发布,Flatpak 沙盒和应用分发技术已准备就绪,此外还引入了新的 Red Hat Enterprise Linux Flatpak runtime。
与服务器端容器一样,Flatpak 将应用程序与操作系统隔离。每个应用程序使用自己的库,而不使用操作系统的库。不过禁止每个桌面应用程序单独拥有所有库的副本,因此,多个应用程序可以共享 Flatpak runtime。runtime 是一个包含系统层级的库和其他文件的文件系统镜像。如下图所示,一个系统可以包含多个 runtime,每个 runtime 能被多个应用程序使用。
RHEL 8.2 包括 Flatpak runtime 和 SDK 镜像。集成 Flatpak runtime 允许应用程序开发者在 RHEL 之上构建容器化的桌面应用程序。新的 RHEL Flatpak Runtime 遵循传统的 RHEL 生命周期,与 FreeDesktop.org Flatpak Runtime 相比,预期的持续时间更长。红帽打算为他们新的 Flatpak runtime 提供 10 年的安全更新,与 RHEL 8 保持一致的生命周期。
新的 RHEL Flatpak Runtime 将会以类似于 Red Hat Universal Base Images (UBI) 的条款进行分发。