CentOS7.9 离线升级内核
当前内核:3.10.0-1160.119.1.el7.x86_64
升级目标内核:6.9.10-1.el7.x86_64
检查当前内核版本:
[root@localhost tmp]# uname -r3.10.0-1160.119.1.el7.x86_64
下载内核 rpm 包(离线环境提前准备):
[root@localhost]# wget https://dl.lamp.sh/kernel/el7/kernel-ml-6.9.10-1.el7.x86_64.rpm[root@localhost]# wget https://dl.lamp.sh/kernel/el7/kernel-ml-devel-6.9.10-1.el7.x86_64.rpm[root@localhost]# wget https://dl.lamp.sh/kernel/el7/kernel-ml-headers-6.9.10-1.el7.x86_64.rpm
先安装 kernel-ml 主内核:
rpm -ivh --nodeps kernel-ml-6.9.10-1.el7.x86_64.rpm
--nodeps 可以忽略旧 headers 依赖
安装与 kernel-ml 对应的 headers 和 devel:
rpm -ivh kernel-ml-devel-6.9.10-1.el7.x86_64.rpm kernel-ml-headers-6.9.10-1.el7.x86_64.rpm
注意:一定要先保留原来的内核,避免系统无法启动。
安装完成后更新 grub 引导:
grub2-mkconfig -o /boot/grub2/grub.cfg
默认 grub 菜单的第 0 项通常是最新安装的内核,如果不确定,可以先查看菜单项:
awk -F\' '/menuentry / {print i++ " : " $2}' /etc/grub2.cfg# 输出
[root@localhost ~]# awk -F\' '/menuentry / {print i++ " : " $2}' /etc/grub2.cfg
0 : CentOS Linux (6.9.10-1.el7.x86_64) 7 (Core)
1 : CentOS Linux (3.10.0-1160.119.1.el7.x86_64) 7 (Core)
2 : CentOS Linux (3.10.0-1160.90.1.el7.x86_64) 7 (Core)
3 : CentOS Linux (3.10.0-1160.80.1.el7.x86_64) 7 (Core)
4 : CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core)
5 : CentOS Linux (0-rescue-042d3d0d348a42958c3b91f299c2f3e7) 7 (Core)
设置默认启动为 kernel-ml:
grub2-set-default 0
重启系统:
[root@localhost ~]# uname -r
6.9.10-1.el7.x86_64
清理旧内核(可选)
确认新内核稳定后,可以清理旧内核节省空间:
yum remove kernel-3.10.0-1160.*.el7.x86_64
⚠️ ⚠️ ⚠️ 注意保留至少一个老内核作为备用。