一.安装最新稳定版本内核
1.检查当前内核
[root@10-9-136-234 ~]# uname -sr
Linux 4.19.0-9.el7.ucloud.x86_64
2.使用rpm升级内核
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
3.列出内核相关软件包
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
4.安装主线内核
yum --enablerepo=elrepo-kernel install kernel-lt.x86_64 -y
5.设置新内核为默认启动项
vim /etc/default/grub
GRUB_DEFAULT=0
6.重新创建内核配置
grub2-mkconfig -o /boot/grub2/grub.cfg
7.重启并检查内核版本
[root@10-9-136-234 ~]# uname -sr
Linux 5.4.108-1.el7.elrepo.x86_64
二.安装指定内核版本
1.内核下载网址:
https://elrepo.org/linux/kernel/el7/x86_64/RPMS/
2.安装
wget https://elrepo.org/linux/kernel/el7/x86_64/RPMS/kernel-lt-5.4.108-1.el7.elrepo.x86_64.rpm
rpm -ivh kernel-lt-5.4.108-1.el7.elrepo.x86_64.rpm
3.查看当前可用内核版本
[root@10-9-136-234 ~]# sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
0 : CentOS Linux 7 Rescue 2b2b101ebec37b13cb767b69ceb77af5 (5.4.108-1.el7.elrepo.x86_64)
1 : CentOS Linux (5.4.108-1.el7.elrepo.x86_64) 7 (Core)
2 : CentOS Linux (4.19.0-9.el7.ucloud.x86_64) 7 (Core)
3 : CentOS Linux (0-rescue-08b8263828e4a1f86f26478152384489) 7 (Core)
4.查看当前默认启动内核
[root@10-9-136-234 ~]# grub2-editenv list
saved_entry=CentOS Linux (4.19.0-9.el7.ucloud.x86_64) 7 (Core)
5.更改默认启动内核项
[root@10-9-136-234 ~]# grub2-set-default 1
[root@10-9-136-234 ~]# grub2-editenv list
saved_entry=1
6.重启后查看内核版本
卸载无用内核
[root@10-9-136-234 ~]# rpm -qa |grep kernel-[0-9]
kernel-4.19.0-9.el7.ucloud.x86_64
[root@10-9-136-234 ~]# yum remove kernel-4.19.0-9.el7.ucloud.x86_64
Loaded plugins: fastestmirror, langpacks, versionlock
Resolving Dependencies
--> Running transaction check
---> Package kernel.x86_64 0:4.19.0-9.el7.ucloud will be erased
--> Finished Dependency Resolution
脚本批量安装
#!/bin/bash
yum -y install wget
wget https://elrepo.org/linux/kernel/el7/x86_64/RPMS/kernel-lt-5.4.108-1.el7.elrepo.x86_64.rpm -P /tmp/
rpm -ivh /tmp/kernel-lt-5.4.108-1.el7.elrepo.x86_64.rpm
A=`sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg |grep "(5.4.108-1.el7.elrepo.x86_64) 7 (Core)" |awk '{print $1}'`
grub2-set-default $A