启动禅道报错:
解决方案:以下操作需要在联网的情况下进行
升级系统版本
- 查看当前系统版本 cat /etc/redhat-release
- 升级系统版本 yum update
- 期间有几处手动需要输入 y 确认安装
- 安装完成后重启虚拟机 reboot
- 重启后查看当前系统版本,可以看到已经更新成最新的系统版本 7.9.2009
升级内核版本
1、查看当前内核版本 uname -rs
-r
显示系统的内核版本号
-s
显示系统的名称
当前内核版本为 Linux 3.10.0-1160.102.1.el7.x86_64
表示信息如下:
主版本号:3
次版本号:10
修订版本号:0
补丁版本:1160.102.1
发行版名称:EL7(Red Hat Enterprise Linux 7)
架构:x86_64(64位计算机)
2、导入elrepo仓库公钥及yum源
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
#下载并导入ElRepo的公钥。导入成功可以使用yum来安装来自ElRepo的软件包
#并验证其签名以确保软件包的安全性和完整性。
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
# -U 升级软件包,-v 输出详细信息,-h 安装时显示进度条
3、查看可用的内核
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
# --disablerepo="*" 禁用了所有软件源,从指定的软件源中获取软件包
# --enablerepo="elrepo-kernel" 启用了一个名为 "elrepo-kernel" 的软件源
# list available 列出可用的软件包,不包括已经安装的软件包
ml为稳定主线版本,lt为长期支持版本
4、安装内核
#安装lt版本 kernel-lt.x86_64 5.4.258-1.el7.elrepo
yum --enablerepo=elrepo-kernel install kernel-lt-devel kernel-lt -y
#安装ml版本 kernel-ml.x86_64 6.5.8-1.el7.elrepo
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y
期间可能会出现拒绝连接的问题。不需要任何操作。会自动安装
5、查看系统上的所有可用内核(这个本人尝试过,没有任何效果)
awk -F\' '$1=="menuentry " i=1 { print n++ " " $2}' /etc/grub2.cfg
# awk 是一个文本处理工具,用于对文本文件进行操作和解析
# -F\' 指定输入文件的字段分隔符。将字段分隔符设置为单引号 (')
# $1=="menuentry " 用于检查每一行的第一个字段是否等于 "menuentry "
# {print n++ " " $2} 如果第一字段等于 "menuentry ",那么就打印出 n+该行的第二个字段,n从0开始
本人是在重启后,在启动页面上看到的可用内核
lt版本 5.4.258-1.el7.elrepo.x86_64 ml版本 6.5.8-1.el7.elrepo.x86_64
6、设置默认引导项
grub2-set-default 0
#重启页面上的可用内核是从0开始的
#使用 grub2-set-default 0 命令可以将默认引导项设置为第一个(也是默认的)操作系统
#也可以更改命令中的数字参数,设置默认引导项为其他操作系统
7、重启虚拟机后,查看内核版本
此时可以发现内核版本已经变为 6.5.8-1.el7.elrepo.x86_64
重新启动禅道,可以发现启动时已经不再报错