9.2 Linux 发行版对比:Rocky Linux vs AlmaLinux vs Arch Linux
预计阅读时间:18 分钟
📖 目录
Linux 世界拥有数百种发行版,每种发行版都有其独特的设计哲学、目标用户群和应用场景。在众多发行版中,Rocky Linux、AlmaLinux 和 Arch Linux 代表了三种截然不同的路线:前两者是 CentOS 停止维护后的企业级替代品,后者则是滚动更新、极简主义的先锋。本文从定位、安装方式、软件包管理、系统更新策略、社区生态等维度对三者做对比,帮助你在选型时做出判断。
学习目标
- 理解 Rocky Linux、AlmaLinux 和 Arch Linux 的设计哲学与历史背景
- 掌握三者在包管理、软件版本策略、安全机制上的核心差异
- 能够根据实际场景(企业服务器 / 个人桌面 / 开发环境)做出合理的发行版选型决策
- 学会从 CentOS 迁移到 Rocky Linux 或 AlmaLinux 的完整步骤
前置知识
- 1.1:Linux 是什么 Linux 是什么——了解发行版概念与 RHEL 系/Arch 系家族
- distro01 Linux 发行版对比(Ubuntu vs Debian vs Fedora)——Debian/Ubuntu 系对比基线
- 1.8:软件包管理 包管理与软件安装——dnf 与 pacman 的操作前提
- 1.1:Linux 是什么 Linux 简介与历史——理解自由软件运动与发行版哲学
三大发行版概览
历史背景:CentOS 8 停止事件
2020 年 12 月,Red Hat 宣布将停止维护 CentOS Linux 8,转而推行 CentOS Stream(一个 RHEL 上游的开发版)。这一决定震动了整个 Linux 社区——大量依赖 CentOS 8 的服务器面临无系统可升级的困境。CentOS 的停止直接催生了两个替代项目:
- Rocky Linux:由 CentOS 联合创始人 Gregory Kurtzer 发起,以纪念 CentOS 联合创始人 Rocky McGaugh(已故)。Rocky Linux 由 Rocky Enterprise Software Foundation 管理,完全社区驱动,目标是提供 100% 二进制兼容 RHEL 的免费发行版。
- AlmaLinux:由 CloudLinux 公司于 2021 年初发起,后移交给 AlmaLinux OS Foundation。AlmaLinux 同样承诺 100% 二进制兼容 RHEL,但早期有公司背景,后期转为社区治理。
Arch Linux 的起源
Arch Linux 由 Judd Vinet 于 2002 年创建,设计理念与 RHEL 系完全相反:追求极简、用户中心、滚动更新。Arch 从不发布"大版本",所有软件包在上游发布后尽快更新到最新稳定版。这种模式让 Arch 成为"前沿技术爱好者"的首选。
维护团队对比
| 维度 | Rocky Linux | AlmaLinux | Arch Linux |
|---|---|---|---|
| 发起人/机构 | Gregory Kurtzer | CloudLinux → AlmaLinux Foundation | Judd Vinet → Aaron Griffin |
| 治理模式 | Rocky 基金会(社区) | AlmaLinux OS Foundation | 社区自治(BDFL + 贡献者) |
| 资金来源 | 赞助商 + 捐赠 | CloudLinux 赞助 + 捐赠 | 捐赠 + 组织成员 |
| 法律风险 | 低(独立编译) | 低(独立编译) | 无(独立构建) |
| 当前版本 | Rocky Linux 9(对应 RHEL 9) | AlmaLinux 9(对应 RHEL 9) | 滚动更新(无版本号) |
发布模式
Rocky Linux 和 AlmaLinux 都采用传统的点发布(Point Release)模式:每个大版本(如 9.x)持续维护约 10 年,期间定期发布小版本更新(如 9.1 → 9.2),主要包含安全补丁和 bug 修复,不引入重大版本升级。
Arch Linux 则采用滚动发布(Rolling Release)模式:没有版本号概念,所有软件包持续更新到上游最新稳定版。理论上安装一次即可永远运行,无需"重装系统"。
包管理对比
dnf(Rocky/Alma)vs pacman(Arch)
Rocky Linux 和 AlmaLinux 使用 DNF(Dandified YUM)作为包管理器,基于 RPM 包格式。Arch Linux 使用 pacman,基于自有的 pkg.tar.xz 格式。
| 操作 | dnf(Rocky/Alma) | pacman(Arch) | 说明 |
|---|---|---|---|
| 安装软件 | dnf install nginx | pacman -S nginx | 基础安装 |
| 搜索软件 | dnf search nginx | pacman -Ss nginx | 关键词搜索 |
| 更新系统 | dnf upgrade | pacman -Syu | 全量更新 |
| 删除软件 | dnf remove nginx | pacman -Rns nginx | -n 清理配置 -s 孤立依赖 |
| 查看已安装 | dnf list installed | pacman -Q | 列出所有已安装包 |
| 清理缓存 | dnf clean all | pacman -Scc | 释放磁盘空间 |
| 查看依赖 | dnf repoquery --requires nginx | pacman -Qi nginx | 查询包依赖关系 |
| 降级软件 | dnf downgrade nginx | 需手动安装旧包 | dnf 原生支持降级 |
第三方软件源
Rocky Linux 和 AlmaLinux 的第三方软件源相对有限,主要依赖 EPEL(Extra Packages for Enterprise Linux)。而 Arch Linux 拥有著名的 AUR(Arch User Repository),包含超过 70,000 个用户提交的包,覆盖了几乎所有开源软件。使用 AUR 辅助工具(如 yay 或 paru),可以像安装官方包一样方便地安装 AUR 包。
# Rocky/Alma 安装 EPEL 仓库
sudo dnf install epel-release
sudo dnf install htop # 从 EPEL 安装
# Arch 安装 AUR 辅助工具 yay
git clone https://aur.archlinux.org/yay-bin.git
cd yay-bin && makepkg -si
# 通过 yay 安装 AUR 包(语法与 pacman 一致)
yay -S visual-studio-code-bin
yay -S google-chrome
滚动更新 vs 稳定版更新策略
| 特性 | Rocky Linux / AlmaLinux | Arch Linux |
|---|---|---|
| 更新频率 | 每月安全更新,季度小版本 | 每周多次更新 |
| 新版本获取 | 等待官方发布小版本 | 上游发布后数天内 |
| 内核更新 | 仅安全补丁,主版本不变 | 持续跟踪最新稳定内核 |
| 破坏性变更 | 极少(严格 ABI 兼容) | 偶尔发生(需阅读 Arch News) |
| 回滚能力 | dnf downgrade 原生支持 | 依赖包存档或 btrfs 快照 |
软件版本策略
RHEL 兼容性(Rocky/Alma)
Rocky Linux 和 AlmaLinux 的核心价值在于完全兼容 RHEL。这意味着:
- 针对 RHEL 编译的商业软件(如 Oracle Database、SAP HANA)可以直接在这两个系统上运行
- 系统管理员的 RHEL 认证(RHCSA、RHCE)可以在 Rocky/Alma 上练习
- 企业级支持合同(如 Red Hat 订阅)的替代方案——免费获得相同的稳定性
# 查看系统是否兼容 RHEL
cat /etc/redhat-release
# Rocky Linux release 9.3 (Blue Onyx)
# AlmaLinux release 9.3 (Shamrock Puffin)
# 验证二进制兼容性
rpm -q --queryformat '%{VERSION}' redhat-release
# 9
滚动发行版特点(Arch)
Arch Linux 的滚动更新模式意味着:
- 安装 Arch 时获得的软件版本永远是最新的
- Python 3.11 → 3.12 的升级通过一次
pacman -Syu即可完成 - 新内核发布后,通常在数天内即可通过系统更新获得
- 但这也意味着配置文件格式可能发生变化,需要手动处理
# 查看当前软件版本
# Rocky/Alma:版本被锁定在大版本周期内
dnf list --installed | grep python3
python3-3.9.18-1.el9.x86_64
# Arch:版本通常是最新的
pacman -Q | grep python
python 3.12.1-1
社区与生态
企业支持
Rocky Linux 由 Rocky Enterprise Software Foundation 运营,通过赞助商(如 CIQ、AWS、Google Cloud、Microsoft)获得资金支持。Rocky 提供付费的企业支持服务。
AlmaLinux 由 AlmaLinux OS Foundation 运营,CloudLinux 公司提供主要资金支持。AlmaLinux 同样提供企业级支持选项。
Arch Linux 没有企业支持——这是一个纯粹的社区项目。如果需要企业支持,Arch 不是正确选择。
AUR 生态系统
AUR 是 Arch Linux 最大的竞争优势之一。与 EPEL(Rocky/Alma 的第三方源)不同,AUR 不是一个打包好的二进制仓库,而是一个构建脚本(PKGBUILD)的集合。用户需要自行编译,但辅助工具(yay、paru)完全自动化了这一过程。
| 特性 | EPEL(Rocky/Alma) | AUR(Arch) |
|---|---|---|
| 包数量 | 约 15,000+ | 70,000+ |
| 维护方 | Fedora 社区 | 用户自行维护 |
| 安全审核 | 有(Fedora 审核流程) | 无(依赖用户判断) |
| 安装方式 | dnf install | yay -S / makepkg -si |
| 更新时效 | 随 EPEL 发布 | 通常数小时内 |
文档质量
Arch Linux 的 Wiki(ArchWiki)被公认为 Linux 社区中质量最高的文档资源。几乎所有 Linux 相关的问题都能在 ArchWiki 上找到详细、准确的解答,即使你并不使用 Arch Linux。Rocky Linux 和 AlmaLinux 的文档同样优秀,但主要聚焦于 RHEL 兼容场景。
性能与资源占用
最小安装内存占用对比
| 指标 | Rocky Linux 9 Minimal | AlmaLinux 9 Minimal | Arch Linux Base |
|---|---|---|---|
| 空闲内存 | 约 150-200 MB | 约 150-200 MB | 约 50-80 MB |
| 最小磁盘 | 约 8 GB | 约 8 GB | 约 2 GB |
| 默认服务数 | 约 15-20 个 | 约 15-20 个 | 约 5-8 个 |
| 启动速度 | 中等 | 中等 | 快(服务极少) |
Arch Linux 的内存占用显著低于 Rocky/Alma,原因在于:
- Arch 的基础安装不预装任何不必要的服务
- 没有默认启用 firewalld、postfix 等守护进程
- 用户按需安装,系统保持极度精简
但对于生产服务器而言,150 MB 的差异几乎可以忽略。选择发行版不应仅基于内存占用,而应综合考虑稳定性和维护成本。
安全策略
SELinux 状态
Rocky Linux 和 AlmaLinux 默认启用 SELinux(Security-Enhanced Linux),这是 RHEL 系的安全基石。SELinux 通过强制访问控制(MAC)限制进程权限,即使 root 被攻破,恶意软件也无法随意访问系统资源。
# 查看 SELinux 状态(Rocky/Alma)
getenforce
# Enforcing(默认)
# 临时切换到 Permissive(调试用,不阻止操作)
sudo setenforce 0
# 查看 SELinux 布尔值
getsebool -a | grep httpd
# httpd_can_network_connect --> off
# httpd_can_network_connect_db --> off
# Arch 默认不安装 SELinux,但可以手动启用
# 需要安装 selinux-policy 和 setools
sudo pacman -S selinux-policy setools
安全更新响应
| 特性 | Rocky Linux | AlmaLinux | Arch Linux |
|---|---|---|---|
| 安全响应时间 | 通常 24-48 小时 | 通常 24-48 小时 | 通常数小时 |
| CVE 追踪 | 与 RHEL 同步 | 与 RHEL 同步 | 依赖上游 |
| 安全公告 | Rocky 安全通告 | AlmaLinux 安全通告 | Arch 安全邮件列表 |
| 自动更新 | dnf-automatic | dnf-automatic | pacman 需手动或 pacman-contrib |
对于生产环境,Rocky/Alma 的安全策略更加成熟和可预测。Arch 的安全更新虽然更快到达,但需要管理员主动关注和应用更新。
企业级 vs 前沿技术
选型决策树
你的使用场景是?
├─ 生产服务器(不可随意宕机)
│ ├─ 需要 RHEL 兼容认证 → Rocky Linux(推荐)
│ ├─ 需要商业软件支持 → Rocky Linux 或 AlmaLinux
│ ├─ 已有 RHEL 技能 → Rocky Linux 或 AlmaLinux
│ └─ 无特定要求 → Ubuntu LTS 也值得考虑
├─ 个人桌面/工作站
│ ├─ 追求最新软件 → Arch Linux
│ ├─ 追求稳定不折腾 → Rocky Linux Workstation
│ └─ 开发者工作机 → Arch Linux(最新工具链)
├─ 开发环境
│ ├─ 容器化部署 → 任何发行版(Docker 内决定)
│ ├─ CI/CD 构建环境 → Arch(最新编译器)
│ └─ 模拟生产环境 → Rocky/Alma
├─ 学习/认证
│ ├─ RHCSA/RHCE 备考 → Rocky Linux 或 AlmaLinux
│ ├─ 学习 Linux 底层原理 → Arch Linux
│ └─ 通用 Linux 技能 → 任选其一
└─ 企业级部署
├─ 需要技术支持合同 → Rocky Linux(CIQ 支持)
├─ 已有 CloudLinux 合同 → AlmaLinux
└─ 不需要支持 → 两者均可
决策矩阵
| 考量因素 | 优先选 Rocky/Alma | 优先选 Arch |
|---|---|---|
| 稳定性要求 | 高(服务器不可宕机) | 低(可接受偶尔修复) |
| 软件新鲜度 | 不敏感(安全补丁够用) | 敏感(需要最新版本) |
| 商业软件兼容 | 需要(Oracle/SAP 等) | 不需要 |
| 维护能力 | 可预测的维护周期 | 熟练的 Linux 管理能力 |
| 团队协作 | 团队熟悉 RHEL 生态 | 个人项目为主 |
从 CentOS 迁移指南
迁移前准备
在执行迁移前,务必完成以下准备工作:
- 备份所有重要数据(
/etc、/var、数据库、应用配置) - 检查当前 CentOS 版本和已安装的第三方仓库
- 记录当前运行的关键服务
- 确认迁移工具是否支持你的 CentOS 版本
CentOS → Rocky Linux 迁移
# 1. 确认当前系统
cat /etc/centos-release
# CentOS Linux release 8.5.2111
# 2. 安装迁移工具
sudo dnf install -y https://dl.rockylinux.org/pub/rocky/8/AppStream/x86_64/os/Packages/r/rocky-repos-8.5-3.el8.noarch.rpm
sudo dnf install -y https://dl.rockylinux.org/pub/rocky/8/AppStream/x86_64/os/Packages/r/rocky-gpg-keys-8.5-1.el8.noarch.rpm
# 3. 移除 CentOS 软件包
sudo dnf remove -y centos-linux-repos
sudo dnf remove -y centos-linux-release
# 4. 安装 Rocky Linux 仓库
sudo dnf install -y rocky-repos
# 5. 清理并刷新缓存
sudo dnf clean all
sudo dnf makecache
# 6. 更新所有软件包
sudo dnf update -y
# 7. 重启系统
sudo reboot
CentOS → AlmaLinux 迁移
# 1. 确认当前系统
cat /etc/centos-release
# CentOS Linux release 8.5.2111
# 2. 使用 ELevate 工具迁移
sudo dnf install -y https://repo.almalinux.org/elevate/el8/el8_convert.noarch.rpm
# 3. 运行迁移前检查
sudo leapp pre --target /var/tmp/leapp-pre.txt
# 4. 检查迁移报告(如有阻断项需先处理)
sudo less /var/tmp/leapp-pre.txt
# 5. 执行迁移
sudo leapp upgrade --target /var/tmp/leapp-upgrade.txt
# 6. 重启进入临时内核
sudo reboot
# 7. 验证迁移结果
cat /etc/almalinux-release
# AlmaLinux release 8.8 (Sodalite)
迁移后验证清单
| 检查项 | 命令 | 预期结果 |
|---|---|---|
| 系统版本 | cat /etc/os-release | 显示 Rocky/Alma 信息 |
| 运行级别 | systemctl get-default | multi-user.target 或 graphical.target |
| 网络连通 | ping -c 3 8.8.8.8 | 网络正常 |
| SSH 服务 | systemctl status sshd | running |
| 防火墙 | firewall-cmd --list-all | 规则正常 |
| 第三方仓库 | dnf repolist | 无 CentOS 仓库残留 |
RHEL 兼容层原理
"二进制兼容 RHEL"具体指什么?这决定了哪些软件能直接跑、哪些会有坑:
- ABI 兼容:Rocky/Alma 直接重编译 RHEL 源码(SRPM),保证 glibc、内核模块接口、动态链接库版本号一致——针对 RHEL 编译的二进制(Oracle DB、SAP 等)无需重新编译即可运行
- 发行版标识:系统通过
/etc/redhat-release、/etc/os-release的ID=rocky|almalinux区分自己;安装脚本常硬编码检查ID=centos|rhel,这是迁移后第三方软件报错的头号原因 - rpmdb 与仓库结构:BaseOS/AppStream/CRB 仓库划分、
dnf模块流(module stream)机制完全继承 RHEL,所以 RHEL 文档与 RHCSA 考题可直接套用 - 差异边界:Red Hat 认证的驱动(部分存储/网卡厂商)可能只认 RHEL 的证书;
subscription-manager注册类功能依赖红帽订阅,这两点不保证兼容
# 验证"兼容层"是否就位(迁移后必查)
cat /etc/redhat-release
rpm -q redhat-release # 应返回 rocky-release 或 almalinux-release 对应版本
cat /etc/os-release | grep -E "^(ID|PLATFORM_ID)="
dnf repolist # 应显示 baseos/appstream/extra 仓库,无 centos 残留
迁移工具深入对比
CentOS 迁移的三种工具路线,按场景选择:
| 工具 | 适用版本 | 原理 | 特点 |
|---|---|---|---|
| migrate2rocky | CentOS 7/8 → Rocky | 替换仓库 GPG 密钥并切换源 | 简单直接,升级后需要 dnf distro-sync |
| almalinux-deploy | CentOS 7/8/9 → AlmaLinux | 仓库替换 + 包重签(rebrand) | 脚本化,支持离线场景 |
| ELevate(leapp) | CentOS 7 → Alma 8/9、8 → 9 | 基于红帽 leapp 框架,升级+迁移一步完成 | 唯一支持"跨大版本"的迁移工具(7 → 9 需分两步) |
# migrate2rocky 快速流程
wget https://raw.githubusercontent.com/rocky-linux/rocky-tools/main/migrate2rocky/migrate2rocky.sh
sudo bash migrate2rocky.sh -r 9 -y
# 结束后重启,检查 /var/log/migrate2rocky.log
# ELevate 跨大版本(CentOS 7 → AlmaLinux 8)的额外注意事项
# 1. 检查 leapp 阻断项:第三方内核模块、过旧的应用版本都会列出
# 2. 先更新到最新 7.9 再迁移
# 3. 迁移窗口需预留 1-2 小时,期间系统重启两次
# 4. 数据库类应用(MySQL 5.7 → 8.0 等)需单独评估——leapp 不管应用数据
# 无论哪种工具,迁移后必须做:
# 1. 验证内核与新系统引导(journalctl -b 无错误)
# 2. 检查所有服务自启正常(systemctl list-units --failed)
# 3. 第三方仓库(EPEL、Docker CE 等)换新系统的源并重装
Arch 构建体系
Arch 的包管理不止 pacman 一个命令,背后是完整的"配方→构建→分发"体系:
- PKGBUILD:描述如何构建一个包的 Bash 脚本(源码地址、依赖、构建命令、打包元数据),是 Arch 包生态的最小单元
- makepkg:读取 PKGBUILD 完成下载、校验、编译、打包,产出
.pkg.tar.zst安装包 - pacman:只负责安装/升级/卸载已构建好的包(官方仓库或本地 .pkg.tar.zst)
- 官方仓库分级:core(基础系统)→ extra(常用软件)→ multilib(32 位兼容),测试版进 testing 仓库
- AUR 提交流程:用户提交 PKGBUILD 到 AUR,无二进制审核;辅助工具(yay/paru)自动下载 PKGBUILD → makepkg 构建 → pacman 安装,全程无需手动介入
# 自己构建一个 AUR 风格包的最小流程
mkdir -p ~/builds/helloworld && cd ~/builds/helloworld
# 1. 编写 PKGBUILD
cat > PKGBUILD <<'EOF'
pkgname=helloworld
pkgver=1.0
pkgrel=1
arch=('x86_64')
depends=()
source=("https://example.com/helloworld-$pkgver.tar.gz")
sha256sums=('SKIP')
build() {
cd "$srcdir/helloworld-$pkgver"
make
}
package() {
cd "$srcdir/helloworld-$pkgver"
make DESTDIR="$pkgdir" install
}
EOF
# 2. 构建并安装
makepkg -si
# -s 自动解析依赖,-i 构建后直接 pacman -U 安装
# 3. 常见构建错误与对策
# "unable to determine effective arch" → 确认 arch=() 字段正确
# 校验和不匹配 → 重新计算 sha256sum(sha256sum 源码包)
# 依赖缺失 → makepkg -s 自动装依赖,或先 pacman -S 手动装
# 4. 安全检查习惯:AUR 包用前看 PKGBUILD 里的 source 与 install 脚本
# (安装钩子可以执行任意代码),只信任知名维护者与活跃项目
常见错误
问题 1:SELinux 阻止服务启动
在 Rocky/Alma 上新安装的服务(如 Nginx)可能因为 SELinux 策略而无法正常工作。
# 错误表现
nginx: [emerg] bind() to 0.0.0.0:8080 failed (13: Permission denied)
# 排查 SELinux 日志
sudo ausearch -m avc -ts recent | grep nginx
# 解决:为 Nginx 添加正确的 SELinux 端口策略
sudo setsebool -P httpd_can_network_connect 1
sudo semanage port -a -t http_port_t -p tcp 8080
# 或临时禁用 SELinux(不推荐生产环境使用)
sudo setenforce 0
问题 2:pacman 数据库锁定
Arch Linux 上如果上一次 pacman 进程未正常退出,再次运行时会报数据库锁定错误。
# 错误表现
error: failed to init transaction (unable to lock database)
error: could not open file /var/lib/pacman/db.lck: No such file or directory
# 解决:删除锁文件
sudo rm /var/lib/pacman/db.lck
# 预防:不要在 pacman 运行时中断终端
# 如需后台更新,使用 pacman -Syu --noconfirm
问题 3:dnf 缓存损坏
# 错误表现
Error: Failed to download metadata for repo 'appstream'
# 解除:清除缓存并重建
sudo dnf clean all
sudo rm -rf /var/cache/dnf
sudo dnf makecache
问题 4:Arch 内核更新后模块不匹配
# 错误表现:内核更新后,DKMS 模块(如 VirtualBox、NVIDIA 驱动)无法加载
modprobe: ERROR: ../libkmod/libkmod-module.c:...
# 解决:重新编译 DKMS 模块
sudo dkms autoinstall
# 或针对特定模块
sudo dkms install nvidia/535.129.03
问题 5:Rocky/Alma 第三方仓库兼容性
# 问题:CentOS 8 的第三方仓库(如 Docker CE)在迁移后可能无法使用
# 错误:Cannot prepare internal mirrorlist...
# 解决:重新配置第三方仓库
sudo sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*.repo
sudo sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*.repo
# 或完全删除旧仓库并重新添加
sudo rm -f /etc/yum.repos.d/CentOS-*.repo
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
最佳实践
1. 企业环境选择 Rocky Linux
在生产服务器环境中,优先选择 Rocky Linux。Rocky 与 RHEL 的二进制兼容性最为严格,且由 CentOS 创始人发起,社区纯粹度高。对于需要 RHEL 认证备考的管理员,Rocky 也是最佳练习平台。
2. 开发环境考虑 Arch Linux
在个人开发机上使用 Arch Linux,可以第一时间获得最新的编译器、语言运行时和开发工具。AUR 提供了几乎所有开源工具的最新版本,极大提升了开发效率。
3. 保持系统更新
# Rocky/Alma:定期检查并应用安全更新
sudo dnf check-update --security
sudo dnf update --security -y
# 设置自动更新(仅安装安全更新)
sudo dnf install -y dnf-automatic
sudo systemctl enable --now dnf-automatic.timer
# Arch:每周至少更新一次
sudo pacman -Syu
# 配合 btrfs 快照回滚机制
sudo snapper create -d "Pre-update snapshot"
4. 使用防火墙和 SELinux
无论使用哪种发行版,都应启用防火墙和强制访问控制。在 Rocky/Alma 上,SELinux 默认启用,不要轻易关闭。在 Arch 上,建议安装并配置 nftables 或 ufw。
5. 定期备份关键数据
无论系统多么稳定,数据备份都是不可忽视的环节。建议使用 rsync、borgbackup 或云存储服务进行定期备份。
练习题
练习 1:系统信息收集
在你当前使用的 Linux 系统上,执行以下命令并记录输出:
cat /etc/os-release— 查看发行版信息uname -r— 查看内核版本free -h— 查看内存占用dnf --version或pacman --version— 查看包管理器版本
练习 2:包管理对比
尝试在不同发行版上完成以下操作,记录命令差异:
- 安装
htop系统监控工具 - 搜索名为
nginx的软件包 - 查看已安装软件包列表
- 卸载
htop并清理残留配置文件
练习 3:迁移模拟(仅学习,不实际执行)
在虚拟机中模拟 CentOS → Rocky Linux 的迁移流程:
- 创建 CentOS 8 虚拟机
- 记录迁移前的软件包列表(
rpm -qa | wc -l) - 按照本文的迁移步骤操作
- 迁移后对比软件包数量变化
- 验证所有关键服务是否正常运行
学习检查点
学完本章后,请检验自己是否掌握以下内容:
| 检查项 | 自测问题 | 验证方法 |
|---|---|---|
| 概念理解 | 能用自己的话解释 RHEL/CentOS/AlmaLinux/Rocky Linux 的关系 | 尝试向他人讲解 |
| 命令操作 | 能不查文档完成 RHEL 系发行版的安装和 dnf 包管理 | 在终端实际执行 |
| 原理掌握 | 能说出 RHEL 生态的订阅模式和软件仓库架构 | 画出流程图 |
| 故障排查 | 能独立排查 RHEL 系发行版的软件源配置问题 | 模拟故障并修复 |
| 最佳实践 | 能说明为什么 CentOS Stream 适合作为 RHEL 的上游测试 | 对比不同方案 |
本章总结
企业生产环境需要 RHEL 二进制兼容与可预测的维护周期,Rocky/AlmaLinux 是最佳选择,也是 CentOS 迁移的首选目的地;追求最新软件与深入学习 Linux 的开发者则可以尝试 Arch Linux 及其 AUR 生态。但必须清醒认识到,滚动发行版的高新鲜度伴随高维护成本与不可控的升级风险,不适合生产环境。无论选哪条路线,迁移前都要评估软件生态与第三方仓库的差异,并做好数据备份。
延伸阅读
- 1.1:Linux 是什么 Linux 是什么——发行版生态详解:了解 Linux 发行版的分类和选择标准
- 1.2:安装 Linux 安装 Linux——选择适合自己的发行版:安装过程中的发行版选择考量
- 1.8:软件包管理 软件包管理——不同发行版的包管理差异:深入了解 dnf、pacman、apt 的设计理念
- Rocky Linux 官方文档:
docs.rockylinux.org - AlmaLinux 官方文档:
wiki.almalinux.org - ArchWiki:
wiki.archlinux.org(公认最佳 Linux 文档资源)