CentOS 7 升级到 CentOS 8

友情提醒

升级前记得备份服务器上的资料,升级到 Centos 8 后不久(大概几个小时)就被人挂了马

CentOS 7 升级到 CentOS 8

,反正是测试机,也懒得去找问题出在哪里,直接重装了系统:smile:,云服务器建议大家尽量通过官方提供的镜像升级,方便快捷,自己手动升级会碰到一些奇奇怪怪的问题需要解决

准备工作

备份

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

全部选择默认配置

CentOS 7 升级到 CentOS 8
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/ 来获取

CentOS 7 升级到 CentOS 8

找到 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 协议》,转载必须注明作者和本文链接
www.haowuliaoa.com
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!