一、布景

在 CentOS 使用过程中,高版别的使用环境或许需求更高版别的内核才干支撑,所以不免需求升级内核,所以以下将介绍yum和rpm两种升级内核办法

关于内核品种:

  • kernel-ml——kernel-ml 中的ml是英文【 mainline stable 】的缩写,elrepo-kernel中罗列出来的是最新的稳定主线版别。
  • kernel-lt——kernel-lt 中的lt是英文【 long term support 】的缩写,elrepo-kernel中罗列出来的长时间支撑版别。ML 与 LT 两种内核类型版别能够共存,但每品种型内核只能存在一个版别。

二、在线 yum 装置

1)检查当时内核版别信息

uname -a
# 仅检查版别信息
uname -r
#  经过绝对路径检查检查版别信息及相关内容
cat /proc/version
#  经过绝对路径检查检查版别信息
cat /etc/redhat-release

Centos7 内核升级(5.4.225)

2)导入库房源

# 1、更新yum源库房
yum -y update
# 2、导入ELRepo库房的公共密钥
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# 3、装置ELRepo库房的yum源
yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
# 4、查询可用内核版别
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

Centos7 内核升级(5.4.225)

3)选择 ML 或 LT 版别装置

# 装置 最新版ML 版别
# yum --enablerepo=elrepo-kernel install  kernel-ml-devel kernel-ml -y
# 装置 最新版LT 版别
# yum --enablerepo=elrepo-kernel install kernel-lt-devel kernel-lt -y
# 不带版别号就装置最新版别,这儿咱们装置 LT 5.4.225-1.el7.elrepo版别
# 装置 LT 版别,K8S悉数选这个
yum --enablerepo=elrepo-kernel install kernel-lt-devel-5.4.225-1.el7.elrepo.x86_64 kernel-lt-5.4.225-1.el7.elrepo.x86_64 -y

装置完成后需求设置 grub2,即内核默许发动项

4)设置发动

内核装置好后,需求设置为默许发动选项并重启后才会生效。

检查体系上的所有可用内核

sudo awk -F' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg

Centos7 内核升级(5.4.225)

刚刚装置的内核即0 :CentOS Linux (5.4.225-1.el7.elrepo.x86_64) 7 (Core)
咱们需求把grub2默许设置为0
能够经过grub2-set-default 0命令或编辑/etc/default/grub文件来设置

办法1:经过 grub2-set-default 0 命令设置

grub2-set-default 0

办法2:编辑 /etc/default/grub 文件

# 将GRUB_DEFAULT设置为0,如下
vim /etc/default/grub

Centos7 内核升级(5.4.225)

5)生成 grub 配置文件

GRUB2 的配置文件一般为 /boot/grub2/grub.cfg,尽管此文件很灵敏,可是咱们并不需求手写所有内容。能够经过程序主动生成,或是直接修正生成之后的文件。一般情况下简略配置文件/etc/default/grub,然后用程序grub-mkconfig来发生文件grub.cfg

grub2-mkconfig -o /boot/grub2/grub.cfg

6)重启

# 重启(默许30秒)
reboot
# 当即重启
reboot -h now

7)验证是否升级成功

uname -a
# 仅检查版别信息
uname -r
#  经过绝对路径检查检查版别信息及相关内容
cat /proc/version
#  经过绝对路径检查检查版别信息
cat /etc/redhat-release

Centos7 内核升级(5.4.225)

8)删去旧内核(可选)

检查体系中的悉数内核

rpm -qa | grep kernel
# yum remove kernel-版别
yum remove kernel-3.10.0-1160.el7.x86_64 kernel-3.10.0-1160.71.1.el7.x86_64 kernel-tools-3.10.0-1160.71.1.el7.x86_64 kernel-tools-libs-3.10.0-1160.71.1.el7.x86_64

Centos7 内核升级(5.4.225)

三、离线rpm装置

查找 kernel rpm 历史版别:mirrors.coreix.net/elrepo-arch…

1)下载内核 RPM

wget http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-devel-5.4.225-1.el7.elrepo.x86_64.rpm
wget http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-5.4.225-1.el7.elrepo.x86_64.rpm

2)装置内核

rpm -ivh kernel-lt-5.4.225-1.el7.elrepo.x86_64.rpm
rpm -ivh kernel-lt-devel-5.4.225-1.el7.elrepo.x86_64.rpm

3)确认已装置内核版别

rpm -qa | grep kernel

Centos7 内核升级(5.4.225)

4)设置发动

检查体系上的所有可用内核

sudo awk -F' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg

Centos7 内核升级(5.4.225)

grub2-set-default 0

5)生成 grub 配置文件

GRUB2 的配置文件一般为/boot/grub2/grub.cfg,尽管此文件很灵敏,可是咱们并不需求手写所有内容。能够经过程序主动生成,或是直接修正生成之后的文件。一般情况下简略配置文件/etc/default/grub,然后用程序grub-mkconfig来发生文件grub.cfg

grub2-mkconfig -o /boot/grub2/grub.cfg

6)重启

# 重启(默许30秒)
reboot
# 当即重启
reboot -h now

7)验证是否升级成功

uname -a
# 仅检查版别信息
uname -r
#  经过绝对路径检查检查版别信息及相关内容
cat /proc/version
#  经过绝对路径检查检查版别信息
cat /etc/redhat-release

Centos7 内核升级(5.4.225)

8)删去旧内核(可选)

检查体系中的悉数内核

rpm -qa | grep kernel
# yum remove kernel-版别
yum remove kernel-3.10.0-1160.el7.x86_64 kernel-3.10.0-1160.71.1.el7.x86_64 kernel-tools-3.10.0-1160.71.1.el7.x86_64 kernel-tools-libs-3.10.0-1160.71.1.el7.x86_64

Centos7 内核升级(5.4.225)

Centos7 内核升级(5.4.225)升级就到这儿了,有疑问的小伙伴欢迎给我留言,后续更新【云原生+大数据】相关的文章,请小伙伴耐心等待~