羊蹓狼 发表于 2024-6-11 12:54:55

Linux—小小内核升级

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

常见内核安装包


[*]内核(kernel):这是Linux操纵体系的焦点部分,它负责管理体系的硬件和软件资源,提供各种服务给软件应用程序;
[*]内核开发包(kernel-devel):这个包包罗了内核头文件,这些文件可以用来构建内核模块
[*]内核头文件包(kernel-headers):这个包包罗了指定Linux内核与用户空间库和程序之间的接口的C头文件。这些头文件定义了构建大多数标准程序所需的常量布局和常量
  假如是升级内核的话,需要下载上面三个安装包,只是编译内核的话,就只需要下载个devel包即可。
  关于如何获取这些安装包的话,我一样寻常都是在【 内核包下载地址】这条链接获取的
https://img-blog.csdnimg.cn/direct/629f9969f39e49c6951466399c2ad3e5.png
其余的安装包获取,可以参考这个
  下面这些存放都是比较零散的,需要耗费大量时间,而且对应的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举行编译了

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Linux—小小内核升级