当前位置: 首页 > news >正文

Centos 6.5 升级到Centos7指导手册

一、背景

某业务系统因建设较早,使用的OS比较过时,还是centos6.5的系统,因国产化需要,需将该系统升级到BClinux 8.6,但官方显示不支持centos 6.x升级到8,需先将centos6.5升级到centos7的最新版,即centos7.9后再升级。后结合相关实践,Centos6.5只支持升级到最高Centos7.2版本(1511版本),之后再升级到7.9;因升级跨大版本升级,且Redhat官网 6.5YUM源已过期不可用,综上,特整理记录该升级过程,以作后期参考指导,不妥之处,感谢批评指正。注意:升级到 RHEL 8 分为两个阶段。首先需要将系统从 RHEL 6 升级到 RHEL 7,然后再升级到 RHEL 8。升级前对重要数据备份,或对虚拟机做好快照,甚至整机备份。

在这里插入图片描述
RHEL 6 原位升级到 RHEL 8 需要以下主要步骤:

1、为 RHEL 6 系统进行准备,将 RHEL 6 系统更新到 RHEL 6.10 的最新版本。
2、对 RHEL 6 系统进行升级前评估,并解决报告的问题。
3、执行到 RHEL 7.9 的原位升级。
4、准备 RHEL 7 系统以升级到 RHEL 8,并将 RHEL 7 系统更新至 RHEL 7.9 的最新版本。
5、对 RHEL 7 系统进行升级前评估,并解决在这个阶段中发现的问题。
6、执行到 RHEL 8 的原位升级。
7、检查升级的系统状态。


❥ 资源链接:从 RHEL 6 升级至 RHEL 8、wiki、Release Notes、kernel镜像站、RHEL 6 系统升级前准备

二、6.5升级7.2前准备


1)升级前版本确认:cat /etc/redhat-release

升级步骤: Centos6.X —>Centos7.2 ----> Centos7.9

注意:7.2是支持升级的最高版本,升级其余版本将会出现Downloading failed: invalid data in .treeinfo: No section:'checksums’的错误提示;

解决单独分区挂载的/usr目录问题

