介绍
Linux内核是所有Linux发行版运行的基础。它是开源软件-任何人都可以反编译、检查和修改代码。
内核的更新版本可以提高安全性,增加功能,并提高操作系统的运行速度。
本指南将指导您如何在CentOS 7上升级Linux内核。
先决条件
- CentOS服务器
- 访问命令行/终端访问
- Sudo特权
- 您系统的最新备份
更新CentOS内核版本的步骤
yum软件包管理器允许内核更新。然而,CentOS没有在官方存储库中提供最新的内核版本。
要更新CentOS上的内核,您需要安装一个名为ElRepo的第三方存储库。ElRepo提供来自kernel.org的最新内核版本。
官方版本经过测试,以确保它们正常工作,并且不会破坏应用程序和操作系统功能的稳定性。有两种类型的Linux内核版本:
稳定的长期支持内核版本-更新频率较低,但支持时间更长。
主线内核发布-支持期限较短,但更新更频繁。
步骤1:检查您当前的内核版本
要在CentOS上检查当前内核版本,请打开命令行界面并输入以下命令:
[root@web ~]# uname -msr
系统应该返回一个如下所示的条目:
Linux 3.10.0-862.el7.x86-64 x86-64
输出指示您当前运行的内核版本,以及它基于哪种架构。
第2步:更新CentOS存储库
在升级内核之前,所有软件包都必须更新到最新版本。
要更新CentOS软件存储库,请使用以下命令:
[root@web ~]# yum -y update
步骤3:启用ELRepo存储库
要安装新的内核版本,需要启用一个新的存储库(ELRepo存储库)。
在终端窗口中,键入:
导入ELRepo存储库安装GPG密钥。这很重要-CentOS不允许安装未签名的软件包。GPG密钥提供数字签名,以验证软件是否真实。
[root@web ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
安装elrepo库
[root@web ~]# rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
安装完成输出:
第4步:列出可用内核
要列出可用的内核,请输入:
[root@web ~]# yum list available --disablerepo='*' --enablerepo=elrepo-kernel
系统应返回可用模块的列表。在列表中,注意一行说kernel-lt——表示稳定的长期支持版本——或kernel-ml——表示主线版本,支持期限较短,但更新更频繁。
[root@web ~]# yum list available --disablerepo='*' --enablerepo=elrepo-kernel
已加载插件:fastestmirror, langpacks, product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
Loading mirror speeds from cached hostfile
* elrepo-kernel: mirrors.tuna.tsinghua.edu.cn
elrepo-kernel | 3.0 kB 00:00:00
elrepo-kernel/primary_db | 2.1 MB 00:00:05
可安装的软件包
elrepo-release.noarch 7.0-6.el7.elrepo elrepo-kernel
kernel-lt.x86_64 5.4.267-1.el7.elrepo elrepo-kernel
kernel-lt-devel.x86_64 5.4.267-1.el7.elrepo elrepo-kernel
kernel-lt-doc.noarch 5.4.267-1.el7.elrepo elrepo-kernel
kernel-lt-headers.x86_64 5.4.267-1.el7.elrepo elrepo-kernel
kernel-lt-tools.x86_64 5.4.267-1.el7.elrepo elrepo-kernel
kernel-lt-tools-libs.x86_64 5.4.267-1.el7.elrepo elrepo-kernel
kernel-lt-tools-libs-devel.x86_64 5.4.267-1.el7.elrepo elrepo-kernel
kernel-ml.x86_64 6.7.1-1.el7.elrepo elrepo-kernel
kernel-ml-devel.x86_64 6.7.1-1.el7.elrepo elrepo-kernel
kernel-ml-doc.noarch 6.7.1-1.el7.elrepo elrepo-kernel
kernel-ml-headers.x86_64 6.7.1-1.el7.elrepo elrepo-kernel
kernel-ml-tools.x86_64 6.7.1-1.el7.elrepo elrepo-kernel
kernel-ml-tools-libs.x86_64 6.7.1-1.el7.elrepo elrepo-kernel
kernel-ml-tools-libs-devel.x86_64 6.7.1-1.el7.elrepo elrepo-kernel
perf.x86_64 5.4.267-1.el7.elrepo elrepo-kernel
python-perf.x86_64 5.4.267-1.el7.elrepo elrepo-kernel
第5步:安装新的CentOS内核版本
要安装最新的主线内核
[root@web ~]# yum --enablerepo=elrepo-kernel install kernel-ml
第6步:查看可用版本
[root@web ~]# cat /boot/grub2/grub.cfg | grep 'menuentry '
menuentry 'CentOS Linux (6.7.1-1.el7.elrepo.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-6.7.1-1.el7.elrepo.x86_64-advanced-91451a1f-7d40-48f9-8c65-a8a9d93dfaca' {
menuentry 'CentOS Linux (3.10.0-1160.114.2.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-1160.114.2.el7.x86_64-advanced-91451a1f-7d40-48f9-8c65-a8a9d93dfaca' {
menuentry 'CentOS Linux (3.10.0-1160.95.1.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-1160.95.1.el7.x86_64-advanced-91451a1f-7d40-48f9-8c65-a8a9d93dfaca' {
menuentry 'CentOS Linux (3.10.0-1160.92.1.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-1160.92.1.el7.x86_64-advanced-91451a1f-7d40-48f9-8c65-a8a9d93dfaca' {
menuentry 'CentOS Linux (3.10.0-1160.71.1.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-1160.71.1.el7.x86_64-advanced-91451a1f-7d40-48f9-8c65-a8a9d93dfaca' {
menuentry 'CentOS Linux (0-rescue-e57ef32020fa406d9bbee213aba339ed) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-0-rescue-e57ef32020fa406d9bbee213aba339ed-advanced-91451a1f-7d40-48f9-8c65-a8a9d93dfaca' {
第7步:设置新内核为默认启动
修改启动内核两种方法:
第一种:修改grub引导到配置文件
一旦您确认新内核兼容并正常工作,您将需要编辑GRUB引导实用程序,以便默认情况下,它会加载您的新内核。
导航到/etc/default/,然后使用文本编辑器打开grub文件。或者,在终端中键入以下内容:
sudo vim /etc/default/grub
文件打开后,查找显示GRUB_DEFAULT=X的行,并将其更改为GRUB_DEFAULT=0(零)。此行将指示引导加载程序默认为列表中的第一个内核,这是最新的。
保存文件,然后在终端中键入以下命令以重新创建内核配置:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
第二种:直接通过命令修改
grub2-set-default 'CentOS Linux (6.7.1-1.el7.elrepo.x86_64) 7 (Core)'
第8步: 查看设置的内核版本
[root@web ~]# grub2-editenv list
saved_entry=CentOS Linux (6.7.1-1.el7.elrepo.x86_64) 7 (Core)
第9步:重启服务
reboot
验证默认情况下,引导加载程序是否设置为加载最新的内核。
评论 (0)