18.5. 開発ブランチを追いかける

FreeBSD には二つの開発ブランチがあります。 それは FreeBSD-CURRENT と FreeBSD-STABLE です。 この章ではそれぞれについて説明し、 どのようにしてシステムの対応するツリーを最新の状態に保つかについて説明します。 まずは FreeBSD-CURRENT、次に FreeBSD-STABLE について説明します。

訳: Hiroyuki HANAI、1996 年 11 月 6 日

18.5.1. 最新の FreeBSD を追いかける

FreeBSD-CURRENT とは FreeBSD の開発の 最前線 です。 FreeBSD-CURRENT のユーザは高い技術力を持つことが要求され、 自分のシステムが抱える困難な問題を自力で解決できなければなりません。 もし FreeBSD を使い始めたばかりなら、 これを運用することについて十分検討を重ねた方が良いでしょう。

18.5.1.1. FreeBSD-CURRENT ってなに?

FreeBSD-CURRENT は FreeBSD の最新のソースコードです。 中には現在開発途上のソフトウェア、 実験的な変更、あるいは過渡的な機能などが含まれています。 また、この中に入っている機能がすべて、 次の公式リリースに入るとは限りません。FreeBSD-CURRENT をソースからほぼ毎日コンパイルしている人はたくさんいますが、 時期によってはコンパイルさえできない状態になっていることもあります。 これらの問題は可能な限り迅速に解決されますが、 FreeBSD-CURRENT が不幸をもたらすか、 それとも非常に素晴らしい機能をもたらすかは、 まさにソースコードを同期した瞬間によるのです!

18.5.1.2. 誰が FreeBSD-CURRENT を必要としてるの?

FreeBSD-CURRENT は、 次の 3 つの重要なグループを対象としています。

  1. ソースツリーのある部分に関して活発に作業している FreeBSD コミュニティのメンバ。 彼らにとっては 最新のもの にしておくのが 絶対に必要なことなのです。

  2. 活発にテストしている FreeBSD コミュニティのメンバ。 彼らは、FreeBSD-CURRENT が 健全である ことを可能な限り保証するために、 種々の問題を解決するのに時間を惜しまない人々です。 これらのテスターは、さまざまな変更に関する提案や FreeBSD の大まかな方向付けを行ないたいと思っている 人々でもあり、それを実装するためのパッチを提示します。

  3. 単に、さまざまな事に目を向け、 参考のために最新のソースを使いたいと思っている人々。 これらの人々はまた、 時々コメントやコードを寄稿してくれます。

18.5.1.3. FreeBSD-CURRENT に期待してはいけないことは?

  1. 次のリリースの前に、最も早く新しい機能を入手すること。 リリース前の機能は十分にテストされていないため、 バグを含んでいく可能性が大いにあります。

  2. バグを修正するための素早い方法。 いかなるコミットは、 元からあるバグを修正するのと同じく、 新しいバグを生み出すおそれがあります。

  3. 公式のサポート はありません。

18.5.1.4. FreeBSD-CURRENT を使う

  1. freebsd-currentsvn-src-head メーリングリスト に加わってください。 さまざまな人がシステムの現在の状態について述べているコメントを見たり、 システムを正常に保つための重要な情報を見逃さないために、 必須の ことです。

    svn-src-head メーリングリストでは、 それぞれの変更についての commit ログが記録されています。 また、それに関して起こり得る副作用の情報を得ることができますので、 参加する価値のあるメーリングリストです。

    これらのメーリングリストに入るには、 http://lists.FreeBSD.org/mailman/listinfo をたどって参加したいメーリングリストをクリックし、 手順の説明にしたがってください。 ソースツリー全体の変更点を追いかけるのであれば、 svn-src-all メーリングリストを購読してください。

  2. FreeBSD ミラーサイト からソースの入手するには、以下のようないくつかの方法があります。

    1. svn を使って、 希望する開発ブランチ、 もしくはリリースブランチをチェックアウトしてください。 この方法は、開発中の FreeBSD リポジトリへのアクセスを提供しており、 推奨されています。 Subversion ミラーサイト のひとつの head ブランチから -CURRENT コードをチェックアウトしてください。 リポジトリサイズの観点から、 希望するサブツリーのみをチェックアウトすることが推奨されます。

    2. CTMを用いる。 接続料が高額だったり、email でのアクセスしかできないような、 あまり良質でない TCP/IP 接続の場合には、CTM を利用すると良いでしょう。ただし、Subversion ほどには信頼はできません。 そのため、インターネットに接続しているシステムであれば、 Subversion を利用されることを推奨します。

  3. もし、ソースを眺めるだけでなく、 走らせるために入手するのであれば、 一部だけ選ぶのではなく、FreeBSD-CURRENT の全体を手に入れてください。 ソースのさまざまな部分が他の部分の更新に依存しており、 一部のみをコンパイルしようとすると、 ほぼ間違いなく問題が起きます。

    FreeBSD-CURRENT をコンパイルする前に /usr/src/Makefile を注意深く読んでください。 アップグレードの処理の一部として、最初に 新しいカーネルをインストールし て、world を再構築 してください。FreeBSD-CURRENT メーリングリスト/usr/src/UPDATING を読めば、 次のリリースへ向けて移ってゆくに当たって、 ときどき必要となる既存システムからの新システムの構築手順についての最新情報が得られるでしょう。

  4. アクティブになってください! FreeBSD-CURRENT のユーザには、 拡張やバグ潰しに関して提案することが勧められています。 コードを伴う提案はもっとも歓迎されるものです!

