> 文章列表 > Centos 7 内核在线升级

Centos 7 内核在线升级

Centos 7 内核在线升级

目录

一、参考文档

二、升级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

四、