CentOS 7.9升级内核(kernel-5.4.218)

news2024/11/25 10:27:07

记录:362

场景:在CentOS 7.9操作系统上,使用ELRepo镜像仓库中kernel包,升级Linux 3.10.0-1160.el7.x86_64内核到kernel-5.4.218。ELRepo项目专注于Linux和CentOS操作系统的硬件相关的软件包。

版本:

操作系统:CentOS 7.9

名词

GRUB:GRand Unified Bootloader的简称。GNU GRUB是一个GNU项目的多操作系统启动程序。GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。

1.基础知识

1.1elrepo镜像

ELRepo: The ELRepo Project focuses on hardware related packages to enhance your experience with Enterprise Linux. This includes filesystem drivers, graphics drivers, network drivers, sound drivers, webcam and video drivers.

ELRepo:ELRepo项目专注于与硬件相关的软件包,以增强您使用Enterprise Linux的体验。这包括文件系统驱动程序、图形驱动程序、网络驱动程序、声音驱动程序、摄像头和视频驱动程序。

Elrepo:是国外的一个只对Linux操作系统的第三方免费软件资源库,支持Linux和CentOS操作系统的软件安装和升级。

1.2elrepo镜像地址

Elrepo官网:https://elrepo.org/

Elrepo镜像:http://mirrors.coreix.net/elrepo-archive-archive

阿里云开源镜像站:https://developer.aliyun.com/mirror/elrepo

1.3内核包的两个后缀

kernel-ml:ml是mainline stable 的缩写,elrepo-kernel中罗列出来的是最新的稳定主线版本。

kernel-lt:lt是 long term support的缩写,elrepo-kernel中罗列出来的长期支持版本。

1.4查看内核版本

(1)使用hostnamectl命令

命令:hostnamectl

命令:hostnamectl | grep Kernel

解析:本例版本是Kernel: Linux 3.10.0-1160.el7.x86_64。

(2)查看/proc/version

命令:cat /proc/version

(3)使用uname命令

命令:uname -srm

解析:-s,打印内核名称;-r打印内核发行版本;-m,打印机器硬件名称。

1.5查看已经安装内核软件

命令:rpm -qa | grep kernel

打印信息:

kernel-tools-3.10.0-1160.el7.x86_64
kernel-tools-libs-3.10.0-1160.el7.x86_64
kernel-3.10.0-1160.el7.x86_64

2.公网环境升级内核

公网环境升级内核:主机可以直接连接外网ELRepo镜像源。

阿里云开源镜像站:https://mirrors.aliyun.com/elrepo/kernel/el7/x86_64

(1)配置阿里云的elrepo镜像源

编辑文件:vi /etc/yum.repos.d/elrepo.repo

编辑内容:

[elrepo]
name=elrepo
baseurl=https://mirrors.aliyun.com/elrepo/archive/kernel/el7/x86_64
gpgcheck=0
enabled=1

解析:在baseurl中配置的路径就是阿里云开源镜像站Elrepo镜像仓库地址。

(2)清空和刷新yum源元数据缓存

命令:yum clean all && yum makecache

解析:yum clean all,清空历史yum源元数据;yum makecache,创建yum源元数据缓存。

(3)查镜像仓库中内核包

命令:yum list --showduplicate kernel*

(4)安装内核

版本:kernel-lt-5.4.218

命令:yum install -y kernel-lt-5.4.218

命令:yum install -y kernel-lt-devel-5.4.218

(5)查看内核编码

命令:

awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg

解析:0,1,2是内核编号。

解析awk内容:awk,是一个行文本处理工具;-F\',表示处理文本以单反引号作为分割,取出值第一列等于menuentry的,就是匹配的内容,然后打印出第二列类内容。

本例实际处理的内容是/etc/grub2.cfg的如下内容:

...省略前面内容...
menuentry 'CentOS Linux (5.4.218-1.el7.elrepo.x86_64) 7 (Core)' --class centos --class ...省略...
menuentry 'CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core)' --class centos ...省略...
menuentry 'CentOS Linux (0-rescue-2eb5357177ae46d781b26d504df8ea0c) 7 (Core)' --class centos ...省略...
...省略后面内容...

因此使用如下命令,也能找到需求内容,只是没那么简洁。

命令:cat /etc/grub2.cfg | grep menuentry

(6)设置启动的内核

命令:grub2-set-default 0

解析:设置编码为0的内核,也就是刚刚安装的内核。

(7)重启操作系统

重启:reboot

(8)查看生效的版本

命令:hostnamectl

解析:生效版本Linux 5.4.218-1.el7.elrepo.x86_64。

(9)删除旧版包

查看已经安装的包:rpm -qa | grep kernel

删除指定包:yum remove -y 包名称

例如:yum remove -y kernel-3.10.0-1160.el7.x86_64

(10)附:官网镜像

如果使用官网的Elrepo镜像源。

步骤一:导入gpgkey文件

