NetBSD リリース用語集と図
NetBSD は 3つの形態で提供されます:
- 公式リリース - テストされた製品バージョン.
- 保守枝 - 保守用のさまざまな枝.
- NetBSD-current - 主要な (開発) ツリー.
また例として、 3.0 リリースおよびそれに続く保守枝を描いた、 リリース枝の概観 を表す図を示します。
最近、 NetBSD のリリースバージョン番号の付与方法が変更されました。 完全を期すため、古いリリースの番号付与方法 を説明した節も用意しています。
- 公式リリース
-
公式かつ、信頼性の高い NetBSD のソースとバイナリーの配布です。 2.0 や 3.0 のようなメジャーリリース、 2.1 のような保守 (stable) リリース、 2.0.2 のような security/criticalリリースの各形態があります。
メジャーリリースごとに保守枝が一本ずつあり、 メジャーリリース後、この保守 (stable) 枝に対して、 バグ修正および限られた範囲の機能追加が反映されます。 その後、この保守枝からは、公式マイナーリリース、たとえば 2.1 がおこなわれます。 マイナーリリースは通常、同じ日付の -current よりも信頼性は高いが、 機能は -current にくらべ不足しています。
NetBSD では、 NetBSD 2.0 のリリースから、 security/critical リリースという方式を導入しました。 このリリースは、メジャーおよびマイナーリリースの時点で分岐した CVS 枝から作成されます。 このような保守枝では、 セキュリティー上の問題や、その他重大な問題の修正のみが反映されます。 これは、リリース枝を示す図に描かれています。
- 保守枝
-
NetBSD 2.0 以降は、保守枝は二種類の形態で提供されています:
- 次のマイナーリリースに発展する開発用の保守枝。 stable 枝と呼んでいます。 バージョン称号は、この枝に沿ったものが反映されます。 たとえば 2.0_STABLE であり、 これは 2.1 に進化します。 この CVS 枝は、 NetBSD-current から分岐して 対応する前回のメジャーリリースをおこなった枝と同じ枝です。
- security/critical リリースを提供する保守枝。 この枝は、メジャーおよびマイナーリリースごとに作成されます。 これは、 security/critical 枝として参照しているものです。これらの枝に適用される独自の "枝バージョンの称号" はありません。 そのかわりに、バージョン番号が、たとえば 3.1 から 3.1.1 のように上がります。 その中間のバージョンは、以前は、たとえば 2.0.0_STABLE のようになっていましたが、 NetBSD 3.0.2 と 3.1 のリリース以降は、 前述の stable 枝と明確に区別するために、たとえば 3.1.0_PATCH のようになりました。
stable 枝に関してわかることは、 最新の (メジャーまたはマイナー) リリースに対して、 NetBSD-current 開発枝から引き戻し (pull up) されたバグ修正および拡張をすべて加え、 次のマイナーリリースにつなげるものになっているということです。 たとえば、最新リリースが 3.0 である場合、 これに対応する CVS 枝は "netbsd-3" であり、この枝は、 次期リリースである 3.x のアルファ版を含んでいると考えることができます。
security/critical 枝には、 セキュリティー上の問題や、その他重大な問題の修正のみが反映されます。 この枝の目的は、セキュリティー上の問題その他重大な問題の修正を提供すること、 しかし同時に、安定版の枝で抱き合わせでおこなわれているような、 その他の変更は最小限にすることです。 たとえば、最新リリースが 2.0 である場合、これに対応する security/critical 枝は "netbsd-2-0" であり、この枝は 2.0.1 や、それに続く security/critical リリースである 2.0.x をもたらします。
保守枝は、その枝に対応するリリースに対する最新の修正を手に入れる 簡単な方法だと考えればよいでしょう。
日々更新される最新保守枝のスナップショットがあり、 CVS, FTP と SUP により利用できます。 pub/NetBSD/NetBSD-release-3-0/ と pub/NetBSD/NetBSD-release-2-0/ ディレクトリーに、それぞれ 3.0 と 2.0 リリース枝の 展開されたソースと毎週更新される tar ファイルが置かれています。 これらのファイルは /pub/NetBSD/NetBSD-current ディレクトリーと同様な方法で作成されています。
- NetBSD-current
-
NetBSD-current は NetBSD 開発の本流の枝であって、 NetBSD 開発の "最前線" です。このバージョン番号は常に N.99.M のような形式になっており、 次の公式メジャーリリースに向けて開発されます。 つまり、 3.99.23 は最終的に 4.0_BETA となります (その後、 4.0 となります)。 NetBSD-current では、 カーネルのバージョン番号の最後の部分は、 カーネルとユーザーランド間の重要なインターフェースが変更されるとひとつ増えます。
NetBSD-current は SUP, CVS, cvsweb や FTP で利用できます。
BSD CSRG 用語で気づくと思いますが、-current はふつうアルファ品質での配布です。 これはコンパイルできることすら保証されていません。
- スナップショット
-
最新のリリース枝および -current のバイナリースナップショットは、 http://nyftp.NetBSD.org/pub/NetBSD-daily/ に用意されています。
また、特にポートメンテナーによるスナップショットが作成されることもあり、 NetBSD-current と保守枝のどちらもあり得ます。通常、 -current を追跡しはじめるのにもっとも簡単な方法は最新のスナップショットをインストールする事でしょう。
NetBSD 2.0 リリースより前では、リリース番号の付け方が少し違いました。 メジャーリリースには 1.5 や 1.6 のような番号を、マイナーリリースには 1.4.3 や 1.6.2 のような番号を与えていました。 NetBSD-current のバージョンは、 1.6B や 1.6ZA のような、 前回のメジャーバージョンに 1 〜 2 文字を付け加えた形となっていました。
以下の図は、初期の NetBSD リリース、 CVS 枝、 CVS タグの関係を表したものです。
最後に、説明に完全を期すため、上述の規則のさらにわかりにくい例外について、 説明しておきます (これも、上に掲げた古いリリース枝の図に描かれています)。 リリースおよび CVS 枝の命名法の変更がおこなわれたのは、 2.0 の最終リリースより前でしたが、 このリリース枝が作られたのよりは後でした。 このため、 2.0 リリース用の最初の枝タグは、 新しい命名法にもとづく netbsd-2 ではなく、 netbsd-2-0 になりました。ただし、 2.0 リリースに続く枝の名前には、新しい規則が適用されています。 すなわち、 2.0.1 に至る枝は netbsd-2-0 であり、 2.1 に至る予定の枝は netbsd-2 です。