コンテンツにスキップ
PR

Linuxカーネル更新

  • Linuxカーネルリリースの4つのステータス(Mainline、Stable、Longterm、EOL)の違い
  • 主要Linuxディストリビューションごとのカーネル配布とアップデートに対するスタンス
  • カーネルをアップデートする前に確認すべきリスクと事前準備
  • 自身の使用しているカーネルバージョンとEOL(サポート終了)の確認手順
  • 最新のカーネルリリースニュースを見たときの正しい「自分に関係があるか」の見極め方

Linuxの核心部分である「カーネル」は、ハードウェアの制御やメモリ管理、システムのセキュリティなど、OSの根幹を支える最も重要なプログラムです。日々開発が進められ、頻繁に新しいバージョンがリリースされています。

結論として、一般的なLinuxユーザーやサーバー管理者は、使用しているディストリビューション(Ubuntu、Debian、Red Hat等)の公式リポジトリから提供される安定カーネルを使用すべきであり、kernel.orgの最新カーネル(Mainline)へ手動で更新する必要は原則ありません

最新のカーネルには、出たばかりのCPU/GPUへの対応や最新の機能が含まれていますが、検証が十分でないため互換性トラブル(ドライバが動かない、起動しない等)のリスクがあります。手動での更新は、「発売直後の最新ハードウェアを使っていて、OSが正しく認識しない」「どうしても利用したい特定のカーネル機能がある」といった明確な目的がある場合に限定するのが安全です。


Linuxカーネルリリースの4つの種類(ステータス)

Section titled “Linuxカーネルリリースの4つの種類(ステータス)”

Linuxカーネルの公式サイト(kernel.org)では、リリースされるカーネルをその役割やサポート期間に応じて以下の4つのカテゴリーに分類しています。

ステータス概要と主な目的サポート期間対象となるユーザー・用途
Mainline
(メインライン)
開発中の最新バージョン。新しい機能の追加やバグ修正が日々取り込まれるリポジトリ。
※「RC(Release Candidate)」と呼ばれるベータ版もここに含まれます。
次のバージョンがリリースされるまで(数週間〜数ヶ月)カーネル開発者、テスター、最新機能を検証したい開発者。
Stable
(安定版)
Mainlineが正式リリースされた後、深刻なバグ修正(パッチ)のみが適用されるバージョン。次のMainlineが正式リリースされるまで(通常数ヶ月程度)最新のハードウェアを使用しており、かつ安定した動作を求める個人ユーザー。
Longterm (LTS)
(長期サポート版)
特定の古いバージョンを、長期間にわたってセキュリティパッチと重大なバグ修正のみで維持するバージョン。原則2年〜最長6年程度(※産業用途向け等でさらに長いものもあります)企業のサーバー、本番環境、安定動作を最優先するPC。ディストリビューションの公式カーネルのベースになります。
EOL (End of Life)
(サポート終了)
サポートが終了した古いカーネル。以降は重大な脆弱性が見つかってもパッチは提供されません。なし(終了済み)速やかに新しいカーネルへの移行が必要です。

主要ディストリビューション別のカーネル更新スタンス

Section titled “主要ディストリビューション別のカーネル更新スタンス”

使用するLinuxディストリビューションによって、どのカーネルを採用し、どのようにアップデートを届けるかの「ポリシー」が大きく異なります。

  • ポリシー: リリース時の安定性を重視し、LTSリリース(例:22.04 LTS、24.04 LTS)では特定のLongtermカーネルをベースに、Ubuntu独自パッチを適用したものを長期維持します。
  • HWE (Hardware Enablement): 新しいハードウェアに対応するため、後からリリースされた新しいカーネル(例:24.04.1などで提供される新しいバージョン)をバックポートして適用する仕組みも提供しています。
  • ポリシー: 「極めて厳格な安定性重視」です。Debian Stableでは非常に古いLTSカーネルがベースとして採用され、リリースライフサイクル内では新しい機能更新を行わず、セキュリティバグの修正(バックポート)のみを徹底して行います。
  • ポリシー: 最新追従の「ローリングリリース方式」です。kernel.orgで「Stable」になったカーネルが数日から数週間以内にほぼそのまま公式パッケージとして降ってきます。最新ハードウェアへの追従は最速ですが、アップデート時にドライバが一時的に破損するなどのトラブルが稀に発生するため、ユーザー自身でトラブルシューティングできることが前提です。
  • ポリシー: 「先進性と安定のバランス」をとるディストリビューションです。リリース後も、kernel.orgの「Stable」カーネルのアップデートを順次取り込んで比較的頻繁にカーネルバージョンが上がります。

カーネルアップデート前に確認すべきリスクと準備

Section titled “カーネルアップデート前に確認すべきリスクと準備”

カーネルのアップデート(特にディストリビューションのメジャーアップや手動アップデート)を実行する前には、以下の互換性リスクを確認し、必ずバックアップを用意してください。

  1. 外部カーネルモジュール(サードパーティドライバ)の互換性 最も破損しやすいのが、カーネル外部でビルドされるドライバです。
    • NVIDIA GPUドライバ: 最新カーネルに対応していないNVIDIAドライバのバージョンである場合、OSアップデート後に「画面が真っ黒になり、GUIが起動しない」というトラブルが頻発します(DKMSが正しく機能しているか確認が必要)。
    • Wi-Fiドングルなどの無線LANドライバ: Realtek製などのサードパーティ製無線チップのドライバは、カーネルアップデート時にビルドエラーを起こしてネットワークが繋がらなくなることがあります。
  2. 特殊なファイルシステムやソフトウェアの依存性 ZFS on Linuxなど、特定のカーネルバージョンに密接に依存しているファイルシステムを使用している場合、カーネルだけを先行して更新するとマウントできなくなる恐れがあります。
  3. バックアップと「起動用メニュー」の確認 アップデートを実行する前に、システムの完全なバックアップ(または設定のバックアップ)を行ってください。また、もし新しいカーネルで起動に失敗した際、ブートローダー(GRUBなど)の「Advanced options」から**「一つ古いバージョンのカーネル」を選択して起動できること**を確認しておきましょう。