命令:rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

步骤二:安装Elrepo镜像源

命令:yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm

解析:执行步骤1和2后,生成两个本地文件:/etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org和/etc/yum.repos.d/elrepo.repo;也就是完成了配置Elrepo镜像源操作。

步骤三:直接使用yum命令安装

3.内网环境升级内核

内网环境升级内核:主机无法连接公网ELRepo镜像源。

基础条件:内网中搭建一个ELRepo镜像源。

外网主机:hadoop200;内网主机hadoop201。

(1)在公网下载ELRepo镜像源

在外网主机hadoop200操作。

使用reposync下载阿里云开源镜像站的elrepo镜像仓库的rpm包。

步骤一:配置外网elrepo镜像源

编辑文件:vi /etc/yum.repos.d/elrepo.repo

编辑内容:

[elrepo]
name=elrepo
baseurl=https://mirrors.aliyun.com/elrepo/archive/kernel/el7/x86_64
gpgcheck=0
enabled=1

步骤二:下载rpm包

下载:reposync -r elrepo -p /home/mirror

(2)制作内网的ELRepo镜像源

在外网主机hadoop201操作。

步骤一: 安装httpd软件并启动httpd服务

步骤二: 把下载的rpm包拷贝到内网主机的/var/www/html/elrepo/目录

步骤三: createrepo生成镜像仓库元数据

命令:createrepo -v /var/www/html/elrepo

步骤四:配置内网镜像ELRepo镜像源源

编辑文件:vi /etc/yum.repos.d/elrepo.repo

编辑内容:

[elrepo-x86_64]
name=elrepo-x86_64
baseurl=http://192.168.19.201/elrepo
enabled=1
gpgcheck=0

步骤五:使用yum命令

(3)查镜像仓库中内核包

命令:yum list --showduplicate kernel*

(4)安装内核

版本:kernel-lt-5.4.218

命令:yum install -y kernel-lt-5.4.218

命令:yum install -y kernel-lt-devel-5.4.218

(5)查看内核编码

命令:

awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg

解析:0,1,2是内核编号。

(6)设置启动的内核

命令:grub2-set-default 0

解析:设置编码为0的内核,也就是刚刚安装的内核。

(7)重启操作系统

重启:reboot

(8)查看生效的版本

命令:hostnamectl

解析:在用版本Linux 5.4.218-1.el7.elrepo.x86_64。

(9)删除旧版包

查看已经安装的包:rpm -qa | grep kernel

删除指定包:yum remove -y 包名称

例如:yum remove -y kernel-3.10.0-1160.el7.x86_64

以上,感谢。

2022年12月13日

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/86622.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自动化测试框架如果都总结成这样,人人都能学好

1、自动化测试框架设计的核心,可以概括为解决以下这些问题: 1)测试数据要怎么准备,如何在框架中实现,是否可复用。 2)测试用例的批量导入。 3)用例之间是否存在逻辑关系,相互之间是否有影响,在框架中该如何…

nginx平滑升级(2022.12.13)

相关视频教程: https://www.bilibili.com/video/BV1BK411W7hn 相关文章: https://blog.csdn.net/u012885136/article/details/122054931 nginx平滑升级 1、旧版本的nginx ps -ef | grep nginx2、解压新版本nginx ,进行编译安装 tar -xvf nginx-1.20.…

Spring使用指南 ~ 5、Spring AOP 使用简介

Spring AOP 使用简介 一、通知(Advice) 公共使用类 Agent.java package com.luo.spring.guides.aop.simple.domain;public class Agent {public void speak() {System.out.println("Bond");} }1、前置通知 package com.luo.spring.guides.…

算法拾遗二十二之Dijstra算法优化+认识一些经典的递归过程

