目录
一、参考文档
二、升级centos内核
三、centos内核一键升级脚本
一、参考文档
1、内核版本的分类等相关信息见官网:https://www.kernel.org/
2、 第三方仓库ELRepo参考官网:http://elrepo.org/tiki/HomePage
3、国内yum源:https://mirrors.cloud.tencent.com/help/centos.html
4、国内epel源:https://mirrors.cloud.tencent.com/help/epel.html
5、若出现报错:"your kernel headers for kernel xxx cannot be found ...", 则可能要安装 kernel-lt-devel
6、kubeasz提供的内核升级方法:https://github.com/easzlab/kubeasz/blob/master/docs/guide/kernel_upgrade.md
二、升级centos内核
1、查看centos在用内核版本
## 查看内核版本和内核名字
uname -rs
2、导入ELRepo公钥和安装ELRepo
# 导入ELRepo公钥
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# 安装 ELRepo 源
# yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
rpm -Uvh https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
3、查看可供选择安装的内核
# 查看可选择安装的内核
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
4、安装长期支持稳定版本内核
# 安装长期支持稳定版本内核
yum --enablerepo=elrepo-kernel install kernel-lt -y
5、设置 GRUB 默认的内核版本和重新生成 grub.cfg 文件
编辑 /etc/default/grub 并设置 GRUB_DEFAULT=0。意思是 GRUB 初始化页面的第一个内核将作为默认内核,或者直接执行命令: grub2-set-default 0
# 设置 GRUB 默认的内核版本
# 编辑 /etc/default/grub 设置 GRUB_DEFAULT=0,是将 GRUB 初始化页面的第一个内核将作为默认内核
# grub2-set-default 0
sed -ir '/GRUB_DEFAULT=/cGRUB_DEFAULT=0' /etc/default/grub
# 生成 grub 配置文件并重启
grub2-mkconfig -o /boot/grub2/grub.cfg
6、查看centos内核升级结果
三、centos内核一键升级脚本
#/bin/bash
# create by @tudou
# centos 7 一键在线升级内核
# centos 7 内核参考网址
# https://www.kernel.org/
# http://elrepo.org/tiki/HomePage
# centos 7 内核参考网址
set -xe
# 该步骤可不执行
# cd /etc/yum.repos.d
# mkdir backup
# mv *repo backup/
# 该步骤可不执行
# 使用腾讯的 yum 源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo # eple 源可以不更新
yum clean all && yum makecache
# 导入ELRepo公钥 和 安装 ELRepo 源
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
# 安装最新长期支持稳定版本内核,其他版本内核请自行修改安装
yum --enablerepo=elrepo-kernel install kernel-lt -y
# yum --enablerepo=elrepo-kernel install kernel-lt-devel -y # 若出现 "your kernel headers for kernel xxx cannot be found ..." 之类报错,可能是缺少 kernel-lt-devel 包
# 设置 GRUB 默认的内核版本
# 编辑 /etc/default/grub 设置 GRUB_DEFAULT=0,是将 GRUB 初始化页面的第一个内核将作为默认内核
# sed -ir '/GRUB_DEFAULT=/cGRUB_DEFAULT=0' /etc/default/grub
grub2-set-default 0 # Set the default boot menu entry for GRUB;This requires setting GRUB_DEFAULT=saved in /etc/default/grub
# 生成 grub 配置文件并重启
grub2-mkconfig -o /boot/grub2/grub.cfg
# 重启服务器
# reboot
# 升级完成内核后,重启服务器验证内核升级结果
# uname -rs
四、