カーネルバージョンはLinuxディストリビューションとどのような関係がありますか?

カーネルバージョンはLinuxディストリビューションとどのような関係がありますか?

CentOSを実行する仮想マシンのセットがあります。スクリプトを実行すると、cat /etc/centos-releaseを介してそのサーバーで実行されているCentOSのさまざまなバージョンを表示できます。 CentOS 7.2から7.9までみました。

また、uname -aを実行してクエリしたすべてのCentOS 7サーバーが同じカーネルバージョン(3.10.0-693)を持っていることを発見しました。これらのサーバーはすべてCentOS 7を実行しますが、バージョン範囲は7.2から7.9です。

$ uname -a
Linux myhostname 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

この場合、カーネルバージョンはCentOSディストリビューションとどのように関連していますか?おそらく、ここでは基本的な内容を理解していないかもしれませんが、CentOS 7の各ポイントリリースごとにカーネルバージョンが変わることを期待しています。

さまざまなLinux OSディストリビューションとそのカーネルのバージョンを示すリンクが見つかりました。 https://knowledge.broadcom.com/external/article/150469/list-of-linux-distributions-and-kernels.html

これが非常にシンプルで基本的なものであれば、誰かが私の混乱を明確にしたり、私に頬を打つことができることを願っています。

ベストアンサー1

CentOS 7はコミュニティでサポートされているRHEL 7のレプリカであり、RHELのカーネルポリシーは長い間、すべてのメジャーリリースでカーネルバージョンを凍結してきました(参照:https://access.redhat.com/articles/3078)。

CentOSはRHELと同じソース(ロゴ、商標、および類似の著作権資産のみを置き換える)から構築されているため、同じポリシーを反映しています。長年にわたってカーネルとディストリビューションの両方でバージョン番号付けスキームはわずかに異なりますが、原則は同じです。

  • RHEL 2.1(GAおよびすべての更新レベル1-7)にはカーネルバージョン2.4.9があります。
  • RHEL 3(GAおよびすべての更新レベル1-9)にはカーネルバージョン2.4.21があります。
  • RHEL 4(GAおよびすべての更新レベル1-9)にはカーネルバージョン2.6.9があります。
  • RHEL 5.xのカーネルバージョン(RHELバージョン番号付けスタイルの変更)は2.6.18です。
  • RHEL 6.xのカーネルバージョンは2.6.32です。
  • RHEL 7.xのカーネルバージョンは3.10です(Linusはカーネルバージョンスキームを変更しました。メジャーバージョンはxy [.0]、マイナーバージョンはxyzです)。
  • RHEL 8.xのカーネルバージョンは4.18です。

WikipediaにはCentOSリリース日とカーネルバージョンのリストがあります。https://en.wikipedia.org/wiki/CentOS#CentOS_releases

RHEL / CentOSでは、カーネルのバージョン番号は2つの部分で構成されています。

  • ダッシュの全部はアップストリームバージョン番号は、このRHELカーネルがベースとするカーネルバージョンを表します。
  • ダッシュの次の部分はパッチレベル、Red Hatによって追加されたさまざまなバックポートされたバグ修正およびハードウェアサポートパッチを表します。

アップストリームバージョンを凍結することで、Red Hatは内部カーネルの動作への画期的な変更を最大限に防ぎ、サードパーティのドライバ開発者がライフサイクル全体にわたってRed Hatの特定のメジャーバージョンをサポートしやすくします。 (もちろん、発見されたセキュリティの脆弱性を修正するには、2018年1月以降にSpectre / Meltdownの脆弱性スイートで発生したかのようにかなりの変更が必要になることがあります。)

3.10.0-693はCentOS 7.4(2017-09-13リリース)のカーネルバージョンです。これは、見ているCentOS 7.2および7.3サーバーのカーネルが7.4レベルに更新されたことを示しています。ただし、より低いリリースレベルに凍結することもできます。 。これは、固定バージョンレベルがアプリケーションサポートの理由による可能性があることを意味します(たとえば、一部のサードパーティアプリケーションは特定のバージョンレベルでのみ有効な高価なサポート契約を持っています)。カーネルの更新は、仮想化フレームワークの要件や軽減によって強制される可能性があります。実装時のセキュリティの脆弱性。

CentOS 7.5以降が7.4のカーネルバージョンを表示するという事実は、単にこれらのシステムが更新後にまだ再起動されていないためである可能性があるため、これらのシステムには、次の再起動時に適用を待つ1つ以上の最新のカーネルバージョンがある可能性があります。

CentOS 7.4および対応するカーネルバージョン3.10.0-693はSpectre / Meltdownの脆弱性よりも前にリリースされており、軽減するにはかなりのカーネル変更が必要であるため、カーネルバージョンはシステムが現在の全種類のSpectre / Meltdownベースの攻撃に対して脆弱であることを示しています。

注:私はSpectre / Meltdown以降のカーネルと一緒にSpectre / Meltdownより前のサードパーティドライバを使用しようとしました。したがって、サードパーティ製のドライバを使用している場合は、ドライバも適切に更新されていることを確認してください。

仮想化フレームワークで仮想化ホストが提供するカーネルを使用する必要がある場合は、ホスト管理者に連絡して、Spectre / Meltdown修正プログラムを含むカーネルを実行するために仮想マシンをインポートするために実行する必要があることを確認してください。

おすすめ記事