如何在CentOS 7中安装或升级到内核4.20

如何在CentOS 7中安装或升级到内核4.20

虽然有些人使用Linux这个词来代表整个操作系统,但重要的是要注意,严格来说,Linux只是内核。另一方面,分发是一个基于内核的全功能系统,具有各种各样的应用程序工具和库。

在正常操作期间,内核负责执行两个重要任务:

  • 充当硬件和系统上运行的软件之间的接口。
  • 尽可能高效地管理系统资源。

为此,内核通过内置的驱动程序或稍后可以作为模块安装的驱动程序与硬件进行通信。

例如,当您的计算机上运行的应用程序想要连接到无线网络时,它会将该请求提交给内核,而内核又使用正确的驱动程序连接到网络。

建议阅读如何在Ubuntu中升级内核

随着新设备和技术的定期推出,如果我们想要充分利用它们,重要的是保持我们的内核最新。此外,更新我们的内核将有助于我们利用新的内核功能并保护自己免受以前版本中发现的漏洞的影响。

准备好在CentOS 7或其衍生产品(如RHEL 7和Fedora)上更新内核吗?如果是这样,请继续阅读!

第1步:检查已安装的内核版本

当我们安装发行版时,它包含某个版本的Linux内核。要显示我们系统上安装的当前版本,我们可以:

#uname -sr

下图显示了CentOS 7服务器中上述命令的输出:
如何在CentOS 7中安装或升级到内核4.20
如果我们现在转到https://www.kernel.org/,我们将在撰写本文时看到最新的内核版本是4.20(其他版本可从同一站点获得)。

这个新的内核4.20版本是一个长期版本,将支持6年,早期所有Linux内核版本仅支持2年。

需要考虑的一件重要事情是内核版本的生命周期 - 如果您当前使用的版本接近其使用寿命,那么在该日期之后将不再提供错误修复。有关更多信息,请参阅内核版本页面。

第2步:升级CentOS 7中的内核

大多数现代发行版都提供了一种使用包管理系统(如yum和官方支持的存储库)升级内核的方法。

重要提示:如果您希望运行自定义编译内核,那么您应该阅读我们的文章,该文章解释了如何从源代码编译CentOS 7上的Linux内核。

但是,这只会执行升级到发行版存储库中可用的最新版本 - 而不是https://www.kernel.org/中提供的最新版本。不幸的是,Red Hat只允许使用前一个选项升级内核。

与Red Hat相反,CentOS允许使用ELRepo,这是一个第三方存储库,可以将最新版本升级为内核。

要在CentOS 7上启用ELRepo存储库,请执行以下操作:

#rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
#rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
如何在CentOS 7中安装或升级到内核4.20

启用存储库后,可以使用以下命令列出可用的kernel.related软件包:

#yum --disablerepo =“*” - enableablepo =“elrepo-kernel”列表可用

加载的插件:fastermirror,langpacks
从缓存的主机文件加载镜像速度
 * elrepo-kernel:elrepo.reloumirrors.net
可用套餐
kernel-lt.x86_64 4.4.169-1.el7.elrepo elrepo-kernel
kernel-lt-devel.x86_64 4.4.169-1.el7.elrepo elrepo-kernel
kernel-lt-doc.noarch 4.4.169-1.el7.elrepo elrepo-kernel
kernel-lt-headers.x86_64 4.4.169-1.el7.elrepo elrepo-kernel
kernel-lt-tools.x86_64 4.4.169-1.el7.elrepo elrepo-kernel
kernel-lt-tools-libs.x86_64 4.4.169-1.el7.elrepo elrepo-kernel
kernel-lt-tools-libs-devel.x86_64 4.4.169-1.el7.elrepo elrepo-kernel
kernel-ml.x86_64 4.20.0-1.el7.elrepo elrepo-kernel
kernel-ml-devel.x86_64 4.20.0-1.el7.elrepo elrepo-kernel
kernel-ml-doc.noarch 4.20.0-1.el7.elrepo elrepo-kernel
kernel-ml-headers.x86_64 4.20.0-1.el7.elrepo elrepo-kernel
kernel-ml-tools.x86_64 4.20.0-1.el7.elrepo elrepo-kernel
kernel-ml-tools-libs.x86_64 4.20.0-1.el7.elrepo elrepo-kernel
kernel-ml-tools-libs-devel.x86_64 4.20.0-1.el7.elrepo elrepo-kernel
perf.x86_64 4.20.0-1.el7.elrepo elrepo-kernel
python-perf.x86_64 4.20.0-1.el7.elrepo elrepo-kernel

