CentOS安装新版本Linux内核(kernel-ml)
金蝶云社区-云社区用户9oi51234
云社区用户9oi51234
2人赞赏了该文章 2,828次浏览 未经作者许可,禁止转载编辑于2018年07月27日 19:01:00
summary-icon摘要由AI智能服务提供

本文介绍了如何在RHEL/CentOS系统上安装elrepo社区编译的主流新版本Linux内核,包括确认系统版本、导入elrepo的软件包储存库、安装新内核、更新启动管理器(grub)、重启机器以及验证新内核版本等步骤。同时提到了elrepo还提供长期支持版内核,并说明了如何处理内核header的冲突问题。最后,提示了如何删除旧版本内核(需谨慎操作)。

新版本Linux内核——这里指的是由elrepo社区为RHEL及其衍生版(CentOS等)编译的主流新版本Linux内核。因为RHEL/CentOS预置的内核版本都是随大版本冻结的,6.x系列都是2.6.32版、7.x系列都是3.10.0版,虽然生命周期内一直有内核安全更新,但新版本Linux内核的新增功能享受不到。如果要用新版本内核里的新功能,例如BBR,就需要替换掉CentOS预置的内核。


我们要安装的是主流新版本内核,elrepo除了主流新版本内核(kernel-ml),还编译维护“长期支持版内核”(kernel-lt),是比主流新内核版本低、但又比RHEL/CentOS预置版本高,跟kernel-ml的区别是kernel-lt的版本不经常升级,基本只做安全更新。


步骤(需要有root权限或sudo):


1、确认CentOS的发行版本和内核版本(发行版6.x系列跟7.x系列的后续步骤有些不同)

    确认发行版本,运行

        cat /etc/redhat-release

    确认内核版本,运行

        uname -sr


2、导入elrepo的软件包储存库密钥(因为是第三方储存库),运行

    rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org


3、导入elrepo的软件包储存库

    CentOS 6.x,运行

        rpm -Uvh http://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm

    CentOS 7.x,运行

        rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm


4、查看现在elrepo里有什么版本的新内核可以用,运行

    yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

image.png

    如果列表是空的,检查/etc/yum.conf,看是否屏蔽了kernel相关包(exclude=kernel*),如有则注释掉此exclude语句


5、安装最新的主流内核,运行

        yum --enablerepo=elrepo-kernel install kernel-ml -y

    如果要在本机做开发编译,还要安装内核header

        yum --enablerepo=elrepo-kernel install kernel-ml-headers -y

    如果提示kernel-ml-headers与旧版本的kernel-header冲突,先把旧版本header删除

        yum remove kernel-headers

    卸载旧header如提示有依赖旧header的软件包,拷贝列表,先确认关联删除,在安装kernel-ml-headers后再重装这些包


6、更新启动管理器(grub),让机器用新内核启动

    CentOS 6.x,比较简单:

        修改grub配置文件/etc/grub.conf,改

                default=1

            为

                default=0

    CentOS 7.x,复杂些:

        先查看机器上安装的内核启动顺序

            awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg

        image.png

            再把新内核的顺序号(一般是0号)设为默认启动

                grub2-set-default 0

            最后使grub的新配置生效

                grub2-mkconfig -o /boot/grub2/grub.cfg


7、重启机器


8、查看内核版本,看看是否已用新内核启动,运行

        uname -sr

        image.png


9、(可选)删除老版本内核(谨慎!)


    查询本机安装的所有内核

        rpm -q kernel

    删除

        yum remove kernel-老内核的版本号

    

    如果要删除老版本的kernel-ml,则是

        rpm -q kernel-ml

        yum remove kernel-ml-版本号



赞 2