Centos升级内核

升级内核的两种方式

yum安装

导入源

1
2
3
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

选择 ML 或 LT 版本安装

ML:主线最新版本,是根据Linux Kernel Archives的主线稳定分支提供的源构建的。 内核配置基于默认的RHEL-7配置,并根据需要启用了添加的功能。 这些软件包有意命名为kernel-ml,以免与RHEL-7内核发生冲突,因此,它们可以与常规内核一起安装和更新。
LT:长期支持版,包是从Linux Kernel Archives提供的源代码构建的,就像kernel-ml软件包一样。 不同之处在于kernel-lt基于长期支持分支,而kernel-ml基于主线稳定分支。

1
2
3
4
5
# 安装 ML 版本
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y

# 安装 LT 版本,K8S全部选这个
yum --enablerepo=elrepo-kernel install kernel-lt-devel kernel-lt -y

查看内核启动顺序

1
awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg

修改默认启动项

xxx 为序号数字,以指定启动列表中第x项为启动项,x从0开始计数

1
grub2-set-default xxx

例如设置以4.4内核启动

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 查看内核启动序号
[root@jikexiaoxiang ~] awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg

CentOS Linux (4.4.179-1.el7.elrepo.x86_64) 7 (Core)

CentOS Linux (3.10.0-693.el7.x86_64) 7 (Core)

CentOS Linux (0-rescue-6d4c599606814867814f1a8eec7bfd1e) 7 (Core)

# 设置启动序号
[root@jikexiaoxiang ~] grub2-set-default 0

# 重启
reboot

# 检查内核版本
uname -r

rpm安装

因 ELRepo 源都是最新版本,所以旧版本内核只能手动下载。

查找 kernel rpm 历史版:
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/

下载

1
2
3
wget http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-devel-5.4.203-1.el7.elrepo.x86_64.rpm
wget http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-headers-5.4.203-1.el7.elrepo.x86_64.rpm
wget http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-5.4.203-1.el7.elrepo.x86_64.rpm

安装内核

1
2
#一键安装所有
rpm -Uvh *.rpm

确认安装

1
2
3
4
5
6
7
8
9
10
11
[root@jikexiaoxiang ~]# rpm -qa | grep kernel
kernel-lt-devel-5.4.203-1.el7.elrepo.x86_64
kernel-devel-3.10.0-1160.53.1.el7.x86_64
kernel-lt-5.4.203-1.el7.elrepo.x86_64
kernel-3.10.0-1127.el7.x86_64
kernel-devel-3.10.0-1127.el7.x86_64
kernel-headers-3.10.0-1160.53.1.el7.x86_64
kernel-3.10.0-1160.53.1.el7.x86_64
kernel-tools-libs-3.10.0-1160.53.1.el7.x86_64
kernel-tools-3.10.0-1160.53.1.el7.x86_64

设置启动

1
2
3
4
5
6
7
8
9
10
11
12
# 查看启动顺序
[root@jikexiaoxiang ~]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (5.4.203-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-1160.53.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-1127.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-c9b49c6c11334518a7adc404ff6315b6) 7 (Core)

# 设置启动顺序
[root@jikexiaoxiang ~]# grub2-set-default 0

# 重启生效
[root@jikexiaoxiang ~]# reboot

相关文章

Vi基础命令

Linux基础命令

Centos使用

Centos升级Ruby

Shell脚本

Nginx多配置文件

Nginx图片大小限制

Nginx配置WebSocket超时时间和wss

Ubuntu常用配置

Centos设置终端代理