centos

centos镜像更新后如何升级

小樊
44
2025-09-20 08:35:03
栏目: 智能运维

CentOS镜像更新后升级操作指南

一、升级前的准备工作

  1. 备份重要数据:升级过程可能因意外中断导致数据丢失,需提前备份系统配置文件(如/etc/目录)、用户数据(如/home/目录)及数据库(若有)。可使用tar命令打包关键目录,例如:tar -czvf backup_$(date +%F).tar.gz /etc /home /var/lib/mysql
  2. 检查当前系统版本:通过命令确认当前CentOS版本,为后续升级路径提供依据:cat /etc/centos-release(如“CentOS Linux release 7.9.2009 (Core)”)或uname -r(查看内核版本)。
  3. 更新现有软件包:升级前需将当前系统的所有软件包更新至最新稳定版,避免版本冲突:
    • CentOS 7及以下:sudo yum update -y
    • CentOS 8及以上:sudo dnf update -y

二、常见升级方式(基于镜像或网络源)

(一)通过网络源升级(推荐,需联网)

  1. 清理并重建缓存:确保yum/dnf能获取最新源信息:sudo yum clean all && sudo yum makecache(CentOS 7);sudo dnf clean all && sudo dnf makecache(CentOS 8)。
  2. 执行系统升级
    • CentOS 7:使用dnf工具(需提前安装:sudo yum install dnf -y)进行升级,确保依赖关系正确同步:
      sudo dnf module reset python  # 重置Python模块(解决兼容性问题)
      sudo dnf module enable python:3.6  # 启用Python 3.6模块(CentOS 7默认Python 2需升级)
      sudo dnf update -y
      sudo dnf distro-sync  # 同步系统组件版本
      
    • CentOS 8及以上:直接使用dnf system-upgrade命令,下载并应用新版本升级包:
      sudo dnf system-upgrade download --releasever=8  # 替换为目标版本(如8)
      sudo dnf system-upgrade reboot  # 重启进入升级流程
      
    升级完成后,系统会自动重启,进入新版本系统。

(二)通过挂载ISO镜像升级(离线场景适用)

  1. 下载并挂载ISO镜像:从CentOS官网下载对应版本的安装镜像(如CentOS-7-x86_64-Minimal.iso),上传至服务器,创建挂载目录并挂载:
    mkdir /mnt/cdrom
    mount -o loop /path/to/CentOS-7-x86_64-Minimal.iso /mnt/cdrom/
    
  2. 配置本地yum源:备份原有repo文件,创建本地源配置文件:
    mkdir /etc/yum.repos.d/bak_$(date +%Y%m%d)  # 备份原有repo
    mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak_$(date +%Y%m%d)
    vi /etc/yum.repos.d/local.repo  # 添加以下内容
    
    文件内容如下(根据实际镜像路径调整):
    [local]
    name=CentOS Local Repository
    baseurl=file:///mnt/cdrom
    enabled=1
    gpgcheck=0
    
  3. 更新缓存并执行升级
    sudo yum clean all && sudo yum makecache  # 清理旧缓存并生成新缓存
    sudo yum -y update  # 升级所有软件包
    
  4. 重启并验证:升级完成后重启系统:sudo reboot;重启后检查版本:cat /etc/centos-releaseuname -r

三、升级后验证与收尾

  1. 检查系统版本:通过以下命令确认升级是否成功:
    cat /etc/centos-release  # 查看系统发行版版本
    uname -r                 # 查看内核版本
    
  2. 清理旧内核(可选):若升级后内核版本过多,可删除旧内核释放空间:
    package-cleanup --oldkernels --count=1  # CentOS 7(需安装yum-utils)
    dnf remove $(dnf repoquery --installonly --latest-limit=-1 -q)  # CentOS 8及以上
    
  3. 恢复服务:重启后检查关键服务(如Nginx、MySQL、SSH)是否正常运行:systemctl status nginxsystemctl status mysqld

注意事项

0
看了该问题的人还看了