详解如何在 CentOS 7 中安装或升级最新的内核

2019-01-17 00:25:42王旭

虽然有些人使用 Linux 来表示整个操作系统,但要注意的是,严格地来说,Linux 只是个内核。另一方面,发行版是一个完整功能的系统,它建立在内核之上,具有各种各样的应用程序工具和库。

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

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

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

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

    随着新的设备和技术定期出来,如果我们想充分利用它们,保持最新的内核就很重要。此外,更新内核将帮助我们利用新的内核函数,并保护自己免受先前版本中发现的漏洞的攻击。

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

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

    让我们安装了一个发行版,它包含了一个特定版本的内核。为了展示当前系统中已安装的版本,我们可以:

    # uname -sr

    下面的图片展示了在一台 CentOS 7 服务器上的输出信息:

    Check Kernel Version in CentOS 7

    如果我们现在进入 https://www.kernel.org/,在撰写本文时,我们看到最新的内核版本是4.10.1(其他版本可以从同一网站获得)。

    还要考虑的一个重要的事情是内核版本的生命周期 - 如果你当前使用的版本接近它的生命周期结束,那么在该日期后将不会提供更多的 bug 修复。关于更多信息,请参阅内核发布页。

    步骤 2:在 CentOS 7 中升级内核

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

    但是,这只会升级内核到仓库中可用的最新版本 - 而不是在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-2.el7.elrepo.noarch.rpm

    Enable ELRepo in CentOS 7

    在 CentOS 7 启用 ELRepo

    仓库启用后,你可以使用下面的命令列出可用的内核相关包:

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