AlmaLinux
AlmaLinux 是 CentOS 传统版终止后最快响应的 RHEL 兼容发行版之一。它由 CloudLinux 公司发起,现在由独立的 AlmaLinux OS Foundation 管理,是当前最受欢迎的免费 EL 发行版之一。
CentOS EOL 引发的连锁反应
Section titled “CentOS EOL 引发的连锁反应”2020 年 12 月,Red Hat 宣布 CentOS Linux 8 将于 2021 年底提前终止支持。这一决定影响了数百万依赖 CentOS 作为免费 RHEL 替代品的用户和企业。
CloudLinux 的快速响应
Section titled “CloudLinux 的快速响应”CloudLinux Inc. 是一家专注于共享主机优化 Linux 的公司,拥有超过 10 年的 RHEL 兼容发行版开发经验。在 CentOS EOL 宣布后的数天内,CloudLinux CEO Igor Seletskiy 宣布将投入 100 万美元/年创建一个 CentOS 替代品。
这个项目最初代号为 “Project Lenix”,后正式命名为 AlmaLinux(“Alma” 在拉丁语中意为”灵魂”)。
- 2021 年 3 月:AlmaLinux 8.3 正式发布,成为首批可用的 CentOS 替代品之一
- 从宣布项目到正式发布仅用了约 3 个月
AlmaLinux OS Foundation
Section titled “AlmaLinux OS Foundation”为确保项目的长期独立性,CloudLinux 在 2021 年将 AlmaLinux 的管理权移交给了独立的 AlmaLinux OS Foundation(注册于美国特拉华州的 501(c)(6) 非营利组织)。
- 董事会:由社区选举和赞助商代表组成
- 成员制:任何个人或组织均可申请成为基金会成员
- 透明运营:董事会会议记录公开,财务透明
- CloudLinux(创始赞助商)
- cPanel
- AWS
- Microsoft Azure
- 众多托管服务提供商
RHEL 兼容策略
Section titled “RHEL 兼容策略”AlmaLinux 的 RHEL 兼容策略经历了一次重要转变。
早期:1:1 二进制兼容(2021-2023)
Section titled “早期:1:1 二进制兼容(2021-2023)”最初,AlmaLinux 的目标是与 RHEL 实现 1:1 二进制兼容——尽量把每个软件包从对应的 SRPM 重新构建,缩小与 RHEL 的差异。这里要注意:即使在这个阶段,「逐包完全一致」也只是目标而不是逐包认证的承诺,实际差异仍以官方发布说明为准。
2023 年后:ABI 兼容
Section titled “2023 年后:ABI 兼容”2023 年 6 月,Red Hat 限制了 RHEL 源代码的直接访问。2023-07-13,AlmaLinux 官方公告调整兼容目标:从「1:1 重构」转为以 ABI / 二进制兼容 为目标(官方公告)。注意官方措辞是「调整目标」,不是「已放弃兼容」:
- 保证应用程序二进制接口(ABI)兼容
- 目标:在 RHEL 上编译的程序可以在 AlmaLinux 上正常运行
- 可能包含额外的 Bug 修复或安全补丁,不承诺逐包一致;反向(AlmaLinux 上编译的程序在 RHEL 上运行)不在保证范围内
- 从 CentOS Stream 和其他公开来源获取源代码
这一策略转变实际上给了 AlmaLinux 更大的灵活性,可以更快地推送安全修复。
| AlmaLinux 版本 | 基于 RHEL | 发布时间 | 支持截止 | 内核 |
|---|---|---|---|---|
| AlmaLinux 8 | RHEL 8.x | 2021-03 | 2029-05 | 4.18 |
| AlmaLinux 9 | RHEL 9.x | 2022-05 | 2032-05 | 5.14 |
| AlmaLinux 10 | RHEL 10.x | 2025-05 | 2035-05 | 6.12 |
与
src/data/distro-profiles.json一致;状态徽标在每次构建时按当前日期判定,生命周期以上游公告为准。
AlmaLinux 通常在 RHEL 小版本发布后数天内推出对应版本。
almalinux-deploy:就地迁移工具
Section titled “almalinux-deploy:就地迁移工具”almalinux-deploy 允许将现有系统就地迁移到 AlmaLinux,无需重装:
# 从 CentOS Linux 8 迁移到 AlmaLinux 8curl -O https://raw.githubusercontent.com/AlmaLinux/almalinux-deploy/master/almalinux-deploy.shsudo bash almalinux-deploy.sh支持的迁移源:
- CentOS Linux 8
- RHEL 8(需取消注册)
- Rocky Linux 8
- Oracle Linux 8
- CentOS Linux 7(迁移到 AlmaLinux 8 需配合 ELevate)
ELevate:跨大版本升级工具
Section titled “ELevate:跨大版本升级工具”ELevate 是 AlmaLinux 社区开发的重要项目,允许在不同 EL 大版本之间进行就地升级:
# 示例:从 EL 7 升级到 EL 8sudo yum install -y https://repo.almalinux.org/elevate/elevate-release-latest-el7.noarch.rpmsudo yum install -y leapp-upgrade leapp-data-almalinux
# 预检查sudo leapp preupgrade
# 执行升级sudo leapp upgradesudo rebootELevate 支持的是一步升级,并且源系统与目标都有限定(见 ELevate Quickstart):
| 源 | 目标 | 说明 |
|---|---|---|
| CentOS 7 | AlmaLinux 8 | 需先把 CentOS 7 源切到 vault 或 AlmaLinux 的 el7 镜像 |
| AlmaLinux 8 / CentOS Stream 8 | AlmaLinux 9、CentOS Stream 9 | 官方要求的 EL8 源只有这两种 |
| AlmaLinux 9 / CentOS Stream 9 | AlmaLinux 10、AlmaLinux Kitten 10、CentOS Stream 10 | x86_64-v2 架构升级到 AlmaLinux 10 / Kitten 10 目前只有 ELevate NG(测试用途) |
三个必须说清的边界:
- 不能升级到 Rocky Linux:官方提供的数据包是
leapp-data-almalinux、leapp-data-almalinux-kitten、leapp-data-centos,没有leapp-data-rocky;Rocky 大版本也没有官方原地升级路线。 - 跨两个大版本不能一步到位:CentOS 7 → AlmaLinux 10 要拆成两步(官方另有专门指南)。
- 第三方仓库支持有限:EPEL 只在升级到 AlmaLinux 时受支持;Docker CE、MariaDB、nginx、PostgreSQL 等有各自的支持范围,升级前要逐项确认。
获取 AlmaLinux
Section titled “获取 AlmaLinux”下载地址:almalinux.org/get-almalinux
提供的镜像类型:
- DVD ISO:完整安装镜像
- Minimal ISO:最小化安装
- Boot ISO:网络安装引导
- Cloud / Container:云镜像和容器镜像
- Live Media:GNOME 和 KDE 桌面体验
# 查看已启用的仓库dnf repolist
# 典型输出# baseos AlmaLinux 9 - BaseOS# appstream AlmaLinux 9 - AppStream# extras AlmaLinux 9 - Extras| 仓库 | 说明 |
|---|---|
| baseos | 核心操作系统包 |
| appstream | 应用程序和运行时 |
| extras | AlmaLinux 额外工具(如 epel-release) |
| crb | CodeReady Builder 等效 |
| highavailability | 高可用集群组件 |
| plus | AlmaLinux 特有的增强包 |
启用额外仓库
Section titled “启用额外仓库”# 启用 CRB 仓库(安装 EPEL 前通常需要)dnf config-manager --set-enabled crb
# 安装 EPELdnf install -y epel-release
# 安装 ELRepo(内核和硬件驱动)dnf install -y elrepo-release虽然 AlmaLinux 本身免费,但多家公司提供商业支持:
- TuxCare(CloudLinux 旗下):提供 AlmaLinux 的企业级支持和延长生命周期支持
- 多家 MSP 和系统集成商:提供基于 AlmaLinux 的解决方案
- 论坛:forums.almalinux.org
- 聊天:Mattermost 和 IRC
- 代码:github.com/AlmaLinux
- Bug 追踪:bugs.almalinux.org
AlmaLinux 支持以下架构:
- x86_64
- aarch64 (ARM64)
- ppc64le (IBM POWER)
- s390x (IBM Z)
与其他 EL 发行版的比较
Section titled “与其他 EL 发行版的比较”| 特性 | AlmaLinux | Rocky Linux | CentOS Stream |
|---|---|---|---|
| RHEL 兼容 | ABI 兼容 | Bug 级兼容 | 上游 |
| 发起方 | CloudLinux | Gregory Kurtzer | Red Hat |
| 治理 | 非营利基金会 | RESF | Red Hat |
| 独特工具 | ELevate | Koji(10 起;早期为 Peridot) | SIGs |
| 商业支持 | TuxCare | CIQ | Red Hat |
AlmaLinux 凭借快速响应、独立治理和 ELevate 等工具,在 CentOS 替代品中占据了重要位置。它以 ABI 兼容为目标,在可验证的兼容范围内换取更快的安全修复与更大的构建灵活性——「目标」不等于「逐包认证」,具体差异仍以官方发布说明为准。无论是从 CentOS 迁移还是新建 EL 环境,AlmaLinux 都是一个值得认真考虑的选择。
- EL 11 前瞻 — AlmaLinux 11 发布时间预测与 RHEL 11 规划动态