mkdir /mnt/usr/
mkdir /mnt/root
mount --bind / /mnt/root
mount --bind /usr /mnt/usr
rsync -aHAXv /mnt/usr/* /mnt/root/usr/

删除/etc/fstab相关开机自动挂载配置项后,reboot重启

2)更换YUM源:

由于 CentOS 6 已停产,我们需要将 yum 指向 vault 仓库,执行以下命令:

#备份原有的
cd /etc/yum.repos.d/
mkdir repo6_backup
mv *.repo ./repo6_backup
#下载vault 仓库的repo
curl https://www.getpagespeed.com/files/centos6-eol.repo --output /etc/yum.repos.d/CentOS-Base.repo
或
wget  https://www.getpagespeed.com/files/centos6-eol.repo -O /etc/yum.repos.d/CentOS-Base.repo
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
#因官方源不可用,故需修改配置更新源到其他镜像站
vi /etc/yum.repos.d/upgrade.repo  //如下所示
[upgrade]
name=upgrade
baseurl=https://buildlogs.centos.org/centos/6/upg/x86_64/
enable=1
gpgcheck=0#安装升级助手
yum erase openscap -y   #由于centos 6.5自带的安全助手版本较高,卸载了装个更老的,更多参见http://www.open-scap.org/,Security Content Automation Protocol(SCAP)
yum install https://buildlogs.centos.org/centos/6/upg/x86_64/Packages/openscap-1.0.8-1.0.1.el6.centos.x86_64.rpm
yum install redhat-upgrade-tool preupgrade-assistant-contents -y  #或者尝试以下链接
yum install ftp://ftp.pbone.net/mirror/ftp.scientificlinux.org/linux/scientific/6.5/x86_64/updates/fastbugs/openscap-1.0.8-1.el6_5.x86_64.rpm  -y   
yum install https://buildlogs.centos.org/centos/6/upg/x86_64/Packages/openscap-1.0.8-1.0.1.el6.centos.x86_64.rpm -y#如果提示:No package redhat-upgrade-tool available,执行
yum install https://buildlogs.centos.org/centos/6/upg/x86_64/Packages/preupgrade-assistant-1.0.2-33.0.3.el6.centos.x86_64.rpm -y
yum install https://buildlogs.centos.org/centos/6/upg/x86_64/Packages/preupgrade-assistant-contents-0.5.13-1.0.5.el6.centos.noarch.rpm -y
yum install https://buildlogs.centos.org/centos/6/upg/x86_64/Packages/preupgrade-assistant-ui-1.0.2-33.0.3.el6.centos.x86_64.rpm -y
yum install https://buildlogs.centos.org/centos/6/upg/x86_64/Packages/redhat-upgrade-tool-0.7.22-3.el6.centos.noarch.rpm -y

3)升级助力检测升级环境确认正常后update

#升级前检测,该过程会看到哪些包将受到此升级的影响
preupg -l    //该命令会耗费几分钟到几十分钟时间
preupg -s CentOS6_7  //运行模拟升级工具,不过真的升级,相当于升级检测,升级检测通过后,在线下载centos7镜像,或本地上传后使用本地镜像也可以
Preupg tool doesn’t do the actual upgrade.
Please ensure you have backed up your system and/or data in the event of a failed upgrade
that would require a full re-install of the system from installation media.
Do you want to continue? y/n
y #此处输入y
Gathering logs used by preupgrade assistant:
All installed packages : 01/11 …finished (time 00:00s)
All changed files : 02/11 …finished (time 02:44s)
Changed config files : 03/11 …finished (time 00:00s)
All users : 04/11 …finished (time 00:00s)
All groups : 05/11 …finished (time 00:00s)
Service statuses : 06/11 …finished (time 00:00s)
All installed files : 07/11 …finished (time 00:02s)
…
Tarball with results is stored here /root/preupgrade-results/preupg_results-210324171443.tar.gz .
The latest assessment is stored in directory /root/preupgrade .
Summary information:
We found some critical issues. In-place upgrade is not advised.
Read the file /root/preupgrade/result.html for more details.
Upload results to UI by command:
e.g. preupg -u http://127.0.0.1:8099/submit/ -r /root/preupgrade-results/preupg_results-*.tar.gz .#根据模拟升级的检测结果进行确认和评估,存在EXTREME错误则无法进行下一步升级操作
preupg --riskcheck --verbose#导入RPM签名证书,下面任选其一
rpm --import https://mirrors.ustc.edu.cn/epel/RPM-GPG-KEY-EPEL-7
rpm --import http://mirror.centos.org/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7
rpm --import http://vault.centos.org/centos/7.0.1406/os/x86_64/RPM-GPG-KEY-CentOS-7
#在线update,一般不满足条件,任选其一执行,建议使用清华大学的源:
centos-upgrade-tool-cli --network 7 --instrepo=http://mirror.centos.org/centos/7/os/x86_64
centos-upgrade-tool-cli --network 7 --instrepo=https://mirrors.ustc.edu.cn/centos/7/os/x86_64  #或
centos-upgrade-tool-cli --network 7 --force --instrepo=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.2.1511/os/x86_64/
centos-upgrade-tool-cli --network 7 --instrepo=http://vault.centos.org/centos/7.0.1406/os/x86_64/
…
Continue with the upgrade [Y/N]? y
…
rpm install 100% [============================================================================================]
setting up system for upgrade
Finished. Reboot to start upgrade.#离线update
wget --no-check-certificate https://archive.kernel.org/centos-vault/7.2.1511/isos/x86_64/CentOS-7-x86_64-Everything-1511.iso  #可以用CentOS-7-x86_64-DVD-1511.iso ,只有4G
wget --no-check-certificate https://vault.centos.org/7.2.1511/isos/x86_64/CentOS-7-x86_64-Everything-1511.iso(7.2G)
md5sum     //CentOS-7-x86_64-Everything-1511.iso
dba29c59117400b111633be2bf2aaf0e  CentOS-7-x86_64-Everything-1511.iso
mout -o -loop -t iso9660 /home/CentOS-7-x86_64-Everything-1511.iso /mnt/cdrom
centos-upgrade-tool-cli --iso=/home/CentOS-7-x86_64-Everything-1511.iso  #或
centos-upgrade-tool-cli --device=/dev/cdrom   //输出类似如下:
……
setting up repos...
.treeinfo                                                                                                | 1.1 kB     00:00
getting boot p_w_picpaths...
vmlinuz-redhat-upgrade-tool                                                                              | 4.7 MB     01:38
initramfs-redhat-upgrade-tool.img                                                                        |  32 MB     14:45
setting up update...
finding updates 100% [=====================================================================================================]
(1/272): acl-2.2.51-12.el7.x86_64.rpm                                                                    |  81 kB     00:00
(2/272): attr-2.4.46-12.el7.x86_64.rpm                                                                   |  66 kB     00:00
(3/272): audit-2.3.3-4.el7.x86_64.rpm                                                                    | 223 kB     00:01
(4/272): audit-libs-2.3.3-4.el7.x86_64.rpm                                                               |  77 kB     00:00
(5/272): authconfig-6.2.8-8.el7.x86_64.rpm                                                               | 399 kB     00:08
(6/272): basesystem-10.0-7.el7.centos.noarch.rpm                                                         | 5.0 kB     00:00
(7/272): bash-4.2.45-5.el7.x86_64.rpm                                                                    | 1.0 MB     00:17
(270/272): yum-plugin-fastestmirror-1.1.31-24.el7.noarch.rpm                                             |  28 kB     00:03
(271/272): zlib-1.2.7-13.el7.x86_64.rpm                                                                  |  89 kB     00:06
(272/272): zlib-devel-1.2.7-13.el7.x86_64.rpm                                                            |  49 kB     00:01setting up system for upgrade
Finished. Reboot to start upgrade.#或者直接执行:
cd /etc/yum.repos.d
wget http://mirrors.aliyun.com/repo/Centos-7.repo
wget https://mirrors.aliyun.com/repo/epel-7.repo
或
mount -t iso9660 -o loop CentOS-7-x86_64-DVD-1511.iso /mnt/iso #或者
mount -t auto /dev/cdrom /mnt/iso/
vi /etc/yum.repos.d/centos7.repo  //如下[centos7]
name=CentOS 7
baseurl=file:///mnt/iso
enabled=1
gpgcheck=0yum clean all
yum makecache
yum update  #升级所有包同时也升级软件和系统内核#更新lib库
ln -s /usr/lib64/libsasl2.so.3.0.0 /usr/lib64/libsasl2.so.2
ln -s /usr/lib64/libpcre.so.1.2.0 /usr/lib64/libpcre.so.0#升级完成后重启。重启后,将使用 redhat-upgrade-tool 内核启动完成CentOS 6升级
reboot   //若是提示The requested URL returned error: 404 Not Found等错误,基本上说明当前系统不支持直接升级,恢复后重装替换吧#验证
cat /etc/centos-release#更新软件版本
yum upgraderpm -qa | grep el6  #查看系统上残留的软件包,尽量清理掉

:当preupg命令在没有其他选项的情况下运行时,它会在目录中生成result.html和preupg_results-*.tar.gz文件/root/preupgrade/;评估结果保存在/root/preupgrade-results/preupg_results-190130083547.tar.gz,进行系统升级前评估,用图形界面打开查看评估报告,解决对应问题。另,/var/log/upgrade.log文件列出了升级阶段发现的问题。利用yum check dependencies命令检查依赖错误;

在这里插入图片描述

4)重启后配置调整共享库:相关经验表明升级后会出现共享库导致ssh,命令执行登异常问题

三、7.2升级到7.9过程

#yum配置参考上文,这里如果想先升级到6.10,配置本地6.10的YUM
wget https://vault.centos.org/6.10/isos/x86_64/CentOS-6.10-x86_64-LiveDVD.iso
mount /dev/sr0 /mnt/
cat /etc/yum.repos.d/dev.repo[dev]
name=dev
baseurl=file:///mnt
gpgcheck=0
enabled=1yum clean all
yum makecache
yum update -y   #就地从centos6.5升级到6。10#下载7.9安装包
wget https://mirrors.ustc.edu.cn/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso#本地挂载
mount /dev/sr0 /centos10/
#配置7.10本地yum源
cat /etc/yum.repos.d/centos10.repo[centos10]
name=centos10
baseurl=file:///centos10/
gpgcheck=0
#6.9升级到7.10,参考上文先评估
yum install preupgrade-assistant preupgrade-assistant-ui preupgrade-assistant-el6toel7 redhat-upgrade-tool
preupg -l  //无报错后再执行升级
redhat-upgrade-tool --device /mnt/

四、过程报错处理

4.1、安装redhat-upgrade-tool时报错File contains no section headers

在这里插入图片描述
这是因为repo配置文件错误,缺少YUM repo头信息;解决方案:将缺少的yum头信息添加上 [centos6-upgrade],如下所示:

[centos6-upgrade]
name=CentOS-$releasever - Upgrade Tool
baseurl=http://dev.centos.org/centos/6/upg/x86_64/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

4.2、安装redhat-upgrade-tool时报错Couldn’t resolve host dev.centos.org

在这里插入图片描述
centos官网已经停止centos6相关服务,网站dev.centos.org已经停止服务。这里我们用离线方式手动安装redhat-upgrade-tool相关的rpm包。或换成https://buildlogs.centos.org/centos/6/upg/x86_64/

4.3、模拟升级时报错:无法导入openscap相关文件

在这里插入图片描述
上图报错是因为openscap版本太高,需要降级;解决方案:卸载当前安装的openscap版本,下载并安装openscap-1.0.8-1.0.1.el6.centos.x86_64.rpm,执行:

rpm -qa |grep openscap  //验证当前版本
openscap-1.2.13-2.el6.x86_64
rpm -e --nodeps openscap-1.2.13-2.el6.x86_64
wget  https://buildlogs.centos.org/centos/6/upg/x86_64/Packages/openscap-1.0.8-1.0.1.el6.centos.x86_64.rpm
yum localinstall openscap-1.0.8-1.0.1.el6.centos.x86_64.rpm -y  #或执行
yum install https://buildlogs.centos.org/centos/6/upg/x86_64/Packages/openscap-1.0.8-1.0.1.el6.centos.x86_64.rpm

4.4、模拟升级的检测结果报错:X11的EXTREME问题

preupg --riskcheck --verbose   //报错如下
……
INPLACERISK: EXTREME:You have GMOME Desktop Environment session as an option in your X11 session manager. CHOME Desktop Environment as a part of the yum group’Desktop’undervent serious redesign in its user interface as well as underlying technologies in Centos 7.
TCLACERISK: EXTREME: You have kDE Desktop Envirom ent session as an option in your X11session manager. KDE Desktop Environment as a part of the yum group’KDE Desktop’undervent a redesign in its user interface as well as underlying technologies in Centos 7.
TMPLACERISK: FXTREE:The kernel driver’ncnet32’reauired to service hardware present in vour svsten is not available in Centos 7. This suggests that your systen contains hardware that is not supported in CentOS 7 release.

这是由于centos7对X11桌面环境进行了重新设计;而centos6当前安装软件没有桌面要求,选择卸载X11桌面环境。执行:yum groupremove -y “Desktop” “X Window System”

4.5、模拟升级的检测结果存在:关于pcnet32的EXTREME问题

报错信息:

INPLACERISK: EXTREME: The kernel driver ‘pcnet32’ required to service hardware present in your system is not available in
CentOS 7. This suggests that your system contains hardware that is not supported in CentOS 7 release.

这是因某些资源采用vmware,它提供的默认网卡类型是pcnet32,el7默认没有提供pcnet32的网卡驱动。

解决方案:在vmware指定的虚拟机存储位置找到.vmx的文件,ethernet0.virtualDev = “pcnet32” 或是别的。将其修改为:
ethernet0.virtualDev = “e1000”’ (如果没有收到添加)

4.6、升级后提示库文件加载失败,报错:grep: error while loading shared libraries: libpcre.so.0: cannot open shared object file: No such file or director

ls -l /usr/lib64/libpcre.so*  //查看升级后centos7的相关库lrwxrwxrwx 1 root root 16 315 14:13 /usr/lib64/libpcre.so -> libpcre.so.1.2.0lrwxrwxrwx 1 root root 16 315 14:12 /usr/lib64/libpcre.so.1 -> libpcre.so.1.2.0-rwxr-xr-x 1 root root 398272 1120 2015 /usr/lib64/libpcre.so.1.2.0#相关实践表明,centos7中只需对libpcre.so.0做软连接指向就行,执行
ln -s /usr/lib64/libpcre.so.1.2.0 /usr/lib64/libpcre.so.0
ln -s /lib64/libpcre.so.1 /lib64/libpcre.so.0
ln -s /usr/lib64/libsasl2.so.3.0.0 /usr/lib64/libsasl2.so.2

4.7、yum update出现python问题

#挂载7的镜像mount -t iso9660 -o loop CentOS-7-x86_64-DVD-1511.iso /mnt/iso或者
mount -t auto /dev/cdrom /mnt/iso/#备份
mv yum.repos.d yum.repos.d_backup
mkdir yum.repos.d#7 YUM源
vi /etc/yum.repos.d/centos7.repo  //如下[centos7]
name=CentOS 7
baseurl=file:///mnt/iso
enabled=1
gpgcheck=0#重装python2
yum reinstall python -y

相关资源:yum FAQ

4.8、升级后无法进行ssh登录(缺失文件libsasl2.so.2)

1)本地控制台登录后,执行:journalctl -f -u sshd,可以看到报错缺失文件libsasl2.so.2,如下所示:

libsasl2.so.2: cannot open shared object file: No such file or directory

2)yum也不能使用也是因为确实libsasl2.so.2文件,这里我们也做下软连接:

##Centos 7中是有libsasl2.so.2这个库的,只不过换了名字,进入到/usr/lib64/目录下查看
cd /usr/lib64
ls libsasl2.so.* -l  //如下所示
lrwxrwxrwx. 1 root root     17 Oct 17  2016 libsasl2.so.3 -> libsasl2.so.3.0.0
-rwxr-xr-x. 1 root root 121296 Jun 10  2014 libsasl2.so.3.0.0
#做软连接到libsasl2.so.2
ln -s libsasl2.so.3 libsasl2.so.2
ls libsasl2.so.* -l  //如下所示
lrwxrwxrwx  1 root root     13 Nov 19 18:00 libsasl2.so.2 -> libsasl2.so.3
lrwxrwxrwx. 1 root root     17 Oct 17  2016 libsasl2.so.3 -> libsasl2.so.3.0.0
-rwxr-xr-x. 1 root root 121296 Jun 10  2014 libsasl2.so.3.0.0
#重启ssh
systemctl start sshd
#更新yum源
wget http://mirrors.aliyun.com/repo/Centos-7.repo
wget https://mirrors.aliyun.com/repo/epel-7.repo
yum clean all
yum makecache

4.9、grep命令报错,缺失libpcre.so.0文件

grep   //报错如下
grep: error while loading shared libraries: libpcre.so.0: cannot open shared object file: No such file or directory
#方法同4.6,加软连接
cd /usr/lib64
ls libpcre.so*   //显示如下
libpcre.so  libpcre.so.1  libpcre.so.1.2.0
ln -s libpcre.so.1 libpcre.so.0

4.10、网卡启动失败,但是ip地址获取正常,报错:Failed to start LSB: Bring up/down networking.

造成网卡不能使用的原因是,系统后MAC地址已经更改但是在系统内部的配置文件还没有更,这就导致了真实的MAC地址与配置文件中的MAC地址不一致。Failed to start LSB: Bring up/down networking 的报错就是因为升级后真实的MAC地址与配置文件的MAC地址不相符造成的,可采用如下3种办法调试恢复,最后不要忘了重启系统。

第一种办法直接关闭NetworManager,执行:systemctl stop NetworkManager ,centos7系统没启动这个服务

第二种办法修改配置文件

/etc/udev/rules.d/70-persistent-net.rules只要70-persistent-net.rules配置文件中的MAC地址与ifcfg-xxx的MAC地址相同就可以了。但是我打开70-persistent-net.rules配置文件发现配置文件全是注释,然后就直接在ifcfg-xxx文件中添加了HWADDR=MAC 对应的MAC地址,但修改完配置文件后发现还是提示错误。vim /etc/udev/rules.d/70-persistent-net.rules 网卡中添加了也不好使

第三种办法:使用这一条命令将清除协议地址,尽然还是不管用,无奈之下重启系统,发现重启后网络服务恢复正常。

ip addr flush dev ens33/eth0 这个方法是可以成功解决问题的

4.11、YUM清理卸载openldap导致libldap-2.4.so.2: cannot open shared object file

注意:当卸载掉openldap后,出现了yum、sshd奔溃的问题;

wget http://ftp.pbone.net/mirror/ftp.scientificlinux.org/linux/scientific/6.4/x86_64/updates/fastbugs/openldap-2.4.23-32.el6_4.1.x86_64.rpmrpm -ivh --force --nodeps openldap-2.4.23-32.el6_4.1.x86_64.rpm

五、Centos 7.9升级到BCLinux 8.6

六、附录:其他

6.1、CentOS 8中执行命令报错:Failed to set locale, defaulting to C.UTF-8

原因:

1、没有安装相应的语言包。
2、没有设置正确的语言环境。

解决方法1:

安装语言包,设置语言环境需使用命令 locale
locale -a #查看目前系统已安装的语言包
yum install glibc-langpack-zh #安装中文语言包
dnf install glibc-langpack-en #安装英文语言包,或
dnf install langpacks-en glibc-all-langpacks -y #安装英文语言包

解决方法2:

设置正确的语言环境
echo “export LC_ALL=en_US.UTF-8” >> /etc/profile
source /etc/profile #或执行:
locale -gen en_US.UTF-8

6.2、内核版本的定义:

版本性质:主分支ml(mainline),稳定版(stable),长期维护版lt(longterm)
版本命名格式为 “A.B.C”:

数字 A 是内核版本号:版本号只有在代码和内核的概念有重大改变的时候才会改变,历史上有两次变化:
第一次是1994年的 1.0 版,第二次是1996年的 2.0 版,第三次是2011年的 3.0 版发布,但这次在内核的概念上并没有发生大的变化
数字 B 是内核主版本号:主版本号根据传统的奇-偶系统版本编号来分配:奇数为开发版,偶数为稳定版
数字 C 是内核次版本号:次版本号是无论在内核增加安全补丁、修复bug、实现新的特性或者驱动时都会改变

#内核升级#yum源
wget http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm  #Centos 6 YUM源:
wget http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm   #Centos 7 YUM源:
rpm -import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
#查看可用的内核
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
#安装最新主线稳定版
yum -y --enablerepo=elrepo-kernel install kernel-ml#方式2:直接rpm安装
wget https://elrepo.org/linux/kernel/el7/x86_64/RPMS/kernel-lt-4.4.185-1.el7.elrepo.x86_64.rpm
rpm -ivh kernel-lt-4.4.185-1.el7.elrepo.x86_64.rpm#方式3:编译安装#升级完成,修改grub内核启动顺序,内核升级完毕后,目前内核还是默认的版本,如果此时直接执行reboot命令,重启后使用的内核版本还是默认的3.10,不会使用新的5.2.2
cat /boot/grub2/grub.cfg | grep menuentry   //查看当前内核数
awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg   //查看默认启动顺序
#在grub.conf文件中决定开机使用哪个内核版本做启动的参数是default,默认值为0,代表从最新的内核启动。代表启动的内核版本从上往下依次是0、1、2等,修改新内核的启动顺序为0:
vim /etc/default/grubGRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=0    #参数default更改为0即可
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
GRUB_DISABLE_RECOVERY="true"#重新生成内核配置
grub2-mkconfig -o /boot/grub2/grub.cfg
#或者
grub2-set-default ‘CentOS Linux (3.10.0-123.9.3.el7.x86_64) 7 (Core)#验证
grub2-editenv list
#CentOS 8 系统更改内核启动顺序与centos 7有了一些变化
grubby --default-kernel  //查看默认启动内核
grubby --info=ALL   //查看所有内核
rubby --set-default /boot/vmlinuz-4.18.0-80.11.2.el8_0.x86_64   //cenots8设置需要设置的启动的默认的内核#对于ubuntu
vim /etc/default/grub  #将GRUB_DEFAULT=0 修改为
GRUB_DEFAULT=“Advanced options for Ubuntu>Ubuntu, with Linux 3.13.0-166-generic”#更新修改后的grub
update-grub#完成后,重启
reboot

相关文章:

Centos 6.5 升级到Centos7指导手册

一、背景 某业务系统因建设较早,使用的OS比较过时,还是centos6.5的系统,因国产化需要,需将该系统升级到BClinux 8.6,但官方显示不支持centos 6.x升级到8,需先将centos6.5升级到centos7的最新版&#xff0c…...

详解python中的映射类型---字典

概述 映射类型是“键-值”数据项的组合,每个元素是一个键值对,即元素是(key,value),元素之间是无序的。键值对(key,value)是一种二元关系,源于属性和值的映射…...

gdal求矢量图形的形心

gdal求矢量图形的形心 #include "gdal_priv.h" #include "ogrsf_frmts.h"int main() {OGRRegisterAll();OGRPolygon* square_1 new OGRPolygon();OGRLinearRing* ring_1 new OGRLinearRing();// 添加 square_1 的点ring_1->addPoint(0, 0);ring_1-&g…...

<深度学习基础> Batch Normalization

Batch Normalization批归一化 BN优点 减少了人为选择参数。在某些情况下可以取消dropout和L2正则项参数,或者采取更小的L2正则项约束参数;减少了对学习率的要求。现在我们可以使用初始很大的学习率或者选择了较小的学习率,算法也能够快速训…...

Ubuntu yolov5 环境配置

查看Ubuntu版本 $ cat /proc/version Linux version 5.4.0-150-generic (builddbos03-amd64-012) (gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)) #167~18.04.1-Ubuntu SMP Wed May 24 00:51:42 UTC 2023虚拟机磁盘扩容 因为在环境搭建过程中遇到了磁盘空间不足的问题&a…...

【自执行闭包JS逆向】某网站登录MD5加密分析

文章目录 一、写在前面二、抓包分析三、加密函数分析 一、写在前面 最近工作比较忙,不过还是在督促自己利用有限的时间学习更新一些技术文章。互联网这个行业大家目前也都知道是非常内卷的,所有大家在工作之余养成良好的自主学习习惯是非常好的&#xff…...

Stable Diffuse 之 安装文件夹、以及操作界面 UI 、Prompt相关说明

Stable Diffuse 之 安装文件夹、以及操作界面 UI 、Prompt相关说明 目录 Stable Diffuse 之 安装文件夹、以及操作界面 UI 、Prompt相关说明 一、简单介绍 二、安装文件相关说明 三、界面的简单说明 四、prompt 的一些语法简单说明 1、Prompt :正向提示词 &am…...

【Linux】- 一文秒懂shell编程

shell编程 1.1 Shell 是什么1.2 Shell 脚本的执行方式1.3 编写第一个 Shell 脚本2.1 Shell 的变量2.2 shell 变量的定义2.3 设置环境变量3.1 位置参数变量3.2 预定义变量4.1 运算符4.2 条件判断5.1 流程控制5.2 case 语句5.3 for 循环5.4 while 循环5.5 read基本语法6.1函数6.2…...

CentOS下多网卡绑定多IP段时导致只有一个会通的问题解决

CentOS下多网卡绑定多IP段时导致只有一个会通的问题解决 虚拟机配置多个网络地址,结果同时只能有一个ip是通的, 原因:Linux默认开启了反向路由检查导致的,比如说外面访问eth0的网卡,而网关在eth1上,又或者从…...

关于实现 Vue 动态数据显示,比如数字 0 或 1 怎么显示为 男 或 女等等的动态显示实现方法

具体 Vue 代码演示&#xff1a; test.vue 文件演示&#xff1a; <template> <!-- 方法一 --> <div>{{ test.data 0 ? 男 : 女}}</div><!-- 方法二 --> <div>{{ test.data 0 ? 男 : }}{{ test.data 1 ? 女 : }}{{ test.d…...

mac制作ssl证书|生成自签名证书,nodejs+express在mac上搭建https+wss(websocket)服务器

注意 mac 自带 openssl 所以没必要像 windows 一样先安装 openssl&#xff0c;直接生成即可 生成 ssl/自签名 证书 生成 key # 生成rsa私钥&#xff0c;des3算法&#xff0c;server_ssl.key是秘钥文件名 1024位强度 openssl genrsa -des3 -out server_ssl.key 1024让输入两…...

Unix System V BSD POSIX 究竟是什么?

学习Linux系统,很多同学对这些单词概念很模糊、一脸懵逼! 黄老师觉得,了解了历史,才会真正明白这些单词的含义,坐稳、黄老师发车了!!! 首先介绍一下什么是Unix? UNIX(非复用信息和计算机服务,英语:Uniplexed Information and Computing Service,UnICS)取“UNI…...

数据集学习笔记(六):目标检测和图像分割标注软件介绍和使用,并转换成YOLO系列可使用的数据集格式

文章目录 一、目标检测1.1 labelImg1.2 介绍1.3 安装1.4 使用1.5 转换1.6 验证 二、图像分割2.1 labelme2.2 介绍2.3 安装2.4 使用2.5 转换2.6 验证 一、目标检测 1.1 labelImg 1.2 介绍 labelImg是一个开源的图像标注工具&#xff0c;用于创建图像标注数据集。它提供了一个…...

【高阶数据结构】红黑树 {概念及性质;红黑树的结构;红黑树的实现;红黑树插入操作详细解释;红黑树的验证}

红黑树 一、红黑树的概念 红黑树&#xff08;Red Black Tree&#xff09; 是一种自平衡二叉查找树&#xff0c;在每个结点上增加一个存储位表示结点的颜色&#xff0c;可以是Red或Black。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制&#xff0c;红黑树确保没有…...

获取对象占用内存

添加依赖 <dependency><groupId>org.apache.lucene</groupId><artifactId>lucene-core</artifactId><version>4.0.0</version> </dependency>添加vm启动参数 --add-opens java.base/java.langALL-UNNAMED --add-opens java.ba…...

mysql UUID 作为主键的问题

UUID 在MySQL中&#xff0c;可以使用UUID()函数来生成一个新的UUID值。该函数的返回值是一个字符串类型&#xff0c;表示一个32位的十六进制数字&#xff0c;其中包含4个连字符“-”&#xff0c;例如&#xff1a;“6ccd780c-baba-1026-9564-0040f4311e29”。 varchar(32) 32*4…...

2023高教社杯全国大学生数学建模竞赛选题建议

如下为C君的2023高教社杯全国大学生数学建模竞赛&#xff08;国赛&#xff09;选题建议&#xff0c; 提示&#xff1a;DS C君认为的难度&#xff1a;C<B<A&#xff0c;开放度&#xff1a;B<A<C 。 D、E题推荐选E题&#xff0c;后续会直接更新E论文和思路&#xf…...

分类预测 | MATLAB实现GRNN广义回归神经网络多特征分类预测

分类预测 | MATLAB实现GRNN广义回归神经网络多特征分类预测 目录 分类预测 | MATLAB实现GRNN广义回归神经网络多特征分类预测分类效果基本介绍模型描述预测过程程序设计参考资料分类效果 基本介绍 MATLAB实现GRNN广义回归神经网络多特...

低功耗窗帘电机解决方案成功应用并通过 Matter 1.1 认证

Nordic Semiconductor官方宣布与HooRii Tech&#xff08;和众科技&#xff09;携手合作&#xff0c;基于 Nordic nRF52840 芯片平台打造的 HRN71模组&#xff0c;成功赋能低功耗窗帘电机品牌发布Matter产品。低功耗窗帘电机获得 Matter 1.1 认证意味着它具有与其他 Matter 认证…...

如何修复老照片?老照片修复翻新的方法

老旧照片&#xff0c;尤其是黑白照片&#xff0c;往往因为年代久远、保存方式不当等原因而出现褪色、污损、划痕等问题&#xff0c;会比较难以修复&#xff0c;就算是技术精湛的专业修复师&#xff0c;也是需要投入极大时间精力的&#xff0c;效果也是不可预料的。 修复老照片…...

MySQL:区分大小写

查看MySQL版本 show variables; 1、查看 MySQL 当前的区分大小写设置&#xff1a; SHOW VARIABLES LIKE lower_case_table_names; 或者 show Variables like %table_names 2、更改大小写敏感设置&#xff1a; 在 MySQL 5.7 中&#xff0c;更改大小写敏感设置要求修改配置文件 …...

刷题笔记19——优势洗牌和去重保持字典序

摆出无比亲密的态度&#xff0c;装模作样地与对方套近乎&#xff0c;频繁地联系对方。这都说明他们并不相信自己得到了对方的信赖&#xff0c;若是互相信赖&#xff0c;便不会依赖亲密的感觉。在外人看来&#xff0c;反而显得冷淡。 ——尼采《人性的&#xff0c;太人性的》 ha…...

星际争霸之小霸王之小蜜蜂(十一)--杀杀杀

系列文章目录 星际争霸之小霸王之小蜜蜂&#xff08;十&#xff09;--鼠道 星际争霸之小霸王之小蜜蜂&#xff08;九&#xff09;--狂鼠之灾 星际争霸之小霸王之小蜜蜂&#xff08;八&#xff09;--蓝皮鼠和大脸猫 星际争霸之小霸王之小蜜蜂&#xff08;七&#xff09;--消失…...

腾讯云免费SSL证书申请流程_每年免费50个HTTPS证书

2023腾讯云免费SSL证书申请流程&#xff0c;一个腾讯云账号可以申请50张免费SSL证书&#xff0c;免费SSL证书为DV证书&#xff0c;仅支持单一域名&#xff0c;申请腾讯云免费SSL证书3分钟即可申请成功&#xff0c;免费SSL证书品牌为TrustAsia亚洲诚信&#xff0c;腾讯云百科分享…...

C#上位机开发目录

C#上位机序列1: 多线程&#xff08;线程同步&#xff0c;事件触发&#xff0c;信号量&#xff0c;互斥锁&#xff0c;共享内存&#xff0c;消息队列&#xff09; C#上位机序列2: 同步异步(async、await) C#上位机序列3: 流程控制&#xff08;串行&#xff0c;并行&#xff0c…...

网络通信基础

IP地址 使用ip地址来描述网络上一个设备所在的位置 端口号 区分一个主机上不同的程序,一个网络程序,在启动的时候,都需要绑定一个或者多个端口号,后续的通信过程都需要依赖端口号来进行展开的,mysql默认的端口号是3306 协议 描述了网络通信传输的数据的含义,表示一种约定,…...

框架分析(10)-SQLAlchemy

框架分析&#xff08;10&#xff09;-SQLAlchemy 专栏介绍SQLAlchemy特性分析ORM支持数据库适配器事务支持查询构建器数据库连接池事务管理器数据库迁移特性总结 优缺点优点强大的对象关系映射支持多种数据库灵活的查询语言自动管理数据库连接支持事务管理易于扩展和定制 缺点学…...

Linux/Windows中根据端口号关闭进程及关闭Java进程

目录 Linux 根据端口号关闭进程 关闭Java服务进程 Windows 根据端口号关闭进程 Linux 根据端口号关闭进程 第一步&#xff1a;根据端口号查询进程PID&#xff0c;可使用如下命令 netstat -anp | grep 8088&#xff08;以8088端口号为例&#xff09; 第二步&#xff1a;…...

基于springboot实现了后台定时统计数据报表并将数据生成excel文件作为附件,然后通过邮件发送通知的功能

概述 本例子基于springboot实现了后台定时统计数据报表并将数据生成excel文件作为附件&#xff0c;然后通过邮件发送通知的功能。 详细 一、准备工作 1、首先注册两个邮箱&#xff0c;一个发送邮箱&#xff0c;一个接收邮箱。 2、发送邮箱开启IMAP/SMTP/POP3服务&#xff0c…...

opencv 提取选中区域内指定hsv颜色的水印

基于《QT 插件化图像算法研究平台》做的功能插件。提取选中区域内指定hsv颜色的水印。 《QT 插件化图像算法研究平台》有个HSV COLOR PICK功能&#xff0c;可以很直观、方便地分析出水印 的hsv颜色&#xff0c;比如, 蓝色&#xff1a;100,180,0,255,100,255。 然后利用 opencv …...

wordpress 获取模板路径/网络销售好做吗

健康检查功能不会更新后端服务器域名解析 我的后端服务器使用动态域名&#xff0c;当动态域名的地址变了之后就会不断出现以下错误&#xff1a; 2013/03/23 16:27:37 [error] 21253#0: check time out with peer: 113.96.37.249:60080 2013/03/23 16:27:37 [error] 21257#0: c…...

安阳区号码/青岛seo整站优化哪家专业

第一步 收集并下载xp的安全补丁 在微软里一个一个下载&#xff1f;不但麻烦&#xff0c;而且还会遗漏&#xff0c;我们用个能批量下载所有补丁的软件Windows Updates Downloader 点击下载。该软件需要Microsoft .NET Framework 2.0支持点击下载。安装Windows Updates Downloade…...

做化工哪个网站好/3步打造seo推广方案

阅读目录配置 Supervisor启动 Supervisor配置 Supervisor Supervisor 的配置文件通常位于 /etc/supervisor/conf.d 目录下。 在该目录中&#xff0c;可以创建任意数量的配置文件&#xff0c;用来配置 supervisor 如何监控进程。 例如&#xff0c;创建一个 laravel-worker.co…...

网站更换空间教程/搜狗网页版

题目&#xff1a; 我是超链接 题解&#xff1a; 这三问优先级依次递减&#xff0c;所以只有在优先级高的答案相同的时候才去考虑更新优先级低的。这样做一遍spfa就能保证在满足优先级高的同时尽量满足优先级低的 代码&#xff1a; #include <queue> #include <cs…...

临沂做wish网站/seo专业术语

文章目录前言一、WindowsXP虚拟机系统下载二、WindowsXP虚拟机系统安装三、WindowsXP虚拟机系统使用总结前言 本博客的主要内容为使用VMware虚拟机下载安装与使用WindowsXP系统&#xff0c;WindowsXP系统虽然早已过时&#xff0c;但是仍对我们的学习有着很大的帮助&#xff0c;…...

做网站php和asp哪个好/宁波关键词优化品牌

package web; /** * synchronized锁住了整个静态类 * author zengst * */ class aaa2{ private static int a2; //定义了私有构造函数&#xff0c;外部无法通过该构造函数构造实例&#xff0c;除非重载 private aaa2(){} public static void getInstance(){ if(a > 0){ Syst…...