琐碎笔记

CentOS 7/8 更新内核至最新版

佩佩 · 6月15日 · 2020年 · · 267次查看

前言

刚开了台 VPS 登进去发现内核居然是 3.10 的,现在最新的都已经是 5.7 了,果断升级。

操作环境

CentOS 7.6

操作步骤

小版本升级

  • 查看当前和可升级版本
# 可升级版本
[[email protected] ~]# yum list kernel
# 查看当前正使用的版本
[[email protected] ~]# uname -r
3.10.0-957.10.1.el7.x86_64
  • 执行升级
yum update kernel -y
  • 检查
# 重启
[[email protected] ~]# reboot
# 检查
[[email protected] ~]# uname -r
3.10.0-957.12.2.el7.x86_64

大版本升级

  • 载入公钥
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
  • 升级安装 ELRepo
# RHEL 7 或 CentOS 7
yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm

# RHEL 8 或 CentOS 8
yum install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
  • 载入 elrepo-kernel 元数据
yum --disablerepo=\* --enablerepo=elrepo-kernel repolist
  • 查看可用的 rpm
yum --disablerepo=\* --enablerepo=elrepo-kernel list kernel*

说明

  1. lt :长期支持版本
  2. ml :主线版本
  • 安装最新版本的 kernel
yum --disablerepo=\* --enablerepo=elrepo-kernel install  kernel-ml.x86_64  -y
  • 删除旧版本工具包
yum remove kernel-tools-libs.x86_64 kernel-tools.x86_64  -y
  • 安装新版本工具包
yum --disablerepo=\* --enablerepo=elrepo-kernel install kernel-ml-tools.x86_64  -y
  • 查看内核插入顺序
[[email protected] ~]# awk -F \' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
0 : CentOS Linux (5.7.2-1.el7.elrepo.x86_64) 7 (Core)
1 : CentOS Linux (3.10.0-1127.10.1.el7.x86_64) 7 (Core)
2 : CentOS Linux (3.10.0-957.10.1.el7.x86_64) 7 (Core)
3 : CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
4 : CentOS Linux (0-rescue-bc974da2acac413f8e7ac7ddf7891424) 7 (Core)

说明

默认新内核是从头插入,默认启动顺序也是从0开始(但是当前顺序还未生效),或者使用:

[[email protected] ~]# grep "^menuentry" /boot/grub2/grub.cfg | cut -d "'" -f2
CentOS Linux (5.7.2-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-1127.10.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.10.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-bc974da2acac413f8e7ac7ddf7891424) 7 (Core)

其中文件 /etc/grub2.cfg 和 /boot/grub2/grub.cfg 内容一致。

  • 查看当前实际启动顺序
[[email protected] ~]# grub2-editenv list
CentOS Linux (3.10.0-957.10.1.el7.x86_64) 7 (Core)
  • 设置默认启动
[[email protected] ~]# grub2-set-default 'CentOS Linux (5.7.2-1.el7.elrepo.x86_64) 7 (Core)'
# 查看确认
[[email protected] ~]# grub2-editenv list
saved_entry=CentOS Linux (5.7.2-1.el7.elrepo.x86_64) 7 (Core)
  • 或者直接设置数值也可以
[[email protected] ~]# grub2-set-default 0  // 0 代表当前第一行,也就是上面的 5.7.2-1.el7.elrepo.x86_64 版本那一行内容
# 查看确认
[[email protected] ~]# grub2-editenv list
saved_entry=0
  • 检查
# 重启
[[email protected] ~]# reboot
# 再次查看
[[email protected] ~]# uname -r
5.7.2-1.el7.elrepo.x86_64

结束

Enjoy it !

0 条回应