自分のカーネルバージョンとEOL(サポート終了)の確認手順

Section titled “自分のカーネルバージョンとEOL(サポート終了)の確認手順”

使用中のサーバーやPCのカーネルがサポート内であるかを確認する手順です。

ステップ1:現在のバージョンを表示する

Section titled “ステップ1:現在のバージョンを表示する”

ターミナルを開き、以下のコマンドを実行します。

Terminal window
uname -r

出力例:6.1.0-21-amd64(この場合、カーネルメジャーバージョンは 6.1 です)

ステップ2:kernel.org または OSのサポートポリシーと照らし合わせる

Section titled “ステップ2:kernel.org または OSのサポートポリシーと照らし合わせる”
  • ディストリビューション提供カーネルの場合: 6.1.0-... のようにディストリビューションが提供するカーネルの場合、カーネルそのものが kernel.org 上でEOLであっても、OSのベンダー(DebianやRed Hatなど)が独自にセキュリティパッチを適用(バックポート)し続けている期間内であれば安全です。OS自体のサポート期限内であるかを確認してください。
  • カスタムカーネル(手動ビルド等)の場合: kernel.org にアクセスし、該当バージョン(例:6.1.x)の横に [EOL] と記載されていないかを確認します。EOLとなっている場合は、Stableや別のActiveなLTSカーネルへの切り替えを計画してください。

カーネルアップデートニュースの読み方

Section titled “カーネルアップデートニュースの読み方”

IT系ニュースサイト等で「Linux Kernel X.XX リリース」というニュースを見かけた際、確認すべきポイントは以下の3点です。

  1. 新しいドライバサポートに対象のデバイスがあるか 「Apple Siliconのサポート強化」「最新のIntel/AMD CPUの電源管理の最適化」「新型Radeon GPUのドライバ同梱」など、自分が所有する最新ハードウェアに関する記述がある場合、更新する価値があります。
  2. 主要なファイルシステムやプロトコルの改善 Btrfs、EXT4、XFSなどのパフォーマンス改善、または最新のWi-Fi規格や暗号化アルゴリズムの追加など。
  3. 脆弱性(脆弱性識別子:CVE)の修正 カーネルレベルの特権昇格や、リモートから実行可能な脆弱性の修正が含まれる場合、ニュースに「脆弱性対応」と書かれています。この場合は手元のディストリビューションにパッケージが適用され次第、速やかにOSアップデートを実行する必要があります。

Q1. カーネルをアップデートした後は、再起動が必要ですか?

Section titled “Q1. カーネルをアップデートした後は、再起動が必要ですか?”

A1. はい、基本的にはシステムの再起動が必要です。 新しいカーネルパッケージがシステムにインストールされても、現在メモリ上で実行されている古いカーネルは動作し続けます。再起動することでブートローダーが新しいカーネルを読み込み、切り替わります。※企業向けサーバー等では、再起動なしでカーネルパッチを適用する「Kpatch」や「Livepatch」といった技術も存在します。

Q2. 複数のカーネルバージョンをPC内に残しておくことはできますか?

Section titled “Q2. 複数のカーネルバージョンをPC内に残しておくことはできますか?”

A2. はい、ディストリビューションの標準設定では通常2〜3世代の古いカーネルが自動的に残されます。 これにより、最新カーネルで万が一特定のアプリやドライバが動作しなくなった場合でも、起動時に古いカーネルを選択してシステムを起動し、ロールバック(復旧)作業を行うことができます。

Q3. 「LTSカーネル」のサポート期間は具体的に何年ですか?

Section titled “Q3. 「LTSカーネル」のサポート期間は具体的に何年ですか?”

A3. kernel.orgの公式サポートは原則として「2年間」ですが、延長されるのが通例です。 多くの主要なLTS(Longterm)カーネルは、チップベンダーや企業のサポートグループ(Civil Infrastructure Platformなど)の協力によって、4年〜6年、または組み込み分野などでは最大10年までサポートが延長される仕組み(SLTS)があります。

Q4. カーネルの「マイナーバージョン」と「パッチバージョン」の違いは?

Section titled “Q4. カーネルの「マイナーバージョン」と「パッチバージョン」の違いは?”

A4. 例えば 6.1.20 という表記の場合、6がメジャー、1がマイナー、20がパッチバージョンです。 マイナーバージョンアップ(例:6.1から6.2)では新機能の追加や互換性の変更が行われますが、パッチバージョンアップ(例:6.1.20から6.1.21)ではバグやセキュリティ脆弱性の修正のみが行われ、既存のシステムやソフトウェアとの互換性が崩れないように設計されています。

Q5. 自作PCでUbuntuを使っています。カーネルを手動で最新にするのは簡単ですか?

Section titled “Q5. 自作PCでUbuntuを使っています。カーネルを手動で最新にするのは簡単ですか?”

A5. Mainlineのパッケージ(PPAなど)を使って比較的簡単にインストールできますが、おすすめしません。 Ubuntu公式がテスト・署名を行っていないカーネルを使用すると、セキュアブート(Secure Boot)に引っかかってPCが起動しなくなったり、Wi-Fiやオーディオが突然機能しなくなったりするリスクが高まります。Ubuntuがテストを経て提供する「HWEカーネル」を利用するに留めるのが、トラブルを避ける賢い方法です。