对于企业生产环境的漏洞修复和长期维护,Rocky Linux 是更稳妥的选择,CentOS Stream 则建议仅用于开发或测试环境。
先说结论:企业核心业务服务器应优先选择 Rocky Linux,以获得与 RHEL 一致的稳定性及长期支持,避免 CentOS Stream 滚动更新带来的潜在风险。
- 适合:追求稳定、需要 RHEL 二进制兼容的生产服务器,尤其是运行数据库或关键业务的场景。
- 重点看:补丁更新机制是“下游复刻”还是“上游预览”,前者经过验证,后者可能包含未稳定代码。
- 别忽略:第三方商业软件(如 Oracle DB、VMware 工具)对操作系统的认证支持情况,部分软件明确不支持 Stream。
命令速用版
# 查看当前操作系统版本
cat /etc/os-release
# 检查安全更新插件是否安装
rpm -qa | grep dnf-plugin-security
# 查看可用安全更新(移除 -y 参数,生产环境需人工确认)
dnf update `--security`
# 执行安全补丁更新(确认无误后执行)
dnf update `--security` -y
# 确认内核版本是否变更
uname -r
# 检查当前启用的软件源
dnf repolist为什么会这样
这两个系统虽然都源于 Red Hat 生态系统,但定位完全不同。CentOS Stream 是 RHEL 的上游开发流,意味着新功能和补丁会先在这里发布,经过测试后再进入 RHEL 稳定版。这种“滚动发布”模式可能导致更新中包含未经充分验证的代码,存在小版本间不兼容的风险。
Rocky Linux 则是 RHEL 的下游重建版。它等待 RHEL 正式发布安全补丁后,再使用相同的源代码进行构建。这种模式确保了二进制兼容性,补丁经过 RHEL 层面的验证,更适合对连续性要求高的企业环境。公开资料中指出,Red Hat 官方也曾建议生产负载运行在 RHEL 或 ABI 兼容的下游重建版(如 Rocky Linux)上,而非 Stream。
分步处理
1. 确认当前环境风险
如果正在使用 CentOS 7 或 CentOS Stream 运行核心业务,建议评估迁移风险。CentOS 7 已于 2024 年 6 月停止维护,继续使用将面临无安全补丁的风险。
2. 检查更新源配置
在执行更新前,务必确认软件源配置正确。运行 dnf repolist 检查是否启用了官方源,避免混用第三方源导致依赖冲突。确保 dnf-plugin-security 已安装,否则 `--security` 参数无效。
3. 制定补丁策略
对于 Rocky Linux 用户,可配置自动安全更新,但建议先在测试环境验证。使用 dnf-automatic 工具可以实现补丁自动安装,但生产环境建议人工审核后执行。
4. 迁移准备(如需)
若从 CentOS Stream 迁移至 Rocky Linux,官方提供了 migrate2rocky 工具支持。迁移前务必备份数据和配置文件,确保回滚路径可用。
5. 执行迁移与更新
在维护窗口期内执行操作。若是迁移,下载脚本并运行;若是更新,先列出包再确认安装。更新完成后,不要立即重启,先检查关键服务日志。
迁移工具具体使用示例
# 1. 下载迁移脚本(以 Rocky Linux 官方仓库为例)
curl -LO https://raw.githubusercontent.com/rocky-linux/migrate2rocky/main/migrate2rocky.sh
# 2. 赋予执行权限
chmod +x migrate2rocky.sh
# 3. 执行迁移(-r 表示转换为 Rocky Linux)
# 注意:执行前请确保已备份系统
bash migrate2rocky.sh -r怎么验证是否生效
1. 检查补丁状态
使用 dnf history 查看最近的操作记录,确认安全包已更新。
2. 服务健康检查
运行 systemctl status 检查关键服务(如 Nginx、MySQL)是否处于 active (running) 状态。
3. 日志审计
查看 /var/log/secure 或 /var/log/messages,确认没有因更新导致的认证失败或内核报错。
常见坑
1. 误将 Stream 用于生产
CentOS Stream 的更新频率较高,包含预发布代码,可能导致驱动或容器运行时在不兼容的内核升级后失效。企业核心数据库不建议部署在此环境。
2. 忽视生命周期
不同版本的支持周期不同。例如 Rocky Linux 9 系列提供长期支持,而 CentOS Stream 每个大版本支持周期较短。选型时需确认 EOL 时间表,避免频繁迁移。
3. 第三方软件兼容性
部分商业软件明确认证 RHEL 或其下游克隆版,可能不支持 CentOS Stream。部署前需查阅软件厂商的兼容性列表,避免维保纠纷。
4. 盲目使用 -y 参数
在生产环境执行 dnf update `--security` -y 可能因内核升级或依赖变更导致服务意外中断。务必先不带 -y 运行查看变更列表。
参考来源
- Red Hat 官方博客:CentOS Stream FAQ (https://www.redhat.com/en/blog/centos-stream-faq)
- Rocky Linux 官网:系统特性与生命周期介绍 (https://rockylinux.org/)
- Rocky Linux 迁移工具仓库 (https://github.com/rocky-linux/migrate2rocky)