centos7升级系统内核

568 阅读2分钟

查看centos7默认内核版本

[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

导入公钥

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

安装ELRepo

yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm

列出内核

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

参数说明:
--disablerepo  禁用一个或者多个仓库,允许使用通配符,*表示所有仓库
--enablerepo   启用哪个仓库,允许使用通配符,这里启用了elrepo-kernel仓库
list available  列出在启用仓库可以安装的包

可以看到如下输出

[root@localhost ~]#  yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Could not retrieve mirrorlist http://mirrors.elrepo.org/mirrors-elrepo-kernel.el7 error was
12: Timeout on http://mirrors.elrepo.org/mirrors-elrepo-kernel.el7: (28, 'Connection timed out after 30001 milliseconds')
 * elrepo-kernel: mirrors.coreix.net
Available Packages
kernel-lt.x86_64                                                     5.4.241-1.el7.elrepo                                    elrepo-kernel
kernel-lt-devel.x86_64                                               5.4.241-1.el7.elrepo                                    elrepo-kernel
kernel-lt-doc.noarch                                                 5.4.241-1.el7.elrepo                                    elrepo-kernel
kernel-lt-headers.x86_64                                             5.4.241-1.el7.elrepo                                    elrepo-kernel
kernel-lt-tools.x86_64                                               5.4.241-1.el7.elrepo                                    elrepo-kernel
kernel-lt-tools-libs.x86_64                                          5.4.241-1.el7.elrepo                                    elrepo-kernel
kernel-lt-tools-libs-devel.x86_64                                    5.4.241-1.el7.elrepo                                    elrepo-kernel
kernel-ml.x86_64                                                     6.3.0-1.el7.elrepo                                      elrepo-kernel
kernel-ml-devel.x86_64                                               6.3.0-1.el7.elrepo                                      elrepo-kernel
kernel-ml-doc.noarch                                                 6.3.0-1.el7.elrepo                                      elrepo-kernel
kernel-ml-headers.x86_64                                             6.3.0-1.el7.elrepo                                      elrepo-kernel
kernel-ml-tools.x86_64                                               6.3.0-1.el7.elrepo                                      elrepo-kernel
kernel-ml-tools-libs.x86_64                                          6.3.0-1.el7.elrepo                                      elrepo-kernel
kernel-ml-tools-libs-devel.x86_64                                    6.3.0-1.el7.elrepo                                      elrepo-kernel
perf.x86_64                                                          5.4.241-1.el7.elrepo                                    elrepo-kernel
python-perf.x86_64                                                   5.4.241-1.el7.elrepo                                    elrepo-kernel

说明:

kernel-lt 和 kernel-ml 二者的区别:

kernel-ml软件包是根据Linux Kernel Archives的主线稳定分支提供的源构建的。 内核配置基于默认的RHEL-7配置,并根据需要启用了添加的功能。 这些软件包有意命名为kernel-ml,以免与RHEL-7内核发生冲突,因此,它们可以与常规内核一起安装和更新。

kernel-lt包是从Linux Kernel Archives提供的源代码构建的,就像kernel-ml软件包一样。 不同之处在于kernel-lt基于长期支持分支,而kernel-ml基于主线稳定分支。

在 ELRepo中有两个内核选项,一个是kernel-lt(长期支持版),一个是 kernel-ml(主线最新版本),采用长期支持版本(kernel-lt),更加稳定一些。
————————————————
版权声明:本文为CSDN博主「只想按时下班」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_43412528/article/details/118515666

安装内核

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

重启后发现新安装的内核不是默认内核,因此需要修改是刚才安装的内核为启动内核

image.png

修改grub,使刚才安装的内核为启动内核

[root@localhost ~]# cat /etc/default/grub 
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved   # 将这里的saved修改为0即可
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
GRUB_DISABLE_RECOVERY="true"

修改上面操作后,重新构建生成grub配置文件

[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg 
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.3.0-1.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-6.3.0-1.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-1160.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1160.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-c65dee0d22a344a8a2d44cbfa21c9608
Found initrd image: /boot/initramfs-0-rescue-c65dee0d22a344a8a2d44cbfa21c9608.img
done

可以看到默认启动第一个

image.png

查看内核版本

[root@localhost ~]# uname -a
Linux localhost.localdomain 6.3.0-1.el7.elrepo.x86_64 #1 SMP PREEMPT_DYNAMIC Sun Apr 23 17:51:35 EDT 2023 x86_64 x86_64 x86_64 GNU/Linux