Centos 7 内核版本由 3.10 升级到 5.4.212-1
环境息息
Centos7 3.10.0-1062.9.1.el7.x86_64
升级步骤 安装 elrepo 源 rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm yum --disablerepo="*" --enablerepo="elrepo-kernel" repolist
安装新版本内核 查看可用的内核版本
$ yum --disablerepo="*" --enablerepo="elrepo-kernel" list available Available Packages kernel-lt-doc.noarch 5.4.212-1.el7.elrepo elrepo-kernel kernel-lt-headers.x86_64 5.4.212-1.el7.elrepo elrepo-kernel kernel-lt-tools.x86_64 5.4.212-1.el7.elrepo elrepo-kernel kernel-lt-tools-libs.x86_64 5.4.212-1.el7.elrepo elrepo-kernel kernel-lt-tools-libs-devel.x86_64 5.4.212-1.el7.elrepo elrepo-kernel kernel-ml.x86_64 5.19.8-1.el7.elrepo elrepo-kernel kernel-ml-devel.x86_64 5.19.8-1.el7.elrepo elrepo-kernel kernel-ml-doc.noarch 5.19.8-1.el7.elrepo elrepo-kernel kernel-ml-headers.x86_64 5.19.8-1.el7.elrepo elrepo-kernel kernel-ml-tools.x86_64 5.19.8-1.el7.elrepo elrepo-kernel kernel-ml-tools-libs.x86_64 5.19.8-1.el7.elrepo elrepo-kernel kernel-ml-tools-libs-devel.x86_64 5.19.8-1.el7.elrepo elrepo-kernel perf.x86_64 5.19.8-1.el7.elrepo elrepo-kernel python-perf.x86_64 5.19.8-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),更加稳定一些。
安装最新的长期支持版
yum --disablerepo="*" --enablerepo="elrepo-kernel" install kernel-lt kernel-lt-devel
查看系统上可用的内核
$ awk -F\' ' $1 =="menuentry " {print $2 }' /etc/grub2.cfg CentOS Linux (5.4.212-1.el7.elrepo.x86_64) 7 (Core) CentOS Linux (3.10.0-1062.9.1.el7.x86_64) 7 (Core) CentOS Linux (0-rescue-ed7b5ef29925468cbc59b47c142c26b8) 7 (Core)
设置开机从新内核启动
生成grub 配置文件 $ grub2-mkconfig -o /boot/grub2/grub.cfg Generating grub configuration file ... Found linux image: /boot/vmlinuz-5.4.212-1.el7.elrepo.x86_64 Found initrd image: /boot/initramfs-5.4.212-1.el7.elrepo.x86_64.img Found linux image: /boot/vmlinuz-3.10.0-1062.9.1.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-1062.9.1.el7.x86_64.img Found linux image: /boot/vmlinuz-0-rescue-ed7b5ef29925468cbc59b47c142c26b8 Found initrd image: /boot/initramfs-0-rescue-ed7b5ef29925468cbc59b47c142c26b8.img done
重启系统并验证 reboot # 或者 shutdown -r now
重启后查看内核版本
$ uname -r5.4.212-1.el7.elrepo.x86_64
查看系统中已安装的内核 $ rpm -qa | grep kernel kernel-lt-5.4.212-1.el7.elrepo.x86_64 kernel-tools-libs-3.10.0-1062.9.1.el7.x86_64 kernel-lt-devel-5.4.212-1.el7.elrepo.x86_64 kernel-3.10.0-1062.9.1.el7.x86_64 kernel-headers-3.10.0-1160.76.1.el7.x86_64 kernel-tools-3.10.0-1062.9.1.el7.x86_64
删除旧内核,这一步是可选的 yum remove -y kernel-devel-3.10.0 kernel-3.10.0 kernel-headers-3.10.0 # 查看已安装内核 rpm -qa | grep kernel # 也可以安装 yum-utils 工具,当系统安装的内核大于3个时,会自动删除旧的内核版本 yum install -y yum-utils
升级内核工具包 # 删除旧版本工具包--可选 yum remove kernel-tools-libs.x86_64 kernel-tools.x86_64 # 安装新版本工具包 yum --disablerepo="*" --enablerepo=elrepo-kernel install -y kernel-lt-tools.x86_64
查看已安装内核
$ rpm -qa | grep kernel kernel-lt-5.4.212-1.el7.elrepo.x86_64 kernel-lt-devel-5.4.212-1.el7.elrepo.x86_64 kernel-lt-tools-libs-5.4.212-1.el7.elrepo.x86_64 kernel-lt-tools-5.4.212-1.el7.elrepo.x86_64
内核升级完成后可再次重启系统进行验证
参考链接 CentOS7 内核升级 CentOS7 内核升级