前言
刚开了台VPS登进去发现内核版本居然是3.10
的,现在最新的都已经是5.7
了,果断升级。
操作环境
- CentOS 7.6
- Ubuntu 20.04 LTS
操作步骤
小版本升级
- 查看当前和可升级版本
# 可升级版本
# >> 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 !
测试
测试~
谢谢!
酱~
测试!
测试
马甲测试!