美文网首页
在Centos 7或8上升级内核到5.16

在Centos 7或8上升级内核到5.16

作者: 明翼 | 来源:发表于2022-02-21 20:38 被阅读0次

    默认在centos8.x版本上的内核版本为4.18,这个版本还是比较低的,比如我们试验eBPF的时候,很多功能都无法完全支持,需要升级下内核的版本。

    内核是操作系统的核心,负责:

    1. 进程管理: 确定哪些程序可以使用哪个cpu,使用多长时间;
    2. 内存管理;
    3. 设备驱动提供;
    4. 系统调用和安全。

    内核相关列表:

    kernel: This package contains the kernel for single-core, multi-core, and multi-processor systems
    kernel-devel : This contains kernel headers and makefiles used to build kernel modules against installed Kernel version.
    kernel-headers: This package includes the C header files that powers interfacing between the Linux kernel and user-space libraries and programs.
    kernel-tools: Contains tools for manipulating the Linux kernel and supporting documentation.
    perf: This package contains the perf tool, which enables performance monitoring of the Linux kernel.
    linux-firmware: This contains the firmware files required by various devices to operate.
    

    一 将ELRepo 库 添加到系统上:

    # centos 8
    sudo dnf -y install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
    
    #centos 7
    sudo yum -y install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
    

    查看是否安装库成功:

    $ cat /etc/yum.repos.d/elrepo.repo
    
    

    二 导入签名的密钥

    # centos 7或8 一样的
    sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
    

    三 选择安装内核

    我们的存储库包含 elrepo-kernel 通道,它为 CentOS 和 RHEL Linux 系统提供了长期(kernel-lt) 支持内核和最新的稳定主线内核(kernel-ml)。
    我们可以列出主线内核版本

    [root@localhost ~]# sudo dnf --disablerepo="*" --enablerepo="elrepo-kernel" list available | grep kernel-ml
    Repository extras is listed more than once in the configuration
    kernel-ml-devel.x86_64                  5.16.10-1.el8.elrepo       elrepo-kernel
    kernel-ml-doc.noarch                    5.16.10-1.el8.elrepo       elrepo-kernel
    kernel-ml-headers.x86_64                5.16.10-1.el8.elrepo       elrepo-kernel
    kernel-ml-modules-extra.x86_64          5.16.10-1.el8.elrepo       elrepo-kernel
    kernel-ml-tools.x86_64                  5.16.10-1.el8.elrepo       elrepo-kernel
    kernel-ml-tools-libs.x86_64             5.16.10-1.el8.elrepo       elrepo-kernel
    kernel-ml-tools-libs-devel.x86_64       5.16.10-1.el8.elrepo       elrepo-kernel
    
    

    长期支持版本,可以用下面命令查看:

    [root@localhost event-2]#  dnf --disablerepo="*" --enablerepo="elrepo-kernel" list available | grep kernel-lt
    Repository extras is listed more than once in the configuration
    kernel-lt.x86_64                        5.4.180-1.el8.elrepo       elrepo-kernel
    kernel-lt-core.x86_64                   5.4.180-1.el8.elrepo       elrepo-kernel
    kernel-lt-devel.x86_64                  5.4.180-1.el8.elrepo       elrepo-kernel
    kernel-lt-doc.noarch                    5.4.180-1.el8.elrepo       elrepo-kernel
    kernel-lt-headers.x86_64                5.4.180-1.el8.elrepo       elrepo-kernel
    kernel-lt-modules.x86_64                5.4.180-1.el8.elrepo       elrepo-kernel
    kernel-lt-modules-extra.x86_64          5.4.180-1.el8.elrepo       elrepo-kernel
    kernel-lt-tools.x86_64                  5.4.180-1.el8.elrepo       elrepo-kernel
    kernel-lt-tools-libs.x86_64             5.4.180-1.el8.elrepo       elrepo-kernel
    kernel-lt-tools-libs-devel.x86_64       5.4.180-1.el8.elrepo       elrepo-kernel
    
    

    下面可以选择长期版本或主线最新稳定版本:

    # Install mainline kernels
    sudo dnf --enablerepo=elrepo-kernel install kernel-ml
    或者
    # Install long term kernels
    sudo dnf --enablerepo=elrepo-kernel install kernel-lt
    

    安装其他内核:

    #mainline
    sudo dnf  --allowerasing   --enablerepo=elrepo-kernel install kernel-ml-{devel,headers}
    或者
    #lt
    sudo dnf  --allowerasing   --enablerepo=elrepo-kernel install kernel-lt-{devel,headers}
    

    allowerasing 是替换老版本的其他核心,比如kenel-headers等

    四 切换默认内核版本

    # 查看所有可用内核版本
    grubby --info=ALL | grep ^kernel
    #查看默认的内核版本
    grubby --default-kernel
    # 设置内核版本
     grubby --set-default "/boot/vmlinuz-5.16.10-1.el8.elrepo.x86_64"
    #重启
    reboot
    

    centos 7 设置新内核
    vim /etc/default/grub

    GRUB_TIMEOUT=1
    GRUB_DEFAULT=0 
    GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
    GRUB_DEFAULT=saved
    GRUB_DISABLE_SUBMENU=true
    GRUB_TERMINAL_OUTPUT="console"
    GRUB_CMDLINE_LINUX="no_timer_check console=tty0 console=ttyS0,115200n8 net.ifnames=0 biosdevname=0 elevator=noop crashkernel=auto"
    GRUB_DISABLE_RECOVERY="true"
    

    重新生成grub配置文件:

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

    五 查看内核版本

    uname -r
    

    六卸载内核

    sudo dnf remove kernel-ml kernel-ml-{devel,headers}
    
    

    相关文章

      网友评论

          本文标题:在Centos 7或8上升级内核到5.16

          本文链接:https://www.haomeiwen.com/subject/ggnvlrtx.html