文章目录
一、Linux 升级内核Centos7 yum/rpm升级到最新内核Centos 7 rpm升级到指定内核关于Linux依赖包资源下载二、Linux内核源码的编译及安装三、设置 grub2 切换内核查看系统上的所有可用内核:设置新的内核为grub2的默认版本四、centos系统中kernel-devel1. LINUX中的kernel-devel工具是干什么的?2. 安装标配内核 kernel-devel一、Linux 升级内核
Centos7 yum/rpm升级到最新内核
Centos7升级内核
参考URL: /mgsudu/p/14741297.html
如何在 CentOS 7 中安装或升级最新的内核
参考URL: /article-8310-1.html
具体,推荐查看原文。
检查已安装的内核版本
[root@localhost ~]# uname -srLinux 3.10.0-1160.el7.x86_64
大多数现代发行版提供了一种使用 yum 等包管理系统和官方支持的仓库升级内核的方法。
但是,这只会升级内核到仓库中可用的最新版本 - 而不是在 / 中可用的最新版本。不幸的是,Red Hat 只允许使用前者升级内核。
与 Red Hat 不同,CentOS 允许使用 ELRepo,这是一个第三方仓库,可以将内核升级到最新版本。
/tiki/HomePage
Centos 7 rpm升级到指定内核
rpm 去
/download/kernel(list_del) 找 kernel-xxx.rpm
/download/kernel-devel 找 kernel-devel-xxxx.rpm
下载指定版本用rpm -Uvh安装或者用yum安装:
yum -y install kernel-ml-devel-4.12.4-1.el7.elrepo.x86_64.rpmyum -y install kernel-ml-4.12.4-1.el7.elrepo.x86_64.rpm
centos7亲测:rpm安装的内核,reboot后貌似就自动切换好了。
关于Linux依赖包资源下载
教你怎么解决Linux依赖包第一篇:资源网下载
参考URL: /qq_36154886/article/details/106853048
在pkgs网站上几乎收集了所有对外发布的Linux服务包,无论是Debian系,红帽系,arrch系都有,一个字:齐全
/
/index.php3
二、Linux内核源码的编译及安装
下载Linux内核的源代码 (Download the source code of Linux kernel)
从[ /]下载。
三、设置 grub2 切换内核
查看系统上的所有可用内核:
$ awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
0 : CentOS Linux (5.12.1-1.el7.elrepo.x86_64) 7 (Core)
1 : CentOS Linux (3.10.0-1160.25.1.el7.x86_64) 7 (Core)
2 : CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core)
3 : CentOS Linux (0-rescue-16ba4d58b7b74338bfd60f5ddb0c8483) 7 (Core)
设置新的内核为grub2的默认版本
服务器上存在4 个内核,我们要使用 5.12.1这个版本,可以通过 grub2-set-default 0 命令或编辑 /etc/default/grub 文件来设置
方法1、通过 grub2-set-default 0 命令设置
其中 0 是上面查询出来的可用内核
grub2-set-default 0
方法2、编辑 /etc/default/grub 文件
设置 GRUB_DEFAULT=0,通过上面查询显示的编号为 0 的内核作为默认内核:
$ vim /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="(sed′s,release.∗(sed 's, release .*(sed′s,release.∗,g’ /etc/system-release)"
GRUB_DEFAULT=0
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT=“console”
GRUB_CMDLINE_LINUX=“crashkernel=auto rd.lvm.lv=cl/root rhgb quiet”
GRUB_DISABLE_RECOVERY=“true”
方法3: 推荐
查看所有内核启动 grub2
# awk -F \' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg 0 : CentOS Linux (5.2.4-1.el7.elrepo.x86_64) 7 (Core)1 : CentOS Linux (3.10.0-327.28.3.el7.x86_64) 7 (Core)2 : CentOS Linux (3.10.0-327.22.2.el7.x86_64) 7 (Core)3 : CentOS Linux (3.10.0-327.13.1.el7.x86_64) 7 (Core)4 : CentOS Linux, with Linux 0-rescue-cd8c4444947b4b0b818457f51ded6591
修改为最新的内核启动
grub2-set-default ‘CentOS Linux (5.2.4-1.el7.elrepo.x86_64) 7 (Core)’
然后reboot
经过测试 centos7 rpm安装完成,重启,自动就换成你安装的内核了。
四、centos系统中kernel-devel
1. LINUX中的kernel-devel工具是干什么的?
如果某个程序需要内核提供的一些功能,它就需要内核的 C header 来编译程序,这个时候 linux-devel 里面的东西就用上了。
kernel-devel 不光是 C Header 文件,它还有内核的配置文件,以及其他的开发用的资料。
区别:kernel-devel包只包含用于内核开发环境所需的内核头文件以及Makefile,而kernel-souce包含所有内核源代码。
如果仅仅是用于你自己编写的模块开发的话,因为只需引用相应的内核头文件,所以只有devel包即可,如果你要修改现有的内核源代码并重新编译,那必须是kernel-souce。
kernel-souce在RH某些版本之后不再附带在发行版中了,必须自己通过kernel-XXX.src.rpm做出来。
kernel-devel是用做内核一般开发的,比如编写内核模块,原则上,可以不需要内核的原代码。
kernel则是专指内核本身的开发,因此需要内核的原代码。
rpm 去
/download/kernel(list_del) 找 kernel-xxx.rpm
/download/kernel-devel 找 kernel-devel-xxxx.rpm
2. 安装标配内核 kernel-devel
找到linux的安装盘,将其挂载到当前系统中,然后去Packages目录执行安装命令。
mkdir -p /mnt/cdrommount /dev/cdrom /mnt/cdromcd /mnt/cdromcd Packagesrpm -Uvh kernel-devel*.rpm