接下来,安装最新的主线稳定内核:

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

在CentOS 7中安装内核4.20
加载的插件:fastermirror,langpacks
从缓存的主机文件加载镜像速度
 * base:centos.excellmedia.net
 * elrepo:elrepo.reloumirrors.net
 * elrepo-kernel:elrepo.reloumirrors.net
 * epel:sg.fedora.ipserverone.com
 *临时演员:centos.excellmedia.net
 *更新:centos.excellmedia.net
解决依赖关系
- >运行事务检查
--->包kernel-ml.x86_64 0:4.20.0-1.el7.elrepo将被安装
- >完成的依赖性解决方案

已解决的依赖关系

================================================== ================================================== ================================================== =========================================
 包Arch版本存储库大小
================================================== ================================================== ================================================== =========================================
安装:
 kernel-ml x86_64 4.20.0-1.el7.elrepo elrepo-kernel 46 M.

交易摘要
================================================== ================================================== ================================================== =========================================
安装1个包

下载总大小:46 M
装机尺寸:205米
这没关系[y / d / N]:y

最后,重新启动计算机以应用最新的内核,然后从菜单中选择最新的内核,如图所示。
如何在CentOS 7中安装或升级到内核4.20
以root身份登录,并运行以下命令检查内核版本:

#uname -sr

如何在CentOS 7中安装或升级到内核4.20

第3步:在GRUB中设置默认内核版本

要使新安装的版本成为默认引导选项,您必须按如下方式修改GRUB配置:

打开并编辑文件/ etc / default / grub并设置GRUB_DEFAULT=0。这意味着GRUB初始屏幕中的第一个内核将用作默认值。

GRUB_TIMEOUT = 5
 GRUB_DEFAULT = 0
GRUB_DISABLE_SUBMENU =真
GRUB_TERMINAL_OUTPUT = “控制台”
GRUB_CMDLINE_LINUX =“rd.lvm.lv = centos / root rd.lvm.lv = centos / swap crashkernel = auto rhgb quiet”
GRUB_DISABLE_RECOVERY = “真”

接下来,运行以下命令以重新创建内核配置。

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

在Grub中设置默认内核版本
生成grub配置文件...
找到linux映像:/boot/vmlinuz-4.20.0-1.el7.elrepo.x86_64
找到initrd映像:/boot/initramfs-4.20.0-1.el7.elrepo.x86_64.img
找到linux映像:/boot/vmlinuz-4.19.11-1.el7.elrepo.x86_64
找到initrd映像:/boot/initramfs-4.19.11-1.el7.elrepo.x86_64.img
找到linux映像:/boot/vmlinuz-4.19.0-1.el7.elrepo.x86_64
找到initrd映像:/boot/initramfs-4.19.0-1.el7.elrepo.x86_64.img
找到linux映像:/boot/vmlinuz-3.10.0-957.1.3.el7.x86_64
找到initrd映像:/boot/initramfs-3.10.0-957.1.3.el7.x86_64.img
找到linux映像:/boot/vmlinuz-3.10.0-693.el7.x86_64
找到initrd映像:/boot/initramfs-3.10.0-693.el7.x86_64.img
找到linux映像:/ boot / vmlinuz-0-rescue-1e2b46dbc0c04b05b592c837c366bb76
找到initrd映像:/boot/initramfs-0-rescue-1e2b46dbc0c04b05b592c837c366bb76.img
DONE

重新启动并验证默认情况下现在正在使用最新的内核。
如何在CentOS 7中安装或升级到内核4.20
恭喜!您已经在CentOS 7中升级了内核!

摘要


在本文中,我们已经解释了如何轻松升级系统上的Linux内核。我们还没有涉及另一种方法,因为它涉及从源代码编译内核,这本书值得整本书,不建议在生产系统上使用。

虽然它代表了最好的学习体验之一并允许内核的细粒度配置,但您可能会使系统无法使用,并且可能必须从头开始重新安装。

如果您仍然有兴趣将内核构建为学习体验,您可以在Kernel Newbies页面上找到有关如何执行此操作的说明。

与往常一样,如果您对本文有任何问题或意见,请随时使用下面的表格。