Centos 7/8内核升级
目录
背景
默认在centos8.x版本上的内核版本为4.18,这个版本还是比较低的在操作软件时,很多时候会遇见内核版本过低的情况,本文主要学习升级内核版本。
**升级内核操作需谨慎。**
内核是操作系统的核心,负责:
- 进程管理: 确定哪些程序可以使用哪个cpu,使用多长时间;
- 内存管理;
- 设备驱动提供;
- 系统调用和安全。
内核相关列表:
kernel: This package contains the kernel for single-core, multi-core, and multi-processor systems
kernel-devel : This contains kernel headers and makefiles used to build kernel modules against installed Kernel version.
kernel-headers: This package includes the C header files that powers interfacing between the Linux kernel and user-space libraries and programs.
kernel-tools: Contains tools for manipulating the Linux kernel and supporting documentation.
perf: This package contains the perf tool, which enables performance monitoring of the Linux kernel.
linux-firmware: This contains the firmware files required by various devices to operate.
yum安装
添加ELRepo仓库
#centos 8
sudo dnf -y install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
#centos 7
sudo yum -y install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
查看是否安装库成功:
cat /etc/yum.repos.d/elrepo.repo
导入签名的密钥
# centos 7或8 一样的
sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
选择安装内核
列出主线内核版本
dnf --disablerepo="*" --enablerepo="elrepo-kernel" list available | grep kernel-ml
长期支持版本,可以用下面命令查看:
dnf --disablerepo="*" --enablerepo="elrepo-kernel" list available | grep kernel-lt
下面可以选择长期版本或主线最新稳定版本:
#安装主线内核版本
sudo dnf --enablerepo=elrepo-kernel install kernel-ml
或者
# 安装长期支持版本
sudo dnf --enablerepo=elrepo-kernel install kernel-lt
安装其他内核:
#mainline
dnf --allowerasing --enablerepo=elrepo-kernel install kernel-ml-{devel,headers}
或者
#lt
dnf --allowerasing --enablerepo=elrepo-kernel install kernel-lt-{devel,headers}
allowerasing 是替换老版本的其他核心,比如kenel-headers等
切换默认内核版本
centos8设置新内核
# 查看所有可用内核版本
grubby --info=ALL | grep ^kernel
#查看默认的内核版本
grubby --default-kernel
# 设置内核版本
grubby --set-default "/boot/vmlinuz-6.10.4-1.el8.elrepo.x86_64"
#重启
reboot
验证
centos7设置新内核
#查看现有内核启动顺序
[root@nginx pages]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (5.4.274-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-1160.114.2.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.21.3.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-20190711105006363114529432776998) 7 (Core)
#修改默认启动项
#xxx 为序号数字,以指定启动列表中第x项为启动项,x从0开始计数
grub2-set-default xxxx
#例如设置以5.4内核启动
grub2-set-default 0
#重启
reboot
# 检查内核版本
uname -r
RPM安装
查找版本
因 ELRepo 源都是最新版本,所以旧版本内核只能手动下载
7下载地址
https://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/
8下载地址
https://mirrors.coreix.net/elrepo-archive-archive/kernel/el8/x86_64/RPMS/
下载内核 RPM
共需要下载三个类型 rpm
wget https://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-devel-5.4.274-1.el7.elrepo.x86_64.rpm
wget https://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-headers-5.4.274-1.el7.elrepo.x86_64.rpm
wget https://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-5.4.274-1.el7.elrepo.x86_64.rpm
安装内核
rpm -ivh kernel-lt--5.4.274-1.el7.elrepo.x86_64.rpm
rpm -ivh kernel-lt-devel--5.4.274-1.el7.elrepo.x86_64.rpm
确认已安装内核版本
[root@caonima pages]# rpm -qa | grep kernel
kernel-tools-3.10.0-1160.114.2.el7.x86_64
kernel-3.10.0-957.el7.x86_64
kernel-headers-3.10.0-1160.114.2.el7.x86_64
kernel-tools-libs-3.10.0-1160.114.2.el7.x86_64
kernel-lt-5.4.274-1.el7.elrepo.x86_64
kernel-3.10.0-957.21.3.el7.x86_64
kernel-devel-3.10.0-957.21.3.el7.x86_64
kernel-3.10.0-1160.114.2.el7.x86_64
kernel-devel-3.10.0-1160.114.2.el7.x86_64
kernel-lt-devel-5.4.274-1.el7.elrepo.x86_64
设置启动
centos7
#查看现有内核启动顺序
[root@nginx pages]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (5.4.274-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-1160.114.2.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.21.3.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-20190711105006363114529432776998) 7 (Core)
#修改默认启动项
#xxx 为序号数字,以指定启动列表中第x项为启动项,x从0开始计数
grub2-set-default xxxx
#例如设置以5.4内核启动
grub2-set-default 0
#重启
reboot
# 检查内核版本
uname -r
centos8
# 查看所有可用内核版本
grubby --info=ALL | grep ^kernel
#查看默认的内核版本
grubby --default-kernel
# 设置内核版本
grubby --set-default "/boot/vmlinuz-6.10.4-1.el8.elrepo.x86_64"
#重启
reboot
本文来自博客园,作者:&UnstopPable,转载请注明原文链接:https://www.cnblogs.com/Unstoppable9527/p/18358503