#!/bin/bash
# 方案1-第一阶段:升级内核至5.4.x(支持Docker 28.4.0)
# 备份提示
echo "===== 注意:请确保已备份 /var/lib/docker 目录! ====="
read -p "是否继续?(y/n) " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
exit 1
fi
# 导入ELRepo密钥
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# 安装ELRepo仓库(CentOS 7专用)
rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-9.el7.elrepo.noarch.rpm
# 安装5.4长期支持内核(稳定版)
yum --enablerepo=elrepo-kernel install -y kernel-lt-5.4.256
# 查看内核启动顺序,获取新内核序号
echo "===== 检测内核启动顺序 ====="
new_kernel_index=$(awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg | grep "5.4.256" | cut -d' ' -f1)
echo "新内核序号为:$new_kernel_index"
# 设置新内核为默认启动项
grub2-set-default $new_kernel_index
# 生成grub配置
grub2-mkconfig -o /boot/grub2/grub.cfg
# 提示重启
echo "===== 内核升级完成!请执行 reboot 重启系统 ====="
echo "重启后请执行【方案1-第二阶段】脚本安装Docker 28.4.0"