Centos 7.x 升级到 Centos 8.x 步骤以及遇到问题解决办法

原创
2022/03/10 11:02
阅读数 3.7K
AI总结

随着Centos 8的生命周期即将结束,很多原来的Centos 7系统面临上不能上下不能下的尴尬局面,如果打算切换到Rocky或者AnolisOS都需要先升级到Centos 8作为跳板,可能等Centos 8彻底死亡了会有Centos7直接升级到对应系统的方法,但是暂时没有。

这里演示从Centos 7.5升级到Centos 8.5,使用虚拟机来演示,不建议在生产服务器直接执行,有条件的可以克隆一台机器测试,没有问题再正式升级。

步骤 1,备份资料,备份资料,备份资料,这个非常非常非常重要,网上有很多方法,这里不介绍了。

步骤 2,安装EPEL存储库

yum install -y epel-release

步骤 3,安装yum-utils工具

yum install -y yum-utils

步骤 4,安装rpmconf来解析RPM软件包

yum install -y rpmconf
rpmconf -a
清理不需要的软件包
packge-cleanup --leaves
packge-cleanup --orphans

步骤 5,安装dnf,dnf是Centos 8默认的包管理工具,在系统切换到Centos8升级内核时有一些包冲突,需要dnf来删除

yum install -y dnf
删除yum包管理工具
dnf remove -y yum yum-metadata-parser
rm -rf /etc/yum

步骤 6,升级到Centos 8前准备

dnf upgrade -y
升级镜像资源库,这里建议用aliyun的资源库和EPEL库,速度比较快。

资源库使用Centos-vault8而不是原来的Centos8,好像Centos8要作废了。

wget -O /etc/yum.repo.d/Centos-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
dnf upgrade -y https://mirrors.aliyun.com/centos-vault/8.0.1905/BaseOS/x86_64/os/Packages/centos-release-8.0-0.1905.0.9.el8.x86_64.rpm
dnf upgrade -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm
清除缓存
dnf clean all
删除Centos7的旧内核,删除有冲突的软件包
rpm -e `rpm -q kernel` --nodeps
rpm -e sysvinit-tools --nodeps

步骤 7,升级到Centos 8

dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync
包冲突,例如pycairo,删除之
rpm -e pycairo-xx-xx --nodeps
dracut-network依赖错误

本次演示中出现了如下的错误,在很多教程中都没有出现

错误:事务检查与依赖解决错误: (NetworkManager >= 1.20 or dhclient) 被 dracut-network-049-191.git20210920.el8.x_64 需要 rpmlib(RichDependencies) <= 4.12.0-1 被 dracut-network-049-191.git20210920.el8.x_64 需要

解决办法就是删除之,在之后的安装内核时会重新安装回来

dnf remove -y dracut-network

重新执行本步骤

步骤 8,安装CentOS8内核及软件包

安装内核
dnf install -y kernel-core

可能遇到这个错误,是因为repo文件中使用centos.org地址,访问不了而引起的,改成aliyun的源

错误:为仓库 'appstream' 下载元数据失败 : Cannot prepare internal mirrorlist: No URLs in mirrorlist

使用命令查看yum.repo.d目录,我们会发现熟悉的Centos-Base.repo不见了,取而代之的是Centos-Linux-Base.repo,内容基本一致就是名称不同而已

wget -O /etc/yum.repo.d/Centos-Linux-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo

然后再重新执行内核安装脚本就没有问题了。

安装软件包
dnf groupupdate -y “Core” “Minimal Install”

这步完成后,系统已经成功升级到Centos8了,剩下升级到Rocky还是AnolisOS由自己决定,而且对应官网都有升级方法和脚本。 升级有风险,祝大家好运

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
AI总结
返回顶部
顶部