FreeBSD 5.1-RELEASE 初期利用者のための手引き

FreeBSD リリースエンジニアリングチーム

$FreeBSD: src/release/doc/ja_JP.eucJP/early-adopter/article.sgml,v 1.7 2003/05/26 15:32:33 rushani Exp $

この記事では、FreeBSD 5.1-RELEASE の現状を 5.X 系列のリリースまたは FreeBSD 一般に不慣れな 利用者の立場から詳細に述べています。 リリースエンジニアリングの背景となる事情、 新機能のハイライト、初期利用者が直面する可能性のある障害を記載しています。 また、4-STABLE 開発ブランチの将来のリリース計画と 既存のシステムをアップグレードするためのヒントをいくつか紹介しています。



1. はじめに

FreeBSD 5.X は、2 年ぶりに公開される新しいメジャーバージョンです。 さまざまな新機能に加えて、システムアーキテクチャレベルでの開発も 数多く反映されています。ただしこの進歩は、まだ広く試験されていない 新しいコードが非常に多く導入された結果でもあります。 そのため、現在の 4.X リリースと比較すると、 初期の 5.X リリースは安定性や性能、 場合によっては機能性などの点で劣っているかも知れません。

リリースエンジニアリングチーム はこのような理由から、新しいリリースにおいて発生しうる問題を ユーザが自覚して (そして対処する準備ができて) いない限り、 古い FreeBSD リリースを 5.1-RELEASE にアップグレードするのを 明確に非推奨としています。 特に、今までどおりの動作を期待する慎重なユーザには、しばらくの間は (4.8-RELEASE のような) 4.X リリースで運用することをおすすめします。 5.X へのアップグレードを考える時期としては、 おそらく 5-STABLE 開発ブランチが作成された後が適当でしょう。 これは 5.2-RELEASE の公開あたりになる見込みです。

(FreeBSD 5.X はいわゆる``卵鶏問題''を抱えています。 プロジェクトでは皆が可能な限りリリースを 安定で信頼性の高いものにしようと考えているのですが、 その安定性と信頼性を得るには、広い範囲での試験、 特にシステムの新しい機能に対する試験が必要です。 しかし、たくさんのユーザにシステムを試験してもらうためには、 実際のところ最初のリリースを作成し、 配布しなければならないのです!)

この文書では、FreeBSD 5.1-RELEASE のインストールと運用における いくつかの問題点について説明しています。 まず、FreeBSD のリリース工程の概要について解説し、 次に FreeBSD 5.1-RELEASE の特筆すべき新機能のいくつかと、 不注意からユーザが陥りやすいと思われる問題について紹介します。 また、4-STABLE ベースのリリースを使い続けようと考えているユーザ向けに、 今後の 4-STABLE 開発ブランチにおける短期・中期的なプランについても触れます。 最後に、4.X システムを 5.1-RELEASE にアップグレードする際の注意点を示します。


2. FreeBSD リリース工程の概要

FreeBSD では、ソースコードリポジトリに複数の開発ブランチを置く という開発モデルを採用しています。中心となるブランチは ``CURRENT'' と呼ばれ、 CVS リポジトリでは HEAD というタグが付けられています。 新機能はまず、このブランチにコミットされます。 つまり CURRENT には新機能が一番最初に追加されますが、 その新機能の追加やデバッグが原因でシステムが壊れてしまうこともある、 ということです。

FreeBSD リリースの大部分は、いくつかある ``STABLE'' ブランチから作成されます。これらのブランチには、CURRENT である程度試験された機能だけが追加されます。 現時点で活発に開発されている STABLE ブランチは 1 つだけです。 そのブランチは ``4-STABLE'' と呼ばれており、 FreeBSD 4.X リリースはすべてこのブランチから作成されました。 このブランチは CVS リポジトリで RELENG_4 というタグが付けられています。

FreeBSD 5.0 と 5.1 は CURRENT ブランチをベースにしています。 CURRENT ブランチからのリリースは 2 年ぶりです (前回の FreeBSD 4.0 は 2000 年 3 月でした)。

FreeBSD 5.0 のリリース後、少し経過した時点で FreeBSD CVS リポジトリに RELENG_5 というタグが打たれ、 ``5-STABLE'' というブランチが作成される予定です。 以前の 2 つの stable ブランチ (3-STABLE および 4-STABLE) は、 それぞれの ``x.0'' リリースの直後 (それぞれ 3.0 と 4.0) に 作成されていました。しかしこの方法では、 新しい STABLE ブランチが作成される前に、 CURRENT ブランチが安定する 十分な時間が確保できないという問題があります。

そのためリリースエンジニアリングチームは、 各ブランチがそのブランチの持つ性格に対して 比較的安定した状態になったことを確認してから、 CVS リポジトリに 5-STABLE ブランチを作成することを予定しています。 おそらくブランチが作成されるまでに、5.X 系列からリリース版がいくつか公開されるでしょう。 5-STABLE ブランチの登場は、5.2-RELEASE の後あたりになると見込んでいます。

