Linux—小小内核升级

news2024/11/27 13:29:50

  本篇主要是讲述下关于内核的一些基本常识,并记录下内核升级和编译的过程,若有遗漏/有误之处,望各位大佬们指出。

Ⅰ 基本内核常识

常见内核安装包

  • 内核(kernel):这是Linux操作系统的核心部分,它负责管理系统的硬件和软件资源,提供各种服务给软件应用程序;
  • 内核开发包(kernel-devel):这个包包含了内核头文件,这些文件可以用来构建内核模块
  • 内核头文件包(kernel-headers):这个包包含了指定Linux内核与用户空间库和程序之间的接口的C头文件。这些头文件定义了构建大多数标准程序所需的常量结构和常量

  如果是升级内核的话,需要下载上面三个安装包,只是编译内核的话,就只需要下载个devel包即可。

  关于如何获取这些安装包的话,我一般都是在【 内核包下载地址】这条链接获取的
在这里插入图片描述

其余的安装包获取,可以参考这个
  下面这些存放都是比较零散的,需要花费大量时间,而且对应的rpm包比较不好找

  • centos7官方:http://elrepo.org/linux/kernel/el7/x86_64/RPMS/
  • 阿里云:https://developer.aliyun.com/mirror/
  • 清华源:https://mirrors.edge.kernel.org/pub/linux/kernel/

Ⅱ 升级内核版本

需要下载好三个安装包,分别为【以X86_64的centos为例子】

  • kernel-3.10.0-957.e17.x86_64.rpm
  • kernel-devel-3.10.0-957.e17.x86_64.rpm
  • kernel-headers-3.10.0-957.e17.x86_64.rpm

进入该目录,执行下面这条指令

yum localinstall kernel-*

使用下面指令,查看内核是否安装成功

awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
grub2-set-default 0   #指定内核编号,一般新安装的内核版本都会放到第一位,留意下内核版本编号

最后执行指令【reboot】重启服务器,即可

Ⅲ 编译内核

如果只是编译内核的话,只需要一个开发包kernel-devel就可以了。

// 开发包devel存放位置
/usr/src/kernels/$(uname -r)

  只下载一个开发包就可以了,去下载一个对应的内核开发包.rpm,然后再执行make即可进行编译了。
拉取devel包后,到相对于位置执行以下指令

uname -a ; rpm -qa kernel\* | sort // 查看已安装devel包
yum localinstall kernel-devel-3.10.0-957.27.2.el7.x86_64.rpm  // 下载到本地

//卸载
yum remove kernel-devel-2.6.32-754.el6.x86_64

//验证
 ls /usr/src/kernels/$(uname -r)/

【注意】
  关于旧版内核的东西,由于centos官方删掉了一部分的devel文件,如果需要拉去的话,只能自己手动去找rpm进行编译了

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

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

相关文章

拉格朗日乘子将不等式约束转化为等式约束例子

拉格朗日乘子将不等式约束转化为等式约束例子 在优化问题中,常常需要将不等式约束转化为等式约束。使用拉格朗日乘子法,可以通过引入松弛变量将不等式约束转换为等式约束,然后构造拉格朗日函数进行求解。 拉格朗日乘子法简介 拉格朗日乘子法是求解带约束优化问题的一种方…

局域网测速

对于网管来说,企业局域网络的速度是知道的,因为网管清楚企业局域网络的拓扑结构、网络链路、网络设备以及实际到桌面的情况。 有时候即使千兆到桌面实际因为影响的因素多,实际的网络速度可能会打一定的折扣,那么就需要清楚实际的网…

数据挖掘分析的一点进步分享