Dijstra算法优化 public static class NodeRecord {public Node node;public int distance;public NodeRecord(Node node, int distance) {this.node node;this.distance distance;}}public static class NodeHeap {private Node[] nodes; // 实际的堆结构// key 某一个node&…

VS2019封装C++接口至可执行动态链接库.dll

VS2019封装C接口至可执行动态链接库.dll 本文主要总结如何对已实现的C函数、类进行封装,以便在其他平台或者语言上进行便捷使用或者二次开发! 重点参考: 1.https://blog.csdn.net/hai_fellow_Z/article/details/117290517 2.https://blog.csd…

打工人的发展困境

近期在公司内部QE社区举办了一场研讨会,主题是《QA角色职业发展机遇讨论》。收集到以下观点,觉得挺有意思,又不局限于特定角色,于是用XX代替QA。 无论是在公司内部还是外部,XX都是单独作战居多,从他人身上…

都在说00后是躺平的一代,公司刚来的00后却把我卷哭了

上个月公司来了许多新面孔,其中居然有一个是00年的,虽然也给公司带来了一些新的血液,但也让我意识到,自己年级确实不小了。这小老弟是去年毕业的,在某软件公司干了半年,现在跳槽到我们公司起薪18K&#xff…

通过数据分析提升客流量和销售额

只有把每一位来光临的顾客都当作最后一位顾客,我们才可能真正实现营销和服务管理的精细化,正如只有把自己的每一天都当作生命的最后一天来对待的人才可能真正珍惜时间和生命一样。 如何提高门店的销售额可以说是大部分店长都十分困惑的问题,…

12月13日 OpenCV 实战基础学习笔记——Harris、SIFT

文章目录前言一、Harris 角点检测1、公式推导2、找到 E(u,v)E(u, v)E(u,v) 的最大值二、SIFT1、关键点定位 keypoint localisation2、特征描述 feature description前言 本文为12月13日 OpenCV 实战基础学习笔记,分为两个章节: Harri 角点检测&#xf…

docker安装Gitlab、修改密码、创建组、创建项目、创建用户、Git拉取代码

安装 建议内存大于2G 开放防火墙端口80和配置映射文件夹 firewall-cmd --zonepublic --add-port80/tcp --permanent firewall-cmd --reload mkdir -p /docker_data/gitlab/{data,logs,config}启动Gitlab容器(启动容器之前确保22,80,443端口没…

图解外包验收流程V2.0及详细说明实例

详细说明 01、【开发计划内容】-标准模板{文档} 1.包含二级模块开发计划,标注里程碑验收节点; 2.包含架构设计、数据库设计输出时间; 3.包含接口开发计划及其接口明细; 4.所有节点分配到具体的人和具体的开始结束时间&#xff1…

Python读取Word文档中的Excel嵌入文件

今天群友提出一个问题: 给出Word示例如下: 对于这种嵌入文件在Word中都属于ole文件。 下面我们假设需要读取每个嵌入的Excel文件中的python工作表中的A1单元格。 python调用宏实现 首先我们看看如何调用com接口的宏代码实现这个效果,最终完…

SpringBoot多模块项目初始化搭建

🎶 文章简介:SpringBoot多模块项目初始化搭建 💡 创作目的:详细介绍SpringBoot多模块项目的搭建 ☀️ 今日天气:阳光明媚 📝 每日一言:不求事事圆满,但求事事甘心。 文章目录1、新建…

数据结构与算法——Java实现单链表、双向链表、环型链表、约瑟夫

目录 一、单链表 1.1 单链表基本介绍 1.2 分析与实现带head头结点的单向链表 1.2.1第一种方式: 尾部添加元素示意图 1.2.2 尾部添加元素的代码实现以及遍历链表的实现 1.2.3 第二种方式: 根据排名将节点插入到指定位置的示意图 1.2.4 根据排名将节…

MySQL入门到精通经典50题,看这一篇就够了

MySQL入门到精通经典50题学习笔记 pdf获取方式,公众号:每天都要努力coding回复:mysql经典50题 文章目录MySQL入门到精通经典50题学习笔记[toc]MySQL安装教程详解数据预览sql建表语句1.查询" 01 “课程比” 02 "课程成绩高的学生的…

基于鸽群算法优化的lssvm回归预测-附代码

基于鸽群算法优化的lssvm回归预测 - 附代码 文章目录基于鸽群算法优化的lssvm回归预测 - 附代码1.数据集2.lssvm模型3.基于鸽群算法优化的LSSVM4.测试结果5.Matlab代码摘要:为了提高最小二乘支持向量机(lssvm)的回归预测准确率,对…

你的项目需要自动化测试吗?看看这篇文章再说吧

什么是自动化测试? 通过代码的方式,实现测试用例的自动运行,评估运行结果,并对测试结果及异常情况进行记录。 为什么进行自动化测试? 纯手工测试会有好多重复性的操作,浪费时间,而且频繁的回…

央企招聘:中国大唐集团2023年度公开招聘公告

中国大唐集团科学技术研究总院有限公司(以下简称科研总院)是世界500强企业——中国大唐集团有限公司(以下简称集团公司)的全资子公司,是集团公司的科技创新中心、战略参谋本部、成果孵化中心、技术服务保障基地和科技人…

Qt+VS+VTK综合开发环境配置

说明 本文旨在介绍一种个人常用的开发环境,主要解决在VS中开发Qt项目的部分问题,以及解决使用基于Qt的VTK库开发时可能遇到的部分问题,并通过合理的配置提升新项目搭建时间 该教程使用版本为VS2017,Qt5.14.2以及VTK8.2&#xff…

git_No.1_版本管控的全流程

文章目录1.获取Git仓库1.1 已存在目录中初始化仓库1.2 克隆一个仓库2. 将变更提交到仓库2.1 查看当前文件状态2.2 跟踪新文件2.3 暂存已修改的文件2.4 忽略文件2.5 查看已暂存和未暂存的修改2.6 提交更新2.7 跳过使用暂存区2.8 移除文件3. 查看提交历史4.远程仓库4.1 查看远程仓…