前言:
之前没做过linux内核的升级,一直觉得这是一个很高级的操作,最近突然想自己去尝试一下,做过之后才发现,其实没啥高级的,很简单,就是执行几个命令。
自己是在阿里云服务器ESC上操作的,操作系统是CentOS 7.6 64位,将操作过程记录如下。
一、查看Linux内核版本(2种方法)
1、cat /proc/version 或 2、uname -a
二、升级系统内核
一般来说,只有从https://www.kernel.org/ 下载并编译安装的内核才是官方内核,
不过,大多数 Linux 发行版提供自行维护的内核,可以通过 yum 或 rpm 等包管理系统升级。
ELRepo是一个为Linux提供驱动程序和内核映像的存储库,这里的升级方案就是采用ELRepo提供的内核通道。
ELRepo官网:http://elrepo.org/tiki/tiki-index.php
1. 查看 yum 中可升级的内核版本
yum list kernel --showduplicates
如果list中有需要的版本可以直接执行 update 升级,多数是没有的,所以要按以下步骤操作。
2.导入ELRepo软件仓库的公共秘钥
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
3.下载ELRepo软件仓库中的内核源
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
4.查看ELRepo提供的内核版本
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
5.安装主线内核(ml=mainline)
yum --enablerepo=elrepo-kernel install kernel-ml
5.查看系统可用内核,并设置启动项
sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
上面命令可以输出系统上存在哪些内核版本,每个版本前面都有对应编号,如0,1,2等,可以通过 grub2-set-default
命令加编号来使用相应内核版本,
一般是最新的版本,即编号为0的版本。
grub2-set-default 0
6.生成 grub 配置文件
grub2-mkconfig -o /boot/grub2/grub.cfg
6.重启系统并验证
uname -a
执行以上命令则可以看到,系统内核版本已经升级为我们指定的版本。
参考博客:
https://www.cnblogs.com/jinyuanliu/p/10368780.html
https://www.cnblogs.com/polk6/p/11282477.html