CentOs7 升级/更新内核

# CentOs7 升级/更新内核

# 内核定义

See More

关于内核版本的定义:

版本性质:主分支ml(mainline),稳定版(stable),长期维护版lt(longterm)

版本命名格式为 “A.B.C”:

数字 A 是内核版本号:版本号只有在代码和内核的概念有重大改变的时候才会改变,历史上有两次变化: 数字 B 是内核主版本号:主版本号根据传统的奇-偶系统版本编号来分配:奇数为开发版,偶数为稳定版 数字 C 是内核次版本号:次版本号是无论在内核增加安全补丁、修复bug、实现新的特性或者驱动时都会改变

# 升级内核

1、查看当前内核

uname -r
# 3.10.0-514.el7.x86_64

2、升级内核

# 升级内核需要先导入elrepo的key,然后安装elrepo的yum源:
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
yum install -y https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm

# 如果要安装ml内核,使用如下命令:
yum --enablerepo=elrepo-kernel -y install kernel-ml-devel kernel-ml

# 如果要安装lt内核,使用如下命令:
yum --enablerepo=elrepo-kernel -y install kernel-lt-devel kernel-lt

3、设置默认内核

grub2-set-default 0
grub2-mkconfig -o /boot/grub2/grub.cfg 

4、删除旧的内核

# 查看已安装的内核
rpm -qa | grep kernel

# 删除旧内核
yum remove 内核名称

5、安装新版本工具包(可选操作)

# 移除旧版本
yum remove kernel-tools-libs kernel-tools -y

# 安装新版本

# 如果安装ml版本执行:
yum --disablerepo=* --enablerepo=elrepo-kernel install kernel-ml-tools

# 如果安装lt版本执行:
yum --disablerepo=* --enablerepo=elrepo-kernel install kernel-lt-tools

6、重启服务器,执行 reboot

7、查看内核

uname -r
# 5.3.8-1.el7.elrepo.x86_64 显示新版内核即表示升级成功

# 一键升级内核脚本

vim updateCore.sh
复制以下脚本内容到脚本文件中

See More
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH

red='\033[0;31m'
green='\033[0;32m'
yellow='\033[0;33m'
plain='\033[0m'

[[ $EUID -ne 0 ]] && echo -e "[${red}Error${plain}] This script must be run as root!" && exit 1

k=$(uname -r)

echo "${red}当前内核版本 ${green}$k"

echo "${red}升级linux内核${green}"

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
yum install -y https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm

echo "${red}安装ml内核${green}"

yum --enablerepo=elrepo-kernel -y install kernel-ml-devel kernel-ml

echo "${red}设置为默认内核${green}"

grub2-set-default 0
grub2-mkconfig -o /boot/grub2/grub.cfg 

echo "${red}查看已安装的内核${green}"

rpm -qa | grep kernel

echo "${red}移除旧版本内核${green}"

yum remove k

echo "${red}移除旧版本工具包${green}"

yum remove kernel-tools-libs kernel-tools -y

echo "${red}安装新版本工具包${green}"

yum --disablerepo=* --enablerepo=elrepo-kernel -y install kernel-ml-tools

echo "${green}升级完成,清重启机器(reboot)${green}"

chmod +x updateCore.sh && ./updateCore.sh