Rocky Linux
Rocky Linux 是由 CentOS 联合创始人 Gregory Kurtzer 在 CentOS 传统版终止后发起的 RHEL 兼容发行版,由非营利的 RESF(Rocky Enterprise Software Foundation)治理。它是目前最主流的 CentOS 替代品之一,当前主要版本为 Rocky Linux 9 与 10。
本页讲选型与判断:它和 RHEL 的关系、构建系统这几年的变化、怎么从别的系统迁过来、以及哪些说法已经过时。具体安装步骤见 安装与配置 之后的段落与各任务页。
Gregory Kurtzer 与 CentOS
Section titled “Gregory Kurtzer 与 CentOS”Gregory Kurtzer 是 CentOS 项目的联合创始人之一。2004 年他参与创建 CentOS,目标是给社区一个免费的 RHEL 兼容发行版;后来他离开 CentOS 项目,转向高性能计算领域。
Rocky Linux 的诞生
Section titled “Rocky Linux 的诞生”2020 年 12 月,Red Hat 宣布 CentOS Linux 8 提前结束支持。Kurtzer 在同一天的 CentOS 邮件列表里宣布要发起一个新项目,延续 CentOS 最初的使命。项目以已故的 CentOS 联合创始人 Rocky McGaugh 命名,即 Rocky Linux。
与早期 CentOS 不同的是,Rocky 从第一天就把「社区拥有、非营利治理」写进章程,避免再次出现「上游单方面改变发行版命运」的局面。
| 时间 | 事件 |
|---|---|
| 2020-12 | 项目宣布 |
| 2021-04 | Rocky Linux 8.3 RC 发布 |
| 2021-06 | Rocky Linux 8.4 正式发布(GA) |
| 2022-07 | Rocky Linux 9.0 正式发布(GA) |
| 2025-06 | Rocky Linux 10.0 正式发布(GA) |
各版本的 GA 与 EOL 以
distro-profiles.json与上游公告为准;本页只保留里程碑,不在这里维护完整生命周期表(见文末「版本与支持周期」)。
Rocky Enterprise Software Foundation (RESF)
Section titled “Rocky Enterprise Software Foundation (RESF)”Rocky Linux 由 Rocky Enterprise Software Foundation (RESF) 管理,这是一个以公益为目的的组织,持有 Rocky 的商标与基础设施,但不拥有代码的排他权利。
RESF 采用扁平化的团队制治理:
- Leadership Team:项目整体方向与决策
- Release Engineering:版本发布与构建
- Infrastructure:构建与分发基础设施
- SIG(Special Interest Groups):按领域推进的社区小组
- 社区驱动:决策与贡献对所有人开放
- 免费使用:不设订阅门槛,商业支持由第三方提供
- 稳定优先:跟随 RHEL 的 ABI/API,而不是追新特性
RHEL 兼容策略
Section titled “RHEL 兼容策略”Rocky Linux 的目标是在 ABI/API 层面与对应大版本的 RHEL 兼容:同一份为 RHEL 9 编译的二进制,应当能在 Rocky Linux 9 上按相同方式运行。
需要说清楚两点,否则容易过度承诺:
- 兼容是目标与工程约束,不是「逐包逐字节复制」。Rocky 重新构建源码包并做兼容性测试;个别包的行为差异、补丁顺序、构建选项仍可能存在,遇到具体问题以上游公告与 Rocky 的 bug tracker 为准。
- 兼容以「大版本」为单位:Rocky 9 对 RHEL 9、Rocky 10 对 RHEL 10。跨大版本不兼容是 RHEL 本身的规则,不是 Rocky 的缺陷。
Rocky 的源码包与构建元数据公开可查,符合 GPL 等许可证的要求:
- 源码与 SRPM:
git.rockylinux.org、dl.rockylinux.org - 构建记录与产物:随构建系统变化(见下一节)
Rocky 维护了一套兼容性检查,覆盖:
- 关键 RPM 的安装/升级/卸载路径
- 常用服务的默认配置与文件布局
- 与 RHEL 对应的 ABI 符号检查
它降低但不消除差异风险:自编译内核模块、闭源驱动、依赖精确版本号的商业软件,仍需按厂商的支持矩阵确认。
构建系统:从 Peridot 到 Koji
Section titled “构建系统:从 Peridot 到 Koji”这是本页最容易被旧文章误导的一段。Peridot 是 Rocky 早期的自建构建系统,Rocky Linux 10 起构建改为来自 Koji。
Peridot 是 Rocky 在 8/9 时代自研的云原生构建系统:
- 基于 Kubernetes 的分布式构建
- 多架构并行(x86_64、aarch64 等)
- 构建过程与产物公开,任何人可审计
这些特性在当时解决了「没有现成 Koji 基础设施」的问题,也让 Rocky 的构建过程比传统重编译项目更透明。但它是历史阶段的产品,不应再被描述为 Rocky 的现行构建系统。
为什么自建构建系统
Section titled “为什么自建构建系统”早期自建 Peridot 的动机是:
- 不依赖上游(Red Hat/CentOS)的构建基础设施
- 让社区能独立验证构建结果
- 按自己的节奏支持新架构
Rocky 10 起改用 Koji
Section titled “Rocky 10 起改用 Koji”Rocky Linux 10 的发布公告明确写明:构建改为来自 Koji,不再是 Peridot(公告原文 “Builds now come from Koji rather than Peridot”,见 Rocky Linux 10.0 GA)。
对读者意味着:
- 查构建记录、找源码包时,入口是 Koji 而不是 Peridot;
- 网上把 Peridot 当作「现行构建系统」的文章都是 10 之前的;
- 开源可审计这一点没有变,变的是工具链。
# 历史构建系统源码(仅供查证,不是现行入口)https://github.com/rocky-linux/peridotmigrate2rocky
Section titled “migrate2rocky”从其他 EL 系迁到 Rocky,官方提供的脚本在 rocky-tools 仓库:
# EL8 → Rocky 8curl -O https://raw.githubusercontent.com/rocky-linux/rocky-tools/main/migrate2rocky/migrate2rocky.shsudo bash migrate2rocky.sh -r
# EL9 → Rocky 9(脚本不同,不能混用)curl -O https://raw.githubusercontent.com/rocky-linux/rocky-tools/main/migrate2rocky/migrate2rocky9.shsudo bash migrate2rocky9.sh -r支持的迁移源(同大版本内):
- CentOS Linux 8 → Rocky 8;AlmaLinux 8、Oracle Linux 8、RHEL 8(需先取消注册)同理
- AlmaLinux 9、Oracle Linux 9、RHEL 9(需先取消注册)→ Rocky 9
需要强调:migrate2rocky 不是跨大版本升级工具。EL8 → EL9/EL10 属于大版本升级,Rocky 没有官方原地升级路线,走的是「新装 + 迁移业务」,详见 从 EL8 升到 EL9 与 从 EL9 升到 EL10。
迁移注意事项
Section titled “迁移注意事项”- 迁移前做完整备份并验证可恢复(脚本按现状替换仓库与包,出问题回退成本高)
- 检查第三方仓库是否有 Rocky 对应版本
- 用了 CentOS SIG 仓库的,先确认 Rocky 是否提供同名仓库
- 迁移后跑
dnf distro-sync让包版本对齐目标仓库 - 有商业支持合同的,迁移前确认厂商是否支持 Rocky
获取 Rocky Linux
Section titled “获取 Rocky Linux”常见镜像类型:
- DVD / Boot:完整安装与网络安装引导
- Minimal:最小化安装
- Cloud Images:GenericCloud、EC2、Azure、GCP 等
- Container Images:容器基础镜像
- Live Images:桌面体验
安装后基本配置
Section titled “安装后基本配置”# 确认发行版与版本cat /etc/rocky-release
# 更新系统sudo dnf update -y
# 启用 CRB(CodeReady Builder,很多开发包在里)sudo dnf config-manager --set-enabled crb
# 常用工具sudo dnf install -y vim wget curl tar bash-completionEPEL 的启用方式与注意事项见 EPEL;换源与镜像见 仓库配置。
| 仓库 | 说明 | 默认启用 |
|---|---|---|
| baseos | 核心系统包 | 是 |
| appstream | 应用程序和运行时 | 是 |
| crb | 开发者工具和库 | 否 |
| extras | 额外工具 | 是 |
| highavailability | 高可用组件 | 否 |
| nfv | 网络功能虚拟化 | 否 |
| plus | Rocky 特有增强包 | 否 |
| rt | 实时内核 | 否 |
plus 是 Rocky 特有的增强仓库(默认关闭),装额外的驱动与工具时再启用。
Rocky 10 起 AppStream 的模块化已弃用(不再分发 modular 内容),选版本的方式从「模块流」转为「装哪个版本就是哪个版本」,具体差异见 EL10 变化。
商业支持(CIQ)
Section titled “商业支持(CIQ)”RESF 本身不卖支持。商业支持由 CIQ(Kurtzer 创立的公司)等厂商提供,也有多家第三方服务商。选型时把「发行版免费」和「支持合同收费」分开看:没有合同也能用,但生产环境出问题时的响应时限需要合同保障。
- 论坛与 Mattermost:
chat.rockylinux.org - Bug 与功能请求:
git.rockylinux.org/ GitHub 上的 rocky-linux 组织 - 文档:
docs.rockylinux.org
- 报告 bug、复现问题、补文档
- 加入 SIG(如 Core、Infrastructure、Documentation)
- 参与翻译与本地社区
Rocky 9 覆盖 x86_64、aarch64、ppc64le、s390x;Rocky 10 在此之上加入 RISC-V(riscv64)等新架构支持。具体到某个架构的镜像与包是否齐全,以 dl.rockylinux.org 的目录为准。
SIG(Special Interest Groups)
Section titled “SIG(Special Interest Groups)”SIG 是按领域划分的社区小组,负责主线之外的内容(如存储、虚拟化、HPC、云镜像)。加入 SIG 是参与 Rocky 的主要方式之一。
- CentOS 迁移:同大版本内用 migrate2rocky;跨大版本走新装 + 迁移业务
- 生产服务器:Web、数据库、应用服务器
- 企业 IT:需要免订阅的 RHEL 兼容系统
- 科研与教育:集群与计算基础设施
- 容器宿主机:Podman / Kubernetes 节点
Rocky Linux 的价值在于三点:与 RHEL 的大版本 ABI/API 兼容、非营利治理、以及公开可审计的构建体系——构建系统本身已经历从 Peridot 到 Koji 的更替,判断一个说法是否过时,就看它把哪个当成「现在」。
版本与支持周期
Section titled “版本与支持周期”| Rocky Linux 版本 | 基于 RHEL | 发布时间 | 维护支持截止 | 内核 |
|---|---|---|---|---|
| Rocky Linux 8 | RHEL 8.x | 2021-06 | 2029-05 | 4.18 |
| Rocky Linux 9 | RHEL 9.x | 2022-07 | 2032-05 | 5.14 |
| Rocky Linux 10 | RHEL 10.x | 2025-06 | 2035-05 | 6.12 |
以上与 src/data/distro-profiles.json 一致;生命周期以 Rocky 官方公告为准,状态徽标在每次构建时按当前日期判定。Rocky Linux 10 带来内核 6.12、GCC 14、默认 Python 3.12、Podman 5,包管理器仍是 DNF 4.20(不是 DNF 5),详见 EL10 工具链 与 EL10 变化。
- EL 11 前瞻 — Rocky Linux 11 发布时间预测与 RHEL 11 规划动态
- Rocky Linux vs AlmaLinux — 两个主流替代品的取舍
- 从 CentOS 7 迁出 — ELevate 到底支持哪些目标