如果在正式环境升级,请做好数据备份以及重要配置备份!因为升级会造成一部分应用被卸载。CentOS 8已在 2021 年12月31日结束支持,请迁移至其他发行版,具体可以参考本人从Centos-7迁移到RockyLinux-8、AlmaLinux-8的教程。
交.流:831037125(CentOS、RockyLinux、AlmaLinux升级.交.流)
By------云南乐嘟信息技术有限公司------
企.业.淘.宝.店:专业国产化信创软件服务-淘宝.喜.欢.的.可.以.支.持.一.下
注意:升级前请备份好数据,升级可能会导致ssh的root用户无法登陆、网卡名称发生改变、引导丢失无法开机等问题。
1.安装epel源 - yum -y install epel-release
复制代码
2.更新系统至最新版本,防止升级时出现各种奇葩问题
3.重启系统
4.安装rpmconf和yum-utils - yum -y install rpmconf yum-utils
复制代码
5.执行rpmconf ,如果出现一些提示,请输入Y和回车继续,如果没提示继续第四步操作
6.安装dnf
7.移除yum和yum-metadata-parser - dnf -y remove yum yum-metadata-parser
复制代码
8.安装Centos8的源和升级epel源
- rpm -e --nodeps `rpm -qa|grep centos-`
- rpm -ivh --nodeps --force https://mirrors.tuna.tsinghua.edu.cn/centos-vault/8.5.2111/BaseOS/x86_64/os/Packages/centos-linux-repos-8-3.el8.noarch.rpm
- rpm -ivh --nodeps --force https://mirrors.tuna.tsinghua.edu.cn/centos-vault/8.5.2111/BaseOS/x86_64/os/Packages/centos-linux-release-8.5-1.2111.el8.noarch.rpm
- rpm -ivh --nodeps --force https://mirrors.tuna.tsinghua.edu.cn/centos-vault/8.5.2111/BaseOS/x86_64/os/Packages/dracut-network-049-191.git20210920.el8.x86_64.rpm
- rpm -ivh --nodeps --force https://mirrors.tuna.tsinghua.edu.cn/centos-vault/8.5.2111/BaseOS/x86_64/os/Packages/centos-gpg-keys-8-3.el8.noarch.rpm
- dnf -y upgrade https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
- dnf clean all
复制代码
9.卸载centos7的内核 - rpm -e --nodeps `rpm -qa|grep -i kernel`
复制代码
10.升级到centos8,这一步一般会报错,如果没有报错请进行第10步操作
替换Centos源为过期源 - minorver=8.5.2111
- sudo sed -e "s|^mirrorlist=|#mirrorlist=|g" \
- -e "s|^#baseurl=http://mirror.centos.org/\$contentdir/\$releasever|baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/$minorver|g" \
- -i.bak \
- /etc/yum.repos.d/CentOS-*.repo
复制代码
开始升级 - dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync
复制代码
执行完上面的命令之后如果报下面的错
请把红框里面的包名(可能有多个包,重复下面的步骤)替换到下面命令:
命令: - rpm -ivh --nodeps --force https://mirrors.tuna.tsinghua.edu.cn/centos-vault/8.5.2111/AppStream/x86_64/os/Packages/包名.rpm
复制代码
如: - rpm -ivh --nodeps --force https://mirrors.tuna.tsinghua.edu.cn/centos-vault/8.5.2111/AppStream/x86_64/os/Packages/flatpak-1.8.5-4.el8_4.x86_64.rpm
复制代码
之后往下操作: - dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync
复制代码
发现报错之后先卸载类似于图上from package后面的包名 - rpm -e --nodeps sysvinit-tools-2.88-14.dsf.el7.x86_64
- rpm -e --nodeps python-inotify-0.9.4-4.el7.noarch
- rpm -e --nodeps adwaita-qt5-1.0-1.el7.x86_64
- rpm -e --nodeps pycairo-1.8.10-8.el7.x86_64
复制代码
卸载完后再次执行升级 - dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync
复制代码
11.执行rpmconf,会出现如下界面,一直输入Y和回车即可
12.安装内核(防止有些时候没安装内核开机失败,开机失败的可以用Centos8 ISO镜像救援模式安装内核) - dnf -y install kernel kernel-core
- dnf -y install shim grub2-tools-extra grubby grub2-common grub2-pc
- dnf -y install grub2-tools-efi grub2-tools-minimal grub2-efi grub2-pc-modules grub2-tools
复制代码
13.这一步选择性执行,执行这一步能解决安装yum报错。
14.安装基础环境 - dnf -y groupinstall "Minimal Install"
复制代码
15.执行下面的命令,防止迁移完成后找不到引导,重启开不了机,根据以下命令选择分区表类型,根据分区表类型执行相关命令
查看分区表类型
GPT分区表
MBR分区表
GPT分区(UFFI的BIOS) - export grubcfg=`find /boot/ -name centos`
- grub2-mkconfig -o $grubcfg/grub.cfg
复制代码
添加UEFI启动项(注意/dev/nvme0n1为efi分区所在磁盘,需根据实际情况自行选择磁盘路径,具体参考上图,-p后面是分区位置(默认为1),efi分区为/dev/nvme0n1p1值就是1,efi分区为/dev/nvme0n1p2值就是2) - efibootmgr -c -w -L "CentOS" -d /dev/nvme0n1 -p 1 -l \\EFI\\Boot\\bootx64.efi
复制代码
MBR分区(传统的BIOS、dos、msdos)(注意/dev/nvme0n1需根据实际情况自行选择磁盘路径,具体参考上图) - grub2-mkconfig -o /boot/grub2/grub.cfg
- grub2-install /dev/nvme0n1
复制代码
16.重启机器
|