从Centos-7升级到Centos-Stream-8

如果在正式环境升级,请做好数据备份以及重要配置备份!因为升级会造一部分应用被卸载。

注意:升级前请备份好数据,升级可能会导致ssh的root用户无法登陆、网卡名称发生改变、引导丢失无法开机等问题。

1.安装epel源

yum -y install epel-release

2.更新系统至最新版本

防止升级时出现各种奇葩问题

yum -y update

3.重启系统

reboot

4.安装rpmconf和yum-utils

yum -y install rpmconf yum-utils

5.执行rpmconf

如果出现一些提示,请输入Y和回车继续,如果没提示继续第四步操作

rpmconf -a

6.安装dnf

yum -y install dnf

7.移除yum和yum-metadata-parser

dnf -y remove yum yum-metadata-parser

8.安装Centos-8-Stream的源和升级epel源

rpm -e --nodeps `rpm -qa|grep centos-release`

rpm -ivh --nodeps --force http://mirrors.nju.edu.cn/centos/8-stream/BaseOS/x86_64/os/Packages/centos-stream-release-8.6-1.el8.noarch.rpm

rpm -ivh --nodeps --force http://mirrors.nju.edu.cn/centos/8-stream/BaseOS/x86_64/os/Packages/centos-stream-repos-8-6.el8.noarch.rpm

rpm -ivh --nodeps --force http://mirrors.nju.edu.cn/centos/8-stream/BaseOS/x86_64/os/Packages/centos-gpg-keys-8-6.el8.noarch.rpm

dnf -y upgrade https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm

dnf clean all

9.卸载centos7的内核

rpm -e --nodeps `rpm -qa|grep -i kernel`

10.升级到Centos-8-Stream

这一步一般会报错,如果没有报错请进行下一步操作

 dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync

执行完上面的命令之后如果报下面的错,如果没报下面的错跳过这一步即可(请认真阅读错误提示!)。

请把红框里面的包名(可能有多个包,重复下面的步骤)替换到下面命令:命令:

find /var/cache/dnf/ -name *包名*

如:

find /var/cache/dnf/ -name *dracut-network-049-218.git20221019.el8.x86_64*

安装rpm包如:

rpm -ivh --nodeps --force /var/cache/dnf/baseos-055ffcb2ec25a27f/packages/dracut-network-049-218.git20221019.el8.x86_64.rpm

之后往下操作:

dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync

 

发现报错之后先卸载类似于图上from package后面的包名

rpm -e --nodeps python36-rpmconf-1.0.22-1.el7.noarch
rpm -e --nodeps sysvinit-tools-2.88-14.dsf.el7.x86_64

卸载完后再次执行升级

 dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync

11.重新安装yum、rpmconf和yum-utils

rm -rf /etc/yum
dnf clean all
dnf -y install yum rpmconf yum-utils

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.安装基础环境

dnf -y groupinstall "Minimal Install"

14.执行rpmconf

会出现如下界面,一直输入Y和回车即可

rpmconf -a

15.防止迁移完成后找不到引导

执行下面的命令,防止迁移完成后找不到引导,重启开不了机,根据以下命令选择分区表类型,根据分区表类型执行相关命令

查看分区表类型

fdisk -l

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.重启机器

reboot

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/256404.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

架构师-2.数据权限

数据权限,实现指定用户可以操作指定范围的数据。例如说,针对员工信息的数据权限: 上述的这个示例,使用硬编码是可以实现的,并且也非常简单。但是,在业务快速迭代的过程中,类似这种数据需求会越来越多,如果全部采用硬编码的方式,无疑会给我们带来非常大的开发与维护成…

【Java数据结构 -- List和ArrayList与顺序表】

List和ArrayList与顺序表 一. List1.1 List介绍2.1 常见接口介绍3.1 List的使用 二. ArrayList与顺序表1.线性表2.顺序表2.1 接口的实现 3.ArrayList简介4. ArrayList使用4.1 ArrayList的构造 4.2 ArrayList常见操作4.3 ArrayList的遍历4.4 ArrayList的扩容机制5. ArrayList的具…

Http协议与Tomcat

HTTP协议 HTTP协议(HyperText Transfer Protocol)即超文本传输协议 ,是TCP/IC网络体系结构应用层的一个客户端-服务端协议,是所有客户端,服务端数据传输的基石(数据传输规则) 特点 ⭐基于TCP协…

验证码的多种生成策略

&#x1f60a; 作者&#xff1a; 瓶盖子io &#x1f496; 主页&#xff1a; 瓶盖子io-CSDN博客 第一种 a.导入依赖 <dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.10</ver…

冷却液泵现场案例:施耐德EOCR-FMZ2在冷却液泵设备上的使用

热水泵和冷却液泵是现代工业及建筑设施中不可或缺的部件。它们分别在热能传递和冷却系统中扮演着重要角色。本文将探讨施耐德EOCR-FMZ2在冷却液泵设备上的应用案例&#xff0c;展示其如何提高系统效率和安全性。 冷却液泵通常用于工业生产中&#xff0c;用来维持机械设备在适宜…

关于最长上升子序列的动态规划问题的优化算法(二分搜索)

最长递增子序列 暴力解法&#xff1a; 思路&#xff1a;使用动态规划的思想&#xff0c;判断当前元素之前的所有元素&#xff0c;如果比当前元素小&#xff0c;则修改当前元素的最长递增子序列&#xff08;需判断是否需要修改&#xff09;。 时间复杂度&#xff1a;O(n^2) im…

“分割“安卓用户,对标iOS,鸿蒙崛起~

近期关于**“华为于明年推出不兼容安卓的鸿蒙版本”**的消息传出&#xff0c;引起了业界的热议关注。自从2019年8月&#xff0c;美国制裁下&#xff0c;华为不再能够获得谷歌安卓操作系统相关付费服务&#xff0c;如此情况下&#xff0c;华为“备胎”鸿蒙操作系统一夜转正。 华…

虚拟化之指令的Trap和仿真

有时,虚拟机监控程序需要在虚拟机(VM)中模拟操作。例如,VM内的软件可能尝试配置与功耗管理或缓存一致性相关的低级处理器控件。通常,您不希望将VM直接访问这些控件,因为它们可能被用于突破隔离,或影响系统中的其他VM。 trap在执行给定操作(例如读取寄存器)时引发异常…

UEC++ 探索虚幻5笔记 day11

虚幻5.2.1探索 项目目录探索 C工程一定不能是中文路径&#xff0c;中文项目名&#xff0c;最好全部不要用中文&#xff0c;蓝图项目可以是中文浅浅创建一个空项目&#xff0c;讲解一下之前UE4没有讲解的项目目录文件的分布组成 .vs&#xff1a;文件夹一般是项目编译缓存文件夹…

探索SpringBoot发展历程

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; 循序渐进学SpringBoot ✨特色专栏&…

matplot函数调整子图大小测试

调整subplot()函数的子图间距 import numpy as np import matplotlib.pyplot as plt for i in range(1,7):figsize 10,6plt.subplot(2,3,i)plt.text(0.5,0.5,str((2,3,i)),fontsize18,hacenter) **plt.subplots_adjust(hspace3.3, wspace0.3)** plt.show()import numpy as np…

AV1编码技术分享指南 ‍

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…