FreeBSD リリースエンジニアリング工程に関する詳細は、 リリースエンジニアリングのウェブページ および、``FreeBSD リリースエンジニアリング'' という記事をご覧ください。 きたる 5-STABLE 開発ブランチについての特記事項は ``5-STABLE 開発ブランチのロードマップ'' という記事をご覧ください。


3. 新機能

FreeBSD 5.X の大きな魅力の 1 つは、数多くの新機能です。 これらの新しい機能は、FreeBSD 4-STABLE 開発ブランチには統合できなかった 大きなアーキテクチャレベルの変更も当然ながら含まれています (一方で新しいデバイスドライバやユーザランドユーティリティなど、 それ自身で完結している改良点は、4-STABLE ブランチに移植されています)。 すべてを網羅したものではありませんが、簡単にまとめてみましょう。

さらに詳しい新機能のリストは、FreeBSD 5.0-RELEASE と FreeBSD 5.1-RELEASE のリリースノートに書かれています。


4. 初期リリースを使う上での欠点

FreeBSD 5.X には説明したような新機能が追加されているのですが、 問題があったり、意図どおりに動かないという部分もいくつか存在します。 これはほとんどの場合、多くの機能がまだ開発中であることに起因したものです。 次に、問題のある部分のいくつかをまとめたリストを示します。

このようにシステムの安定性に影響する欠点が多くあることから、 5.X 系列が十分に安定するまでの間、 リリースエンジニアリングチームは、 現在の機能性・安定性を重要視するサイトやユーザに対して 4-STABLE ブランチから公開されるリリース版を利用することを推奨しています。


5. 4-STABLE ブランチに対する今後の予定

FreeBSD 5.0 が公開されても、4-STABLE ブランチの開発が終了するわけではありません。 実際に、FreeBSD 4.8-RELEASE は 5.0-RELEASE の 2 ヵ月後の 2003 年 4 月に公開されました。 このブランチからは、最低でももう 1 回のリリース、 すなわち 4.9-RELEASE が公開されるでしょう (現在は 2003 年の夏を予定しています)。 4.10-RELEASE が公開される可能性についても同様です。 4-STABLE ブランチからの将来のリリースは、いくつかの要素が絡んできます。 最も重要なのは、5-STABLE ブランチの作成と、その安定性です。 CURRENT が 5-STABLE ブランチを作成できるほどに安定していなかった場合、 リリースは 4-STABLE ブランチから作成することになるでしょう。 また 4-STABLE には、4-STABLE ブランチからの最終リリースが 告知されるまで、開発者の判断とリリースエンジニアリングの ポリシに基づいて HEAD から新機能が統合されます。

ある程度ですが、リリースエンジニアリングチームは 開発者コミュニティと同様にプロジェクト全体として、 将来の 4-STABLE リリースに対するユーザのニーズを考慮するつもりです。 ただしそのニーズは、リリースエンジニアリング作業に必要な労力・資源 (特に開発者の時間、計算機資源、ミラーアーカイブ容量) に見合ったものである必要があるでしょう。

セキュリティオフィサチーム は FreeBSD ウェブサイトの セキュリティのページ で公開されているポリシに基づき、 4-STABLE ブランチから作成されるリリースのサポートを継続します。 セキュリティ勧告とセキュリティ上の修正がサポートするのは、 通常、各ブランチ毎に最も新しい 2 つのリリースです。 セキュリティオフィサチームは、 他のリリース版もこのルールに則ったサポートを行ないます。


6. FreeBSD 4.X からアップグレードする際の注意点

この節では現在 FreeBSD システムを利用している方向けに、 FreeBSD 4.X システムを 5.X システムにアップグレードする際の 注意点について説明します。 FreeBSD をアップグレードする場合は、アップグレードしたいバージョンの リリースノートと errata 文書を読むこと、また、 ソースからアップグレードする場合には src/UPDATING を読むことが重要です。


6.1. バイナリアップグレード

おそらく最も単純な方法は、 ``すべてをバックアップして、再フォーマット、再インストールし、 最後にバックアップを展開''することでしょう。 この方法は、互換性がなかったり、古くて使えない実行ファイルや 設定ファイルによって、新しいシステムが汚染される問題を回避することができます。 また、新規にファイルシステムを作成することによって、 デフォルトフォーマットである UFS2 の新機能の恩恵を受けることができます。

現時点の sysinstall(8) のバイナリアップグレード機能は、 メジャーバージョンをまたぐアップグレードに対して 十分に試験されていません。 そのため、この機能を使うことはおすすめできません。 特に、バイナリアップグレードは FreeBSD 4.X に存在して FreeBSD 5.X に存在しないファイルをシステムに数多く残します。 これらの古いファイルは何らかの問題を引き起こす可能性があります。

