温馨提示×

CentOS如何替换旧版本

小樊
56
2026-07-09 07:17:40
栏目: 智能运维

在 CentOS 系统中,“替换旧版本”通常指升级系统版本(如从 CentOS 7 升级到 CentOS 8)或替换旧软件包。以下是针对不同场景的详细操作指南:

一、升级 CentOS 系统版本(跨大版本,如 7→8)

⚠️ 注意:CentOS 官方已停止维护 CentOS 8(2021 年底),且 CentOS 7 也将于 2024 年 6 月 EOL(生命周期结束)。不建议直接升级到 CentOS 8,更推荐迁移到替代发行版(如 Rocky Linux、AlmaLinux、CentOS Stream)。

若仍需升级(如从 CentOS 7 到 CentOS Stream 8/9),步骤如下(以 CentOS 7 → CentOS Stream 8 为例):

1. 备份重要数据

升级前务必备份 /etc/home/var 等关键目录,避免数据丢失。

2. 安装 CentOS Stream 仓库

CentOS 7 默认仓库不含 Stream 版本,需先添加 Stream 仓库:

# 安装 epel-release(可选,部分依赖需要)
yum install -y epel-release

# 安装 CentOS Stream 7 仓库(作为过渡)
yum install -y centos-release-stream

# 将基础仓库替换为 Stream 仓库
yum swap -y centos-linux-repos centos-stream-repos

3. 升级系统到 CentOS Stream 7 最新版

yum update -y
reboot  # 重启后生效

4. 从 CentOS Stream 7 升级到 Stream 8(跨大版本)

⚠️ 跨大版本升级风险较高,建议先在测试环境验证。需使用 leapp 工具(官方升级工具):

# 安装 leapp 工具
yum install -y leapp-upgrade

# 预检查升级兼容性(会生成报告,需解决所有阻塞问题)
leapp preupgrade

# 若有阻塞(如内核模块、第三方软件),需先处理(例如卸载不兼容的包)
# 确认无阻塞后,执行升级
leapp upgrade

# 升级完成后重启,系统会自动进入升级流程
reboot

升级完成后,验证版本:

cat /etc/redhat-release  # 应显示 CentOS Stream 8

二、替换旧软件包(同一系统版本内升级)

若只需升级某个旧软件包(如 Python、Nginx),可通过 yum(CentOS 7)或 dnf(CentOS 8+)直接操作:

1. 检查当前软件包版本

rpm -qa | grep 软件名  # 例如:rpm -qa | grep nginx

2. 更新软件包到最新版

  • CentOS 7(yum)
    yum update 软件名 -y  # 例如:yum update nginx -y
    
  • CentOS 8+/Stream(dnf)
    dnf update 软件名 -y  # 例如:dnf update nginx -y
    

3. 若需安装特定版本(替换当前版本)

# 查看可用版本
yum --showduplicates list 软件名  # 例如:yum --showduplicates list nginx

# 安装指定版本(格式:软件名-版本号)
yum install 软件名-版本号 -y  # 例如:yum install nginx-1.20.2-1.el7

三、迁移到替代发行版(推荐,因 CentOS 传统版本 EOL)

由于 CentOS 传统版本(7/8)已停止维护,建议迁移到兼容 RHEL 的替代发行版(如 Rocky Linux、AlmaLinux),步骤如下(以 CentOS 7 → Rocky Linux 8 为例):

1. 安装迁移工具

Rocky Linux 提供 migrate2rocky 脚本:

# 下载迁移脚本
curl -O https://raw.githubusercontent.com/rocky-linux/rocky-tools/main/migrate2rocky/migrate2rocky.sh

# 赋予执行权限
chmod +x migrate2rocky.sh

2. 执行迁移

# 运行脚本(需 root 权限)
./migrate2rocky.sh -r  # -r 表示自动重启

# 迁移过程中会替换系统仓库、更新核心包,耐心等待

3. 验证迁移结果

重启后检查版本:

cat /etc/redhat-release  # 应显示 Rocky Linux 8

四、注意事项

  1. 备份优先:任何升级/迁移操作前,务必备份数据(如用 rsynctar 或快照)。
  2. 兼容性检查:升级前确认业务软件(如数据库、中间件)支持新版本系统。
  3. 避免跨大版本直接升级:CentOS 7→8 无官方平滑升级路径,推荐用迁移工具或重装系统。
  4. CentOS Stream 定位:Stream 是 RHEL 的上游开发版,稳定性略低于传统 CentOS,若需生产环境稳定,优先选 Rocky/AlmaLinux。

如果遇到具体场景(如升级特定软件、解决升级报错),可提供更多细节,我会进一步协助!

0