首页 > 系统相关 >Centos 7/8内核升级

Centos 7/8内核升级

时间:2024-08-14 11:17:08浏览次数:12  
标签:kernel x86 Centos elrepo 升级 64 内核 el7

目录

背景

默认在centos8.x版本上的内核版本为4.18,这个版本还是比较低的在操作软件时,很多时候会遇见内核版本过低的情况,本文主要学习升级内核版本。
**升级内核操作需谨慎。**
内核是操作系统的核心,负责:

  1. 进程管理: 确定哪些程序可以使用哪个cpu,使用多长时间;
  2. 内存管理;
  3. 设备驱动提供;
  4. 系统调用和安全。

内核相关列表:

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

image.png
长期支持版本,可以用下面命令查看:

dnf --disablerepo="*" --enablerepo="elrepo-kernel" list available | grep kernel-lt

image.png
下面可以选择长期版本或主线最新稳定版本:

#安装主线内核版本
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

验证
image.png

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

标签:kernel,x86,Centos,elrepo,升级,64,内核,el7
From: https://www.cnblogs.com/Unstoppable9527/p/18358503

相关文章

  • CentOS 7 停服后(2024-06-30)升级最新的Linux 内核
     1、CentOS7更新 USTC的源sudosed-i.bak\-e's|^mirrorlist=|#mirrorlist=|g'\-e's|^#baseurl=http://mirror.centos.org/centos|baseurl=https://mirrors.ustc.edu.cn/centos-vault/centos|g'\/etc/yum.repos.d/CentOS-Base.repo 2......
  • DeiT-LT:印度科学院提出针对长尾数据的`DeiT`升级模型 | CVPR 2024
    DeiT-LT为ViT在长尾数据集上的应用,通过蒸馏DIST标记引入CNN知识,以及使用分布外图像并重新加权蒸馏损失来增强对尾类的关注。此外,为了减轻过拟合,论文建议用经过SAM训练的CNN教师进行蒸馏,促使所有ViT块中DIST标记学习低秩泛化特征。经过DeiT-LT的训练方案,DIST标记成为尾类的专家,分......
  • centos7 安装docker 并运行es、rabbitmq 服务 记录
    部署docker当执行 yuminstall-ydocker-cedocker-ce-clicontainerd.iodocker-buildx-plugindocker-compose-plugin出现  “[Errno14]curl#7-“Failedtoconnectto2a03:2880:f10e:83:face:b00c:0:25de:网络不可达”修改其下载源:yum-config-manager--add-repo......
  • VMware安装centos8.5
    1、创建虚拟机镜像文件下载完成后,就可以打开VMwareWorkstation。单击“创建新的虚拟机”来新建虚拟机,默认推荐选择典型。 2、虚拟机设置进去之后点击新CD/DVD,在右边的使用iso镜像文件中找到下载的镜像文件  3、安装centos8.5在安装好虚拟机后,我们单击左侧的“开启......
  • TS 项目如何从 ESlint8 升级至 9并集成 Prettier
    eslint8到9属于破坏性更新(BreakChange),因此导致eslint8配置方式无法直接使用(可以使用兼容包,但这不是本文的主题)。其实大家最关心的就是从eslint8到9之后的写法,而与eslint息息相关的多种配置插件也需要大量的变更,因此本文核心就是:使用eslint9配置规则和集成prett......
  • linux内核模块 字符设备驱动模板
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、linux内核模块是什么?二、代码示例总结前言提示:这里可以添加本文要记录的大概内容:内核版本5.10.92linux内核模块字符设备驱动模板cdev注册字符设备,创建一个/dev/下设备节点和/sy......
  • 解决 CentOS Cannot find a valid baseurl for repo
    参考:Fix"Cannotfindavalidbaseurlforrepo"inCentOS-DEVCommunity背景由于CentOS7镜像被移动到vault。当执行yum时,会报错“Cannotfindavalidbaseurlforrepo:base/7/x86_64”。解决将/etc/yum.repos.d/CentOS-Base.repo中的原有内容删除,将其设置为如......
  • 内核链表常用宏——container_of()
    定义#definelist_entry(ptr,type,member)\ container_of(ptr,type,member)#defineoffsetof(TYPE,MEMBER)((size_t)&((TYPE*)0)->MEMBER)#definecontainer_of(ptr,type,member)({ \ consttypeof(((type*)0)->member)*__mptr=(ptr); ......
  • centos7配置yum源 安装 docker 安装Docker Compose 安装Python 3.7并汉化 (python可不
    安装一个软件确认无误就执行备份,在关键步骤之前一定做好备份以防止重来,造成时间的大量浪费注意有时因各自网络环境原因,wget显示拒绝连接,要么等五分钟再试要么就把网址粘贴到百度去下载相对应的安装包,通过ftp,xftp等拷贝到虚拟机中。若有问题欢迎评论留言,我会尝试解决。现......
  • 如何用OceanBase实现HBase架构升级
    随着数据量的爆炸性增长,特别是半结构化和非结构化数据的涌现,传统关系型数据库如MySQL遭遇了前所未有的挑战。这一背景下,为非结构化数据管理而生的NoSQL数据库,以及旨在解决海量数据存储难题的分布式技术应运而生,成为行业焦点。其中,Hadoop分布式系统基础架构以其创新性引领......