i386 および pc98 プラットフォームの 4-STABLE では、 インストールメディアからの起動の際、 ISA デバイスの設定を起動時に変更できる UserConfig ユーティリティが利用できるようになっています。 FreeBSD 5.0 では、この機能の一部が device.hints(5) 機構に 置き換えられました(同じパラメータを指定できますが、 対話的なものではなくなっています)。

フロッピを使ったバイナリインストールには、 デバイスドライバのカーネルモジュールを含んだ 新しい 3 枚目のフロッピイメージが必要です。 この drivers.flp フロッピイメージは通常、 従来からある kern.flpmfsroot.flp のフロッピイメージが置かれている場所と同じところに置かれています。

i386 アーキテクチャにおける CDROM を使ったインストールでは、 ``非エミュレーション型''の起動ローダを使用するようになっています。 この利点はいろいろとありますが、フロッピイメージ用に切り詰めた カーネルではなく、通常の GENERIC カーネルが 使用できるという点があげられるでしょう。 理論的には、Microsoft Windows NT 4 インストール CDROM が起動できるシステムなら、FreeBSD 5.X CDROM も動作するはずです。


6.2. ソースを使ったアップグレード

何はともあれ、src/UPDATING を読むことが非常に大切です。 ``To upgrade from 4.x-stable to current'' という節には、アップグレード手順がステップバイステップで書かれています。 説明されているとおり、正確に従ってください。 たまにやる人がいるのですが、 手順を``飛ばしたり''してはいけません。


6.3. 共通の注意点

Perl がベースシステムから削除されています。 すでに作成ずみの package から、もしくは Ports Collection から Perl をインストールしなければなりません。 以前は Perl をベースシステムの一部として構築していたため、 Perl のアップグレードが難しく、多くの問題を引き起こしていました。 ベースシステムのユーティリティで Perl を使うものは、 まだ使われているものは Perl を使わないものに書き換えられ、 使わなくなったものは削除されています。 sysinstall(8) は、大部分の配布物のインストール時に、 その配布物の一部として Perl の package もインストールするようになっていますので、 この変更に気づくユーザはごく一部でしょう。

基本的に、従来の 4.X で使っていた実行ファイルは 5.X でも動作します。 ただし、これには compat4x 配布物がインストールされていることが必要です。 つまり、古い ports を使うことはおそらく可能です。

既存の 4-STABLE ベースのシステムに上書きする形でインストールや アップグレードを行なった場合は、 /usr/include にある古いヘッダファイルを削除することが非常に重要です。 バイナリインストールや installworld の前に、 このディレクトリをリネームしておくと良いでしょう。 こうしないと、(特に C++ プログラムで) コンパイラが古いヘッダと 新しいヘッダを混ぜて使用してしまい、おかしな結果になる可能性があります。

MAKEDEV がもはや提供されなくなり、 また必要なくなりました。 FreeBSD 5.X は、必要に応じてデバイスノードを自動的に作成する デバイスファイルシステムを利用しています。 詳細は devfs(5) をご覧ください。

UFS2 が newfs(8) を利用して作成するファイルシステムの デフォルトのディスクフォーマットになりました。 また、pc98 を除くすべてのプラットフォームにおいて、 sysinstall(8) がディスクラベル作成画面で作成する デフォルトのファイルシステムになりました。 FreeBSD 4.X は UFS1 のみを認識する (UFS2 は認識しません) ので、 5.X と 4.X の両方がアクセスする必要のあるディスクパーティションは UFS1 で作成しなければならないことに注意してください。 これは newfs(8)-O1 オプションを利用するか sysinstall(8) のディスクラベル作成画面で指示することで 指定することができます。 このような状況は、単一のマシンで FreeBSD 5.X と FreeBSD 4.X の双方を起動するシステムでしばしば発生します。 ディスクフォーマット間のファイルシステムを変換する方法は (バックアップして、ファイルシステムを再度作成し、 バックアップを展開する以外に) 存在しないことに注意してください。


7. まとめ

FreeBSD 5.1-RELEASE には魅力的な機能がたくさん含まれています。 しかし現時点では、それがすべての皆さんの期待に応えられるものではないかも知れません。 この文書では、リリースエンジニアリングの背景と 5.X 系列の特筆すべき新機能の一部について、 初期リリースを使う上でのいくつかの欠点についてとりあげました。 また、将来の 4-STABLE 開発ブランチの計画と、 初期リリースを利用する人向けのアップグレードのヒントも説明しています。


このファイルの他、リリース関連の文書は ftp://ftp.FreeBSD.org/ からダウンロードできます。

FreeBSD に関するお問い合わせは、<questions@FreeBSD.org> へ質問を投稿する前に解説文書をお読みください。

FreeBSD 5-CURRENT をお使いの方は、ぜひ <current@FreeBSD.org> メーリングリストに参加ください。

この文書の原文に関するお問い合わせは <doc@FreeBSD.org> まで、
日本語訳に関するお問い合わせは、<doc-jp@jp.FreeBSD.org> まで電子メールでお願いします。