登录 / 注册 Account

最近我在红帽学习社区论坛看到一个问题很有意思。我的红帽企业 Linux(RHEL)最新内核版本是什么?我们就通过这篇文章来了解一下吧。

有的用户出于好心,给出了内核软件包的具体版本。但很遗憾,这个版本号可能只在编写的时候有效。授人以鱼不如授人以渔,我们最好告诉人们该从哪里可以找到特定版本 RHEL 的最新内核版本信息。

当红帽发布 RHEL 的主要或次要更新时,会同时一起发布内核版本的特定分支。 客户门户的该页面显示了与 RHEL 版本相关联的内核版本"分支"(例如,RHEL7.6)。 

Figure 1: Listing of RHEL releases with kernel versions

图 1:RHEL 版本以及相应内核版本的列表

从上表可知,以 RHEL7.6 为例,它的内核版本分支是 3.10.0-957。从操作系统的角度来看,该内核是从内核软件包中可用的 3.10.0 源构建的。红帽分发的内核软件包有自己的版本号系统,在本例中为 957。  

观察图 2 中的内核软件包,可以看到,在编写时,该内核软件包的分支 3.10.0-957 的最新版本是 3.10.0-957.35.2:

https://access.redhat.com/downloads/content/rhel---7.6/x86_64/4117/kernel/3.10.0-957.35.2.el7/x86_64/fd431d51/package

在其他分支中有更新的内核版本,例如,内核版本 3.10.0-1062 (适用于 RHEL7.7)和 4.18.0-80(适用于 RHEL8)。它们不是来自同一个分支,也不适用于 RHEL7.6。

您可以通过以下 URL 浏览和下载红帽发布的内核: https://access.redhat.com/downloads/content/kernel/x86_64/package-latest 

为您的 RHEL 系统获取最新内核

在哪里下载最新内核?我们建议使用 yum 命令在操作系统中安装特定版本 RHEL 的最新内核。列出可用内核软件包的完整命令是:

yum list kernel

当系统安装了最新的可用内核,RHEL 管理员就能确保系统已经安装了符合其企业要求的更新。红帽团队在 RHEL 存储库中提供了最新的内核版本。所以,只需yum list kernel 查看该系统最新版本的内核包是什么就可以了。但如果您的系统显示的最新可用内核与直接从红帽客户门户获得的内核不同,可能有以下几个原因:

  • 系统连接到红帽卫星。红帽卫星允许管理员为其组织内的系统提供特定的软件包。这是通过"内容视图"来实现的。 可能是订阅了红帽卫星的系统注册了一些没有更新的"内容视图"。从而导致了命令 yum list kernel 没有在本地显示该内核软件包分支的最新版本,因为卫星服务器上没有更新。 

  • 红帽企业 Linux 订阅有一个附加组件,叫做延长更新支持(EUS)。如果企业希望在较长一段时间内保持使用红帽企业 Linux 的次要或"点" 版本,而不是改用新的次要版本,就可以使用 EUS。

    例如,一个企业可能会选择使用 RHEL 7.6 EUS,以使系统保持使用 7.6 软件包,但仍然可以获得长达两年的安全更新,而不用升级到 RHEL 7.7。因为系统订阅的是 EUS 存储库,所以系统订阅的存储库可能就没有最新版本的内核。内核软件包版本 3.10.0-957.35.2 似乎就属于这种情况。这个版本只适用于使用 EUS 附加订阅的系统:

[查看"Available from"(获取来源)和"Repo label"(存储库标签)部分]

Figure 2: Illustration to show the kernel 3.10.0-957.38.3.el7 if available from products in these repos label

图 2:图示为内核 3.10.0-957.38.3.el7(如果这些存储库标签中的产品可用)

https://access.redhat.com/downloads/content/rhel---7.6/x86_64/4117/kernel/3.10.0-957.35.2.el7/x86_64/fd431d51/package

摘要 

特定 RHEL 版本的最新内核版本的信息来源于 RHEL。 

命令 yum list kernel 显示官方为该版本的 RHEL 准备和发布的内容。我们可以在线查看某个内核版本分支的最新版本内核软件包。如果使用了红帽卫星,取决于订阅、对存储库的访问权限和内部管理,您看到的可能不是特定系统的最新可用版本。

补充说明

以上内容介绍的是应该如何确定版本。有时,在运维层面,人们可以修改内核以支持特定设备或不受支持的硬件。所以有些 RHEL 用户可能会在特定的 RHEL 上安装了不同的内核版本分支。也许这会影响红帽提供的官方支持。如果需要更新的内核,也许更好的做法是升级 RHEL 本身。


About the author

Jean-Sébastien Tougne has more than 14 years of experience as an engineer in DTV, Oil and Gas, Computer Systems and Finance industries. He is currently a Red Hat consultant.