18.5.2. 安定版の FreeBSD を使う

訳: 岩崎 満

18.5.2.1. FreeBSD-STABLE ってなに?

FreeBSD-STABLE とは定期的に公開されるリリースを作成するための開発ブランチです。 このブランチに加えられる変更は原則として、 事前に FreeBSD-CURRENT で試験ずみであるという特徴があります。 ただそうであっても、 これは開発用ブランチの一つであるということに注意してください。 つまり、ある時点における FreeBSD-STABLE のソースが どんな場合にも使えるものであるとは限らないということです。 このブランチはもう一つの開発の流れというだけであって、 エンドユーザ向けのものではありません。

18.5.2.2. 誰が FreeBSD-STABLE を必要としているの?

FreeBSD の開発プロセスに興味があったり、 それに対する貢献を考えていて、特にそれが次回の ポイント リリースに関係するものであるなら FreeBSD-STABLE を追うことを考えると良いでしょう。

セキュリティ上の修正は FreeBSD-STABLE ブランチに対して行なわれますが、 そのために FreeBSD-STABLE を追う必要はありません。 すべての FreeBSD セキュリティ勧告には EOL に達していないすべてのリリースに対する問題点の修正方法が説明されています。 [7]

FreeBSD-STABLE ブランチはいつもコンパイルができ、 安定に動作すべきですが、 それが保証されているというわけではありません。 また、コードは FreeBSD-STABLE に加えられる前に FreeBSD-CURRENT で開発されるのですが、FreeBSD-STABLE のユーザは FreeBSD-CURRENT よりも多いため、FreeBSD-CURRENT で発見されなかったバグが FreeBSD-STABLE で発見され、 ときどきそれが問題となることがあるのは避けることができません。

このような理由から、盲目的に FreeBSD-STABLE を追いかけるべきではありません。 特に、最初に開発環境もしくはテスト環境でコードを十分に試験せずに、 プロダクション品質が要求されるサーバを FreeBSD-STABLE にアップグレードしてはいけません。

もし試験をする資源的な余裕がない場合は、 リリース間のバイナリアップデート機能を利用して、 最新の FreeBSD リリースを使うことを推奨します。

18.5.2.3. FreeBSD-STABLE を使う

  1. FreeBSD-STABLE の構築に関連する事柄や、 その他の注意すべき点 に関する情報を得るために、 freebsd-stable メーリングリストに加わってください。 また開発者は議論の余地がある修正や変更を考えている場合に、 このメーリングリストで公表し、 提案された変更に関して問題が生じるかどうかを返答する機会をユーザに与えます。

    追いかけているブランチに関連する svn メーリングリストに参加してください。 たとえば、9-STABLE ブランチを追いかけているユーザは svn-src-stable-9 メーリングリストに参加してください。 このリストでは、 変更がなされるごとに作成される commit log やそれに伴う 起こりうる副作用についての情報が記録されています。

    これらのメーリングリストに入るには、 http://lists.FreeBSD.org/mailman/listinfo をたどって参加したいメーリングリストをクリックし、 手順の説明にしたがってください。 ソースツリー全体の変更点を追いかけるには、 svn-src-all メーリングリストを購読してください。

  2. 毎月公開されている FreeBSD-STABLE からビルドされたスナップショットの新しいシステムをインストールするには、 詳細について、 スナップショット をご覧ください。 もしくは、ミラーサイトから最近の FreeBSD-STABLE リリースをインストールし、下記の説明に従って最新の FreeBSD-STABLE のソースコードに更新することもできます。

    既に FreeBSD の以前のリリースが動いているシステムを FreeBSD ミラーサイト からアップグレードするには、 以下のようないくつかの方法があります。

    1. svn を使って、 希望する開発ブランチ、 もしくはリリースブランチをチェックアウしてください。 この方法は、開発中の FreeBSD リポジトリへのアクセスを提供しており、 推奨されています。 ブランチ名については、現在の開発のヘッドブランチは head、および リリースエンジニアリングのページ の特定のブランチでは stable/9、または releng/9.0 となります。 Subversion を使ってベースシステムをチェックアウトする際の URL のプレフィックスは、Subversion ミラーサイト で説明されています。 リポジトリサイズの観点から、 希望するサブツリーのみをチェックアウトすることが推奨されます。

    2. インターネットへの接続に高速な回線を利用できないのであれば、 CTM を検討してみましょう。

  3. FreeBSD-STABLE をコンパイルする前に、 /usr/src/Makefile をよく読んでください。 アップグレードの処理の一部として最初に 新しいカーネルをインストールして、 world を再構築 してください。FreeBSD-STABLE メーリングリスト/usr/src/UPDATING を読んで、 次のリリースへ向けて移ってゆくに当たって、 ときどき必要となる既存システムからの新システムの構築手順についての最新情報を得てください。



[7] 現時点での古いリリースの FreeBSD のセキュリティポリシーの全説明を知るには、http://www.FreeBSD.org/ja/security/ を参照してください。

本文書、および他の文書は ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ からダウンロードできます。

FreeBSD に関する質問がある場合には、 ドキュメント を読んだ上で <questions@FreeBSD.org> まで (英語で) 連絡してください。

本文書に関する質問については、 <doc@FreeBSD.org> まで電子メールを (英語で) 送ってください。