Linux kernel是一种开源的类Unix操作系统宏内核,最早在1991年由芬兰黑客Linus Torvalds基于C语言开发。为了修复以往版本的漏洞,或者支持新的功能,常常需要更新内核版本。
升级方法一:rpm安装
Linux内核RPM包由一个开源社区ELREPO提供,非官方版本,好处是部署速度快、操作简单。
0x1 获取当前内核版本
1 2 3 4 |
# 通过以下命令都可以获取当前内核版本 uname -a uname -sr cat /proc/version |
0x2 导入公钥
1 2 3 4 5 |
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org # Redhat7/CentOS7 yum -y install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm # Redhat8/CentOS8 yum -y install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm |
0x3 获取可用内核版本
1 |
yum --disablerepo=\* --enablerepo=elrepo-kernel list kernel* |
0x4 升级内核
1 2 3 4 |
# 升级至ml(最新发布版本): yum --enablerepo=elrepo-kernel -y install kernel-ml # 升级至tl(长期服务版本): yum --enablerepo=elrepo-kernel -y install kernel-lt |
0x5 修改配置
编辑/etc/default/grub修改以下参数:
1 |
GRUB_DEFAULT=0 |
然后执行以下命令:
1 |
grub2-mkconfig -o /boot/grub2/grub.cfg |
升级方法二:编译安装
源码包由官方提供,需编译安装。
0x1下载源码包
从以下地址下载对应的kernel源码包:
从官方网站下载的内核源码包是xz格式,需要安装xz解压工具,访问下载地址。xz安装方法如下:
1 2 3 |
cd <软件包位置> ./configure make && make install |
0x2 部署编译环境
1 2 |
yum -y install gcc make ncurses-devel openssl-devel flex bison elfutils-libelf-devel yum -y upgrade |
0x3 准备编译
1 2 3 4 |
cd {new-kernel-dir} cp /boot/config-{kernel-version} .config # 以下命令提供安装菜单,按其默认选择“save”后“ok”,随后退出菜单即可 make menuconfig |
0x4 开始编译
执行以下命令,开启全部CPU核心进行编译并安装,视处理器性能约在1-5小时完成,强烈建议在编译过程中停止所有业务。
1 |
make -j `nproc` && make modules_install && make install |
验证结果
完成安装后,重启操作系统,验证升级结果,本人在CentOS7.8中测试,内核版本是3.10.0,升级至最后的长期服务版本,结果如下:
原创文章禁止转载:技术学堂 » Redhat7/8升级系统内核版本详细步骤