什么是 Rocky Linux?深入剖析一个企业级 Linux 的新星
在快速变化的开源软件世界中,稳定、可靠且免费的企业级 Linux 发行版一直是许多组织、开发者和系统管理员的核心需求。长期以来,CentOS 凭借其与 Red Hat Enterprise Linux (RHEL) 的高度兼容性及免费特性,在服务器领域占据了举足轻重的位置。然而,随着 CentOS 项目在 2020 年底宣布转型,一个巨大的空白随之出现。正是在这样的背景下,Rocky Linux 应运而生,迅速成为填补这一空白的关键力量。
那么,Rocky Linux 究竟是什么?它从何而来?它的核心价值是什么?它又是如何运作的?本文将带您深入了解这个开源世界的新星。
1. 溯源:CentOS 的变迁与 Rocky Linux 的诞生
要理解 Rocky Linux,就必须先了解 CentOS 的历史及其命运转折。
1.1 CentOS 的辉煌与基石
CentOS,全称 Community ENTerprise Operating System,是一个基于 Red Hat Enterprise Linux (RHEL) 源代码进行编译和发布的免费、开源的 Linux 发行版。它的核心理念是将 RHEL 的稳定性、可靠性和企业级特性带给那些不需要 Red Hat 官方订阅支持的用户。由于 CentOS 与对应版本的 RHEL 在二进制层面几乎完全兼容(移除了 Red Hat 的商标和一些专有组件),用户可以运行为 RHEL 开发的绝大多数应用程序和驱动程序。
从 2004 年发布第一个版本以来,CentOS 凭借其稳定性、免费性以及庞大的用户和社区支持,迅速崛起,成为许多企业、数据中心、虚拟化平台和云服务商的首选操作系统,尤其在 Web 服务器和通用应用服务器领域占据了巨大的市场份额。它提供了一个可靠的、具有长生命周期的平台,使得系统管理员可以专注于服务而不是频繁的系统升级。
1.2 命运的转折:CentOS Stream 的出现
2019 年 9 月,Red Hat 宣布推出 CentOS Stream。最初,CentOS Stream 被描述为 RHEL 的“滚动预览版”(Rolling Preview),位于 Fedora(上游、实验性项目)和 RHEL(下游、稳定企业版)之间。它旨在成为一个持续交付的平台,允许社区和合作伙伴在 RHEL 的下一个小版本发布之前就能看到并贡献代码。
然而,真正的冲击发生在 2020 年 12 月 8 日。Red Hat 宣布,将停止对 CentOS Linux 8 的维护,并将其生命周期大幅缩短至 2021 年底(原计划是 2029 年)。同时,未来的开发重点将完全转移到 CentOS Stream。这意味着,CentOS Linux 这个以稳定、长期支持为特征的 RHEL 克隆版,将不再有新的主要版本,现有的版本也将提前结束支持。
这一决定在 CentOS 社区和用户中引发了巨大的震动和不满。对于那些在生产环境中大量依赖 CentOS Linux 稳定性和长生命周期的用户来说,这是一个难以接受的改变。他们面临着一个迫切的问题:如何找到一个能够替代 CentOS Linux,提供相似的稳定性、兼容性和长期支持,并且依然免费的解决方案?
1.3 Rocky Linux 的诞生:填补空白的使命
正是在 CentOS Linux 社区陷入困境之际,CentOS 项目的联合创始人 Gregory Kurtzer(也是 CentOS Linux 的第一个版本发布者)站了出来。在 CentOS 停摆的消息公布后不久,Gregory Kurtzer 就在社区中发起了创建 CentOS 精神继承者的倡议。这个新项目被命名为 Rocky Linux,以纪念已故的 CentOS 项目早期联合创始人 Rocky McGaugh。
Rocky Linux 的核心使命非常明确:创建一个社区所有、社区管理的企业级操作系统,它必须是 100% 与 Red Hat Enterprise Linux (RHEL) 二进制兼容的,并且提供长期的稳定支持。它旨在成为 CentOS Linux 传统路线的直接继承者,为那些需要 RHEL 级别稳定性而又无需付费订阅的用户提供一个可靠的替代方案。
项目的启动得到了广泛的社区支持,吸引了大量前 CentOS 贡献者和用户。在短短几个月内,项目组织、基础设施建设和初始开发工作迅速推进。2021 年 6 月,Rocky Linux 8.4 的第一个稳定版本正式发布,标志着这个新生的企业级 Linux 发行版正式投入使用。
2. Rocky Linux 的核心理念与特点
Rocky Linux 不仅仅是 CentOS 的一个简单替代品,它承载着对开源精神和企业级稳定性的承诺。其核心理念和特点可以概括为以下几点:
2.1 与 RHEL 的 100% 二进制兼容性
这是 Rocky Linux 最核心、也是最重要的特性。它从 RHEL 的开源源代码(SRPMs – Source RPMs)构建而来,旨在移除所有 Red Hat 的商标和专利内容后,重新编译生成与 RHEL 完全兼容的二进制包。这意味着:
* 为 RHEL 开发的应用程序和驱动程序可以直接在 Rocky Linux 上运行,无需修改或重新编译。
* 从 RHEL 或旧版 CentOS Linux 迁移到 Rocky Linux 通常是一个相对平滑的过程,因为底层的系统库、命令和行为高度一致。
* 系统管理员熟悉的 RHEL 管理工具和方法(如 YUM/DNF 包管理器、Systemd 初始化系统等)在 Rocky Linux 上完全适用。
这种兼容性是 Rocky Linux 能够无缝替代 CentOS Linux 的关键。
2.2 企业级稳定性与可靠性
Rocky Linux 继承了 RHEL 在稳定性方面的良好声誉。它采用经过严格测试和验证的软件包版本,并专注于提供一个可靠的基础平台。与滚动发布的发行版(如 Fedora 或 CentOS Stream)不同,Rocky Linux 的每个主要版本都有固定的软件包集合,只接受安全更新、错误修复和关键增强,极大地减少了意外的系统行为变化。这使得它非常适合需要长期稳定运行的关键业务应用和基础设施。
2.3 长期支持 (LTS)
与 RHEL 一样,Rocky Linux 也提供长生命周期支持。每个主要版本通常会获得长达 10 年甚至更长的支持,包括安全补丁和关键错误修复。例如,Rocky Linux 8 系列将支持到 2029 年,而 Rocky Linux 9 系列将支持到 2032 年。这种长期的支持周期对于企业用户至关重要,因为它降低了频繁进行大规模系统升级的成本和风险,使得他们可以安心地在一个稳定的平台上运行多年的业务。
2.4 完全免费与开源
Rocky Linux 是一个完全免费且开源的发行版。用户可以自由地下载、安装、使用、修改和分发它,无需支付任何许可费用或订阅费用。这使得它成为预算有限的组织或追求软件自由的个人的理想选择。项目的开发和维护过程是公开透明的,代码库可以在公共仓库中访问。
2.5 社区驱动与社区所有
Rocky Linux 是一个由社区驱动和所有的项目,由 Rocky Enterprise Software Foundation (RESF) 这个非营利组织负责管理和监督。这意味着项目的方向、优先级和治理决策由社区成员共同决定,而不是由某个商业公司主导。社区在项目的各个方面都发挥着关键作用,包括:
* 开发与维护: 贡献代码、测试构建、报告错误。
* 文档与本地化: 编写和翻译文档,帮助用户理解和使用系统。
* 支持: 在论坛、邮件列表、IRC/Matrix 频道等平台为其他用户提供帮助。
* 基础设施: 维护构建系统、镜像服务器等核心基础设施。
社区驱动的模式确保了项目的可持续性和对用户需求的响应性,避免了因商业决策而导致项目方向突然改变的风险。
2.6 安全性
Rocky Linux 继承了 RHEL 在安全性方面的优势。它包含了许多安全特性,如 SELinux (Security-Enhanced Linux) 的强制访问控制框架,以及定期的安全更新和补丁。由于其稳定的基础和长期的安全支持,Rocky Linux 是构建安全基础设施的良好选择。
2.7 多架构支持
除了主流的 x86_64 架构外,Rocky Linux 还积极支持其他架构,如 aarch64 (ARM64)、ppc64le (PowerPC Little Endian) 和 s390x (IBM Z mainframe)。这使得它能够在更广泛的硬件平台上部署,满足不同用户的需求,包括在高性能计算 (HPC)、大型企业主机等领域的使用。
3. Rocky Linux 的运作方式:如何成为 RHEL 的兼容者?
Rocky Linux 实现与 RHEL 二进制兼容并非易事,它依赖于一个精心设计和自动化程度较高的构建过程。
3.1 跟踪 RHEL 源代码
Red Hat 遵守开源许可协议(如 GPL),公开了其产品的源代码。这些源代码通常以 Source RPM (SRPM) 包的形式发布,包含了构建二进制 RPM 包所需的所有文件(源代码、补丁、构建脚本等)。Rocky Linux 项目会持续监控 Red Hat 发布的 SRPMs。
3.2 获取与处理 SRPMs
一旦 Red Hat 发布了新的 SRPMs(无论是针对新版本、错误修复还是安全更新),Rocky Linux 的基础设施会自动化地获取这些 SRPMs。
3.3 移除 Red Hat 品牌和专有内容
这是构建过程中至关重要的一步。虽然代码是开源的,但 RHEL 中包含 Red Hat 的商标、图标、专利文本以及一些 Red Hat 独有的配置文件或脚本。根据商标法和许可协议的要求,Rocky Linux 需要移除或替换所有这些 Red Hat 的专有内容。这通常通过应用补丁、修改构建脚本或替换文件来实现。这个过程必须非常精确,以确保在移除品牌信息的同时,不会破坏系统的功能或兼容性。
3.4 重建二进制 RPMs
处理后的 SRPMs 会被输入到 Rocky Linux 的构建系统中。这个系统负责在干净、一致的环境中编译源代码并打包生成新的二进制 RPM 文件。这个过程使用的是与 Red Hat 相似的构建工具链,以确保最终生成的二进制文件与 RHEL 的高度一致性。
3.5 质量保证与测试
构建完成后,生成的二进制包会经过严格的质量保证 (QA) 和测试流程。这包括自动化测试、兼容性测试以及社区成员的手动测试。目标是确保新构建的软件包能够正确安装和运行,没有引入新的错误,并且与 RHEL 对应版本保持二进制兼容。测试覆盖了系统的各个层面,从核心库到应用程序,再到安装器和升级过程。
3.6 发布与分发
通过所有测试的软件包会被签名并发布到 Rocky Linux 的官方软件仓库中。用户可以通过 YUM 或 DNF 包管理器从这些仓库下载和安装软件。Rocky Linux 还提供安装 ISO 镜像、云镜像(用于各种云平台如 AWS, Azure, GCP 等)、容器镜像等多种分发形式,方便用户在不同环境中使用。
整个构建和发布过程高度自动化,依赖于项目自行开发的工具和基础设施(例如,Peridot 是 Rocky Linux 用于构建和发布 RHEL 克隆版的自动化系统)。这种自动化确保了项目能够快速响应 Red Hat 的更新,并在移除品牌信息的同时保持高水平的兼容性和质量。
4. 谁在使用 Rocky Linux?主要用户与用例
Rocky Linux 的目标用户群体非常广泛,任何需要一个稳定、可靠、免费且与 RHEL 兼容的 Linux 发行版的用户都可以考虑使用它。主要的用户和用例包括:
- 企业和组织: 尤其是那些之前依赖 CentOS Linux 运行关键业务应用、服务器基础设施、数据库系统、Web 服务器等,但又不想或不需要购买 Red Hat 官方订阅支持的公司。Rocky Linux 提供了一个平滑的迁移路径和类似的长期支持。
- 数据中心和云环境: 提供商和企业可以在自己的数据中心或私有云中使用 Rocky Linux 作为服务器操作系统,享受其稳定性而无需支付许可费用。主要的公共云平台(如 AWS、Azure、GCP、Oracle Cloud 等)也都提供了 Rocky Linux 的官方镜像。
- 高性能计算 (HPC) 和科学计算: HPC 集群通常需要一个稳定且可重复的环境。Rocky Linux 在多个架构上的支持以及其与 RHEL 的兼容性使其成为 HPC 环境的流行选择,许多科学计算软件库和框架都针对 RHEL/CentOS 进行优化。
- Web Hosting 提供商: 为客户提供稳定的服务器环境,运行 Web 服务器(如 Apache, Nginx)、数据库(如 MySQL, PostgreSQL)和应用程序栈。
- 开发者和测试者: 需要一个与企业生产环境(可能是 RHEL)高度相似的开发或测试平台。
- 教育和研究机构: 需要免费且稳定的 Linux 系统用于教学、研究项目和构建实验室环境。
- 个人用户和爱好者: 需要一个强大的、稳定的工作站或服务器系统,偏好 RHEL 生态系统的用户。
总而言之,任何看重系统稳定性、长期支持、与 RHEL 兼容性以及开源免费特性的场景,Rocky Linux 都是一个有力的竞争者。
5. Rocky Linux 与其他相关发行版的比较
在当前的 Linux 生态系统中,特别是围绕 RHEL 及其派生版,存在一些与其他 Rocky Linux 有关或相似的发行版。理解它们之间的区别有助于更好地定位 Rocky Linux。
5.1 Rocky Linux vs. AlmaLinux
AlmaLinux 是另一个在 CentOS Linux 8 EOL 后迅速出现的社区驱动的 RHEL 克隆版。它由 CloudLinux(一家提供基于 RHEL 的商业操作系统的公司)发起,但现在也由一个独立的非营利组织 AlmaLinux OS Foundation 管理。
- 相似之处: 两者都旨在成为 CentOS Linux 的精神继承者,都提供与 RHEL 的 100% 二进制兼容性,都是免费和开源的,都由非营利组织管理,并提供长期支持。它们的功能和使用体验非常相似。
- 主要区别: 治理结构和最初的启动方式略有不同(Rocky Linux 由 CentOS 联合创始人发起并完全从社区开始,AlmaLinux 最初有 CloudLinux 的支持)。在实践中,两者之间的技术差异微乎其微,用户选择哪个可能更多取决于个人偏好、社区感觉或特定第三方软件的兼容性报告(尽管通常两者兼容性一致)。它们被认为是 CentOS 后时代的两大主要 RHEL 克隆版。
5.2 Rocky Linux vs. CentOS Stream
CentOS Stream 是 RHEL 的上游开发分支。
- 区别: CentOS Stream 不是一个 RHEL 的克隆版,而是 RHEL 未来版本的 预览 或 滚动 版本。它包含的功能和更新会比当前的稳定版 RHEL 和 Rocky Linux/AlmaLinux 更新,但相对而言不如 RHEL 和其克隆版稳定。它的主要用途是供开发者、社区和合作伙伴提前测试和贡献 RHEL 的下一个版本。Rocky Linux 是基于 RHEL 源代码 下游 构建的稳定版本,旨在匹配 RHEL 的稳定性。简单来说,CentOS Stream 是 RHEL 的“测试版”或“开发版”,而 Rocky Linux 是 RHEL 的“免费稳定克隆版”。
5.3 Rocky Linux vs. Red Hat Enterprise Linux (RHEL)
RHEL 是商业版本的企业级 Linux,由 Red Hat 公司提供。
- 区别: Rocky Linux 基于 RHEL 的开源源代码构建,因此在功能和兼容性上与 RHEL 高度相似。然而,最根本的区别在于 支持和服务。RHEL 是一个商业产品,用户需要购买订阅才能获得 Red Hat 官方的技术支持、知识库访问、认证软件以及更高级的管理工具(如 Satellite)。Rocky Linux 是免费的,不包含 Red Hat 的官方支持,其支持主要来自社区。对于不需要官方商业支持但需要 RHEL 级别稳定性的用户来说,Rocky Linux 是一个经济高效的选择。对于需要 Red Hat 提供的 SLA(服务水平协议)、专业技术支持和认证软硬件生态系统的企业来说,RHEL 可能是必需的。
5.4 Rocky Linux vs. Fedora
Fedora 是 Red Hat 赞助的社区发行版,是 RHEL 的更上游(前沿)项目。
- 区别: Fedora 是一个快速迭代的发行版,发布周期短(大约每六个月发布一个新版本),包含最新的软件和技术,但每个版本的支持周期较短。它是一个创新和实验的平台,许多在 Fedora 中成熟的技术最终会被整合到 RHEL 中。Rocky Linux 基于 RHEL,追求的是稳定性和长生命周期,软件版本相对滞后但经过充分测试。Fedora 适合喜欢尝鲜最新技术的开发者或个人用户,而 Rocky Linux 适合需要稳定生产环境的用户。
6. Rocky Linux 的社区与生态系统
Rocky Linux 的成功在很大程度上依赖于其活跃且不断壮大的社区。RESF (Rocky Enterprise Software Foundation) 为社区提供了一个开放和透明的治理框架。社区成员通过各种方式贡献:
- 贡献代码和补丁: 修复错误、改进功能、移植软件。
- 质量保证和测试: 测试新的构建、报告问题。
- 文档编写和维护: 使得用户能够更容易地学习和使用 Rocky Linux。
- 基础设施维护: 志愿维护构建服务器、镜像网络、网站等。
- 提供支持: 在社区论坛、邮件列表、聊天频道(IRC/Matrix)中互相帮助。
- 本地化: 将操作系统和文档翻译成不同的语言。
一个强大的社区不仅提供了免费的支持,也确保了项目的透明度、响应性和持续发展。许多企业和组织也为 Rocky Linux 项目提供了赞助和资源支持,例如硬件、带宽、开发人员时间等。
7. Rocky Linux 的未来展望
Rocky Linux 的未来看起来充满希望。作为 CentOS Linux 事实上的继承者之一,它已经建立了强大的用户基础和活跃的社区。未来的发展将主要集中在:
- 持续跟踪 RHEL 更新: 及时发布与最新 RHEL 小版本对应的 Rocky Linux 版本,确保兼容性和获取最新的错误修复和安全补丁。
- 迎接 RHEL 主要版本: 随着未来 RHEL 主要版本的发布,Rocky Linux 也将基于新的 RHEL 源代码构建新的主要版本系列(例如,在 RHEL 9 发布后,Rocky Linux 9 也迅速跟进)。
- 增强基础设施和自动化: 进一步优化构建、测试和发布流程,提高效率和可靠性。
- 扩展社区和合作: 吸引更多的贡献者和用户,与更多的企业和组织建立合作关系。
- 探索新的领域: 例如,提供更专业的构建版本(如用于 HPC 或边缘计算)、增强对云原生技术(容器、Kubernetes)的支持等。
只要 Red Hat 继续以开源方式发布 RHEL 的源代码,Rocky Linux 就有存在和发展的空间。它已经证明了自己是一个可靠、稳定且充满活力的企业级 Linux 发行版,有望在未来许多年内继续服务于广大的用户群体。
8. 如何获取和开始使用 Rocky Linux?
获取 Rocky Linux 非常简单。用户可以访问 Rocky Linux 的官方网站 (https://rockylinux.org/),下载适用于不同架构的安装 ISO 镜像。这些镜像可以用于全新安装或在虚拟机、物理服务器上部署。
对于已经在 CentOS Linux 8 或 RHEL 8 上运行的用户,Rocky Linux 也提供了迁移工具(如 migrate2rocky
脚本),可以帮助用户相对平滑地将现有系统转换为 Rocky Linux。
此外,主要的公共云平台也都提供了 Rocky Linux 的官方镜像,用户可以直接在云中启动 Rocky Linux 实例。容器镜像也可以从 Docker Hub 或其他容器仓库获取。
安装和配置过程与 RHEL 或 CentOS Linux 非常相似,熟悉这些系统的用户可以快速上手。
9. 总结
Rocky Linux 是 CentOS Linux 在其传统路线终结后,由社区力量迅速崛起并填补空白的关键项目。它以 100% 与 Red Hat Enterprise Linux (RHEL) 的二进制兼容性、企业级的稳定性、长期的支持周期、完全免费开源以及强大的社区驱动模式 为核心特征。
它通过自动化地从 RHEL 源代码重建系统,并在移除 Red Hat 品牌信息后进行严格测试,确保了与 RHEL 极高的兼容性和可靠性。这使得它成为许多组织和个人从旧版 CentOS 或考虑 RHEL 替代方案时的首选。
作为 Rocky Enterprise Software Foundation 旗下的一个社区项目,Rocky Linux 的治理和发展完全由社区掌控,这为其未来的可持续性提供了坚实基础。虽然面临 AlmaLinux 等其他替代者的竞争,但 Rocky Linux 凭借其与 CentOS 创始人的渊源、快速的响应能力以及强大的社区支持,已经在企业级 Linux 生态系统中占据了重要的地位。
对于那些需要一个稳定、可靠、长期支持且无需商业订阅费用的 Linux 系统来运行服务器、构建基础设施或进行开发的用户来说,Rocky Linux 提供了一个极具吸引力的选择,它不仅是 CentOS 精神的延续,更是开源社区在面对变化时自我组织、保障用户利益的成功典范。Rocky Linux 已经不仅仅是一个发行版,它代表了一种对开源原则的坚持,以及社区在维护核心需求方面的强大韧性。