琐碎笔记

Linux 更新内核至最新版

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

前言

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

操作环境

操作步骤

小版本升级

  • 查看当前和可升级版本
# 可升级版本
# >> CentOS
yum list kernel
# >> Ubuntu
sudo apt list | grep linux-generic*

# 查看当前正使用的版本
uname -r
  • 执行升级
# CentOS
yum update kernel -y
# Ubuntu
sudo apt-get install linux-generic-hwe-20.04-edge -y
  • 检查
# 重启
reboot
# 检查
uname -r

大版本升级

  • 载入公钥
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*

说明:

  • lt :长期支持版本
  • 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
  • 查看内核插入顺序
[root@Her ~]# 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开始(但是当前顺序还未生效),或者使用:

[root@Her ~]# 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 内容一致。

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

结束

Enjoy it !


本文作者:佩佩
原文链接:https://www.nange.cn/upgrade-kernel-for-linux.html
版权声明:若无特殊注明,文章均为本站【楠格】原创,并以《知识共享署名-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》协议进行许可,转载时请以超链接形式标明文章原始出处和作者信息,否则谢绝转载!

7 条回应
  1. 老王 Safari 604.1 iPhone OS 16_3 2023-3-7 · 19:51

    测试

  2. 佩佩 Edge 92.0.891.1 Mac OS X Catalina 10_15_72021-5-21 · 16:16

    测试~

  3. 老王 Chrome 86.0.4240.65 iPhone OS 14_2 2020-10-5 · 14:58

    谢谢!

  4. 老王 Chrome 57.0.2987.108 Android 10 | HUAWEI HMA-TL00 2020-10-5 · 14:44

    酱~

  5. 老王 Safari 605.1.15 Mac OS X 10_152020-10-5 · 14:37

    测试!

  6. 老王 Safari 604.1 iPod iPhone OS 13_1_3 2020-10-5 · 14:36

    测试

  7. 老王 Safari 605.1.15 Mac OS X 11_02020-10-5 · 14:35

    马甲测试!