CentOS 7 升级到 CentOS 8
友情提醒
升级前记得备份服务器上的资料,升级到 Centos 8 后不久(大概几个小时)就被人挂了马
,反正是测试机,也懒得去找问题出在哪里,直接重装了系统,云服务器建议大家尽量通过官方提供的镜像升级,方便快捷,自己手动升级会碰到一些奇奇怪怪的问题需要解决
准备工作
备份
zip -r -q -o /etc/yum.repos.d/CentOS-Base_backup.zip /etc/yum.repos.d/*
cd /etc/yum.repos.d/
ls | grep -v CentOS-Base_backup.zip | xargs rm
设置镜像源为阿里云
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
非阿里云ECS用户会出现 Couldn’t resolve host ‘mirrors.cloud.aliyuncs.com’ 信息,不影响使用。用户也可自行修改相关配置: eg:
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
生成缓存
yum makecache
配置 Epel 镜像
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
开始升级
安装 yum-utils 工具
yum install -y yum-utils
通过执行命令来解析 RPM 软件包
yum install -y rpmconf
rpmconf -a
全部选择默认配置
default =
什么,就选择什么
对未安装或不需要的包执行清理
package-cleanup --leaves
package-cleanup --orphans
安装 dnf
dnf
是 CentOS 8 的默认软件包管理器
yum install -y dnf
删除 yum 软件包管理器
dnf -y remove yum yum-metadata-parser
rm -rf /etc/yum
使用 dnf 更新系统
dnf upgrade -y
安装 CentOS 8 相关软件包
dnf install https://mirrors.aliyun.com/centos/8/BaseOS/x86_64/os/Packages/{centos-linux-release-8.3-1.2011.el8.noarch.rpm,centos-gpg-keys-8-2.el8.noarch.rpm,centos-linux-repos-8-2.el8.noarch.rpm}
文件路径需要通过访问 https://mirrors.aliyun.com/centos/8/BaseOS/x86_64/os/Packages/
来获取
找到 release
,gpg-keys
,repos
这三个文件的文件名替换到下载上面的 {}
里。
备份 CentOS 7 镜像的配置
zip -r -q -o /etc/yum.repos.d/CentOS-Base_backup_7.zip /etc/yum.repos.d/*
ls | grep -v CentOS-Base_backup | xargs rm
设置 CentOS 8 镜像源为阿里云
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
dnf makecache
更新 Epel 镜像
dnf -y upgrade https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm
sed -i 's|^#baseurl=https://download.fedoraproject.org/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel*
sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel*
dnf clean all
删除 CentOS 7 的旧内核
rpm -e `rpm -q kernel` --nodeps
删除有冲突的软件包
rpm -e --nodeps sysvinit-tools
开始 CentOS 8 版本升级
dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync
如果升级发现有报错,需要卸载 from package 后面的包名:
rpm -e --nodeps openssl11-libs-1:1.1.1g-1.el7.x86_64
rpm -e --nodeps python36-rpmconf-1.0.22-1.el7.noarch
再次执行升级,此步骤需要等待较长时间
dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync
为 CentOS 8 安装新内核
dnf -y install kernel-core
安装 CentOS 8 最小软件包
dnf -y groupupdate "Core" "Minimal Install"
安装完成后可以通过以下命令检查安装的 CentOS 版本
cat /etc/os-release
cat /etc/redhat-release
重启服务器
重启后如果无法连接远程服务器,请参考 博客:CentOS 8 修改网卡名称
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: