先日、Red Hat ラーニングコミュニティのフォーラムで興味深い質問を見かけました。「私が使っているバージョンの Red Hat Enterprise Linux (RHEL) の最新カーネルバージョンはいくつでしょうか?」という質問です。この記事ではそのことについて解説しようと思います。

この質問には何人かの親切なユーザーが回答を投稿し、カーネルパッケージの特定のバージョンに言及していました。残念ながら、それらの回答は執筆時には正しくても、将来的にはそうでなくなってしまう可能性があります。ですので、RHEL の各バージョンの最新カーネルバージョンに関する情報をどこで取得できるかを説明すれば、より役に立つ回答になるだろうと思います。

Red Hat がメジャーあるいはマイナーのアップデートをリリースするときには、カーネルバージョンの特定のブランチを使用します。 カスタマーポータルのこのページを見ると、RHEL の各リリース (たとえば、RHEL7.6) で使用されているカーネルバージョンのブランチを確認できます。  Figure 1: Listing of RHEL releases with kernel versions

図 1:RHEL リリースとカーネルバージョンの表

なので、たとえば RHEL 7.6 であれば、カーネルバージョンのブランチ 3.10.0-957 が使用されていることがわかります。オペレーティングシステムの観点から言えば、そのカーネルは該当カーネルパッケージで提供されているソース 3.10.0 を使用して構築されています。Red Hat が配信しているカーネルパッケージには独自のバージョン番号が付されていて、この場合は 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

他のブランチではさらに新しいカーネルバージョンが提供されていることもあります (RHEL 7.7 のカーネルバージョン 3.10.0-1062 や RHEL 8 のカーネルバージョン 4.18.0-80 など)。ただし、それらは別のブランチから構築されたものであり、RHEL 7.6 で使用するためのものではありません。

Red Hat がリリースしているカーネルはこちらの URL で参照およびダウンロードできます。https://access.redhat.com/downloads/content/kernel/x86_64/package-latest 

使用している RHEL システム用の最新カーネルの取得

最新カーネルはどこでダウンロードできるのでしょうか。各バージョンの RHEL の最新カーネルは、yum コマンドを使用して OS 内でインストールします。利用できるカーネルパッケージをリストするには、次のようにコマンドを入力します。

yum list kernel

提供されている最新のカーネルがインストールされていれば、組織の要件に適合する更新がシステムにインストールされているということであり、RHEL 管理者はそのことについて不安を覚える必要がありません。Red Hat チームは、最新バージョンのカーネルを RHEL リポジトリから取得できるようにしています。ですから、使用しているシステムで利用できる最新バージョンのカーネルパッケージを確認するには yum list kernel コマンドを使用してください、というのが一般的な回答になります。しかし、この方法でシステムが表示する最新カーネルと、Red Hat カスタマーポータルで直接確認できる最新カーネルが異なる場合があります。それは次のような理由によります。

  • そのシステムが Red Hat Satellite に接続されている:Red Hat Satellite を使用すると、管理者が組織内のシステムに特定のパッケージを提供することができます。これは「コンテンツビュー」という機能を使用して行われます。たとえば、Red Hat Satellite をサブスクライブしているシステムがいずれかの「コンテンツビュー」に登録されており、そのコンテンツビューが更新されていないとします。そのような場合、更新が Satellite サーバーで提供されていないため、yum list kernel を実行しても、ローカルではカーネルパッケージのブランチの最新バージョンが表示されません。

  • EUS が使用されている:Red Hat Enterprise Linux サブスクリプションには、Extended Update Support (EUS) というアドオンがあります。EUS は、Red Hat Enterprise Linux の新しいマイナーリリースが提供されてもすぐに導入せずに現行のマイナーリリースを使い続けたい組織が使用します。

    たとえば、RHEL 7.6 を使用している組織が、最大 2 年間は RHEL 7.7 に移行せず、かつセキュリティアップデートは適用したいと考えた場合、RHEL 7.6 EUS を利用することができます。そのような場合、システムは 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 用に提供されている公式バージョンを確認できます。使用しているカーネルバージョンのブランチで提供されている最新バージョンのカーネルパッケージをオンラインで確認することはできますが、使用しているサブスクリプション、リポジトリへのアクセス、Red Hat Satellite による組織内での管理などの条件によっては、実際にそのシステムで使用できる最新バージョンとは異なる場合があります。

追伸

以上で説明した内容は、想定されている条件内での話です。ときには、特定のデバイスやサポート外のハードウェアを使用するために運用レベルでカーネルに変更を加えることもあります。ですから、一部の RHEL ユーザーが特定の RHEL で異なるバージョンのカーネルをインストールしていることもあり得ます。場合によっては、Red Hat の公式サポートを受ける際にそれが問題になることもあるでしょう。新しいカーネルが必要になった場合、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.

Read full bioIcon-Red_Hat-Directional-A-Black-RGB