科技媒体 ZDNET 资深撰稿人 Steven Vaughan-Nichols 近日发表文章"How AlmaLinux stays Red Hat Enterprise Linux compatible without Red Hat code",介绍了 AlmaLinux 发行版如何在没有任何红帽代码的情况下,仍保持兼容 RHEL。
今年 6 月份,红帽执行新政策限制了 RHEL 的代码访问,此举导致基于 RHEL 的衍生发行版(比如 AlmaLinux,Rocky Linux,Oracle Linux 等)难以提供与 RHEL 100% 兼容的构建。
针对此政策,甲骨文、SUSE 和 CIQ(Rocky Linux 背后的商业实体)合作建立了 OpenELA (Open Enterprise Linux Association) —— 旨在创建兼容 RHEL 的 Linux 代码库,并通过提供开放和免费的 Enterprise Linux (EL) 源代码,鼓励开发与 RHEL 兼容的发行版。
AlmaLiniux 没有加入 OpenELA,而是选择了另一条路。AlmaLinux OS 基金会主席 benny Vasquez 原话:“放弃与 RHEL 1:1 的目标,AlmaLinux 致力于兼容其应用程序二进制接口 (ABI)”。主要代码从 CentOS Stream 获取,其他代码则是从 Red Hat 通用基础镜像和上游 Linux 代码中获取。
但最难的部分其实是 RHEL 的 Linux 内核更新。Vasquez 说道:“如果不违反红帽的许可协议,就无法获得这些内核更新。因此他们的做法就是从其他各种来源获取安全补丁,以及在 Oracle 发布补丁时再去溯源找到上游。”
Vasquez 表示这样的流程带来了好处:“AlmaLinux 不再受 RHEL 的约束,而且能够比它更快地发布上游安全修复程序。”比如,AlmaLinux 比 RHEL 提前一周修复了 AMD 微码漏洞。
由于这篇文章一直在强调 AlamLinux 没有使用“红帽代码”,有人对此提出了质疑,认为 AlamLinux 从 CentOS Stream 获取的代码事实上就是“红帽代码”。CentOS Stream 也早已与 RHLE 兼容 ABI。