前 言
有些情况下为了达到某些目的或实现某些功能,需要对Linux内核进行更新。此文用于记录Centos7环境下内核更新方法。
更新内核
配置ELRepo存储库
ELRepo官方指导:http://elrepo.org/tiki/tiki-index.php
1.导入公钥
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
2.为CentOS7安装ELRepo存储库(命令二选一执行即可):
rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
更新内核
第一条命令ml代表mainline,即主线版本(最新稳定版本)
第二条命令lt代表longterm,即长期维护版本
命令二选一
yum --enablerepo=elrepo-kernel install kernel-ml yum --enablerepo=elrepo-kernel install kernel-lt
查看已安装的内核
awk -F' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
返回结果类似于:
[root@host ~]# awk -F' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg 0 : CentOS Linux (4.16.2-1.el7.elrepo.x86_64) 7 (Core) 1 : CentOS Linux 7 Rescue 5a67985d75d94c9fa703a4a0773fd2d7 (3.10.0-693.21.1.el7.x86_64) 2 : CentOS Linux (3.10.0-693.21.1.el7.x86_64) 7 (Core) 3 : CentOS Linux (3.10.0-514.el7.x86_64) 7 (Core)
设定默认内核
grub2-set-default x
其中“x”为上条命令前的数字,以本案例为基础时x应替换为0,注意不要设定为Rescue版本的内核
设定好后reboot重启
检 查
使用命令
uname -r
检查是否已经以新内核启动
返回结果类似于:
[root@host ~]# uname -r 4.16.2-1.el7.elrepo.x86_64
删除多余内核
使用命令
rpm -qa | grep kernel
或者
rpm -q kernel
查询已安装的内核
返回结果类似于:
[root@test ~]# rpm -q kernel kernel-3.10.0-957.el7.x86_64 kernel-3.10.0-957.1.3.el7.x86_64
使用命令
yum remove [内核]
来删除多余的内核,其中将命令中”[内核]”替换为上一步查询的结果,例如
yum remove kernel-3.10.0-957.el7.x86_64
发表回复