Linux カーネルのリリースライフサイクル

最終更新: 2021-08-07 19:49:51 +0800 +0800
原文は英語で書かれています。あなたはAI翻訳版を読んでいます。

Linux の開発は、Linus Torvalds が管理するメインライン Git ツリーを中心とした時間ベースのサイクルに従います。メインライン開発、安定版へのバックポート、ディストリビューションカーネルは、相互に関連していますが、それぞれ異なるリリース系列です。

メインライン開発 #

ほとんどのパッチは Linus に直接送られるのではなく、階層構造を経由します。開発者は関連するメーリングリストにパッチを投稿し、レビュー担当者とサブシステムのメンテナーが評価し、メンテナーは受け入れた変更をサブシステムツリーに準備します。下位レベルのツリーは、ドライバーツリーからネットワークツリーへの取り込みのように、上位レベルのツリーへ変更を供給できます。linux-next への統合により、サブシステムツリー間の競合をメインラインに到達する前に明らかにします。マージウィンドウの期間中、上位レベルのメンテナーは署名済みのプルリクエストを Linus のツリーに送ります。

メインラインリリースの公開後、次のリリースに向けた約 2 週間のマージウィンドウが始まります。その期間にマージされる変更は、原則として、すでに開発、レビュー、テストを終えています。ウィンドウが閉じると <major>.<minor>-rc1 が作成され、その後、メンテナーがリグレッションと統合上の不具合を修正する間、後続のリリース候補が約 1 週間ごとに公開されます。例外的にリスクが低い場合を除き、新機能は次期サイクルへ延期されます。最終リリースは -rc7 の後に公開されることが一般的ですが、未解決の重大な不具合がある場合は、追加のリリース候補が必要になります。したがって、完全なサイクルには約 9~10 週間かかります。

リリース候補はテスト用スナップショットであり、安定版更新ブランチではありません。たとえば、6.12-rc3 はメインライン 6.12 の 3 番目のリリース候補ですが、6.12.3 は最終版 6.12 の公開後に行われた 3 番目の安定版更新です。

安定版と長期サポートリリース #

メインラインの最終版が公開されると、指定された安定版メンテナーがその .y ブランチを担当します。現在の安定版ルールでは、修正または同等の修正が先にメインラインに存在することを求めています。候補はテスト済みで、明らかに正しく、コンテキストを含めて 100 行以下であり、実際にユーザーから見えるバグを修正するか、デバイス ID を追加するものでなければなりません。機能開発やユーザーに利益をもたらさない整理は対象になりません。受け入れられたバックポートは、次の <major>.<minor>.<patch> リリースまでに公開レビューサイクルを経ます。

一部の安定版ブランチは長期サポート対象として選定されます。選定結果はバージョン番号に組み込まれず、将来のリリースについて事前に保証されることもありません。メンテナーの対応能力、ユーザーとベンダーの需要、リリースの適性がいずれも選定に影響します。予定されているサポート終了日は、ABI の保証ではなく保守上のコミットメントを表すため、延長または短縮される場合があります。

ディストリビューションベンダーは、メインラインまたは長期サポートリリースを起点としてパッチを追加し、異なるサポートスケジュールを公開できます。したがって、6.12.18-200.fc41.x86_64 のような文字列は、上流の安定版タグではなく、ベンダービルドを示します。

バージョン番号とサポート終了 #

現在の上流の最終リリースでは <major>.<minor> を使用し、安定版更新では 3 番目の要素を追加します。メジャーバージョンの増加は ABI の破壊を示すものではありません。kernel.org の説明によると、マイナーバージョンの数値が扱いにくいほど大きくなったときに変更されます。2.6 より前の奇数と偶数による開発規約は廃止されています。現在は -rc がプレリリースを示すためです。

実行中のビルドは次のコマンドで確認します。

sh
uname -r

出力に含まれるローカルおよびベンダーの接尾辞は、ビルドのリリース文字列の一部です。任意の接尾辞を上流のパッチ番号のように並べるのではなく、基礎となる上流バージョンを Git タグと比較してください。

kernel.org のリリースページは、現在有効なメインライン、安定版、長期サポート系列、そのメンテナー、予定されているサポート終了日の正式な情報源です。系列がサポート終了を迎えると、上流から修正は提供されなくなります。継続して使用するには、ベンダーによる保守の確約、またはサポート対象系列への移行が必要です。

参照資料 #

コメント

GitHub で閲覧・コメントする(投稿にはログインが必要です)