import pandas as pd import matplotlib.pyplot as plt import numpy as npdata pd.read_csv(heros.csv,encoding"gbk") data.head() 导入数据集 进行分析 df_datadata.copy() df_data.describe()df_data.info() df_data.drop(英雄,axis1,inplaceTrue) df_data[最…

[图解]建模相关的基础知识-06

1 00:00:00,790 --> 00:00:03,480 下一个概念,就是基数的概念 2 00:00:04,390 --> 00:00:11,560 cardinality,表示有限集合中元素的数量 3 00:00:12,200 --> 00:00:14,790 我们可以用一个井号 4 00:00:14,800 --> 00:00:18,320 在前面表示…

element-plus的el-text组件(文本组件)的介绍和使用

el-text(适合文本操作的组件) 设置文本type,如default,primary,success,info,warning,danger超出容器尺寸自动省略,tuncated属性设置size属性控制文本大小,有large,default,small设置tag属性,值为html5标签名&#xf…

python - Pandas缺失值处理

文中所用数据集已上传,找不到的可以私聊我 学习目标 知道空值和缺失值的区别以及缺失值的影响 知道如何查看数据集缺失值情况的方法 知道缺失值处理的办法 1 NaN简介 好多数据集都含缺失数据。缺失数据有多种表现形式 数据库中,缺失数据表示为NULL 在某些编程语…

JDK下载安装Java SDK

Android中国开发者官网 Android官网 (VPN翻墙) 通过brew命令 下载OracleJDK(推荐) 手动下载OracleJDK(不推荐) oracle OracleJDK下载页 查找硬件设备是否已存在JDK环境 oracle官网 备注: JetPack JavaDevelopmentKit Java开发的系统SDK OpenJDK 开源免费SDK …

只需两步!使用ChatGPT搞定学术论文润色和降重(附带详细方法指令合集)

欢迎关注,为大家带来最酷最有效的智能AI学术科研写作攻略。关于使用ChatGPT等AI工具的相关问题可以添加作者七哥沟通 大家好,我将通过这篇文章分享如何借助ChatGPT提升论文的质量,重点是润色和降重,给大家分享两个顶级高效的辅助提…

关于Latitude5490的问题Bios引导问题

关于Latitude5490的问题Bios引导问题 一、问题描述1、第一次维修:2、第二次维修: 二、捣鼓过程1、Latitude 5490的Bios引导2、捣鼓硬盘分区格式3、使用PE修复引导4、处理方法 三、参考链接 一、问题描述 本人原本电脑型号为Latitude 5480,电…

stm32中外部中断控制Led亮灭

说明:外部中断的方式通过按键来实现,stm32的配置为江科大stm32教程中的配置。 1.内容: 通过中断的方式,按下B15按键Led亮,按下B13按键Led灭。 2.硬件设计: 3.代码: 3.1中断底层 EXTI.c #i…

创建 MFC DLL-使用关键字_declspec(dllexport)

本文仅供学习交流,严禁用于商业用途,如本文涉及侵权请及时联系本人将于及时删除 从MFC DLL中导出函数的另一种方法是在定义函数时使用关键字_declspec(dllexport)。这种情况下,不需要DEF文件。 导出函数的形式为: declspec(dll…

Android Ble低功耗蓝牙开发

一、新建项目 在Android Studio中新建一个项目,如下图所示: 选择No Activity,然后点击Next 点击Finish,完成项目创建。 1、配置build.gradle 在android{}闭包中添加viewBinding,用于获取控件 buildFeatures {viewB…

SpringBoot+Vue网上点餐系统(前后端分离)

技术栈 JavaSpringBootMavenMySQLMyBatisVueShiroElement-UI 角色对应功能 用户管理员 功能截图

SpringBoot+Vue网上超市(前后端分离)

技术栈 JavaSpringBootMavenMySQLMyBatisVueShiroElement-UI 角色对应功能 用户管理员 功能截图

启动游戏出现concrt140.dll错误的解决方法

concrt140.dll是一个动态链接库文件,属于Microsoft Visual C 2015 Redistributable组件集的一部分。这个文件是并发运行时库(Concurrency Runtime)的一部分,对于支持和增强应用程序的多线程与并发执行能力至关重要。它包含了实现并…

xshell远程无法链接上VM的centos7

1、现象如下, 2.解决办法:查证后发现这个默认的设置为vmnet0 3.参考文章:Xshell连接不上虚拟机centos7_centos7的nat模式可以ping通网络,但是用xshell连不上是什么原因-CSDN博客

【Python】数据处理:SQLite操作

使用 Python 与 SQLite 进行交互非常方便。SQLite 是一个轻量级的关系数据库,Python 标准库中包含一个名为 sqlite3 的模块,可以直接使用。 import sqlite3数据库连接和管理 连接到 SQLite 数据库。如果数据库文件不存在,则创建一个新数据库…

《精通ChatGPT:从入门到大师的Prompt指南》第9章:实战练习

第9章:实战练习 9.1 Prompt练习题 在本节中,我们将提供一系列练习题,旨在帮助读者通过实际操作提升使用ChatGPT的能力。这些练习题涵盖了从基础到高级的不同难度级别,并针对各种应用场景设计,确保读者能够在实际使用…

正确理解iOS中的同步锁

在 iOS 开发中,同步锁(synchronized lock)是一种用于管理多线程访问共享资源的机制,而不是某一种特定类型的锁。它涵盖了多种具体实现和技术,用于确保同一时间只有一个线程能够访问某个共享资源,从而避免数…

vue26:vue的环境搭建

vue环境安装配置 在点击上方链接前,注意!!!!!!!! 下方的红字!!!!!!!!&am…