SDRI LOGO
System Design and Research Institute Co., Ltd.
業務ご案内 職員紹介 求人情報 会社概要 技術情報
 

日本におけるFedoraの紹介のされ方にもの申す

2004年8月21日(土) 関根 達夫

Fedora Project の目的

本家の"Objectives"(拙訳)にはだいたい以下のようなことが書いてあります。

  1. 一貫性を持ったリリースを年に2~3回
  2. 極力、upstream に対して作業する。 security update の場合でも upstream に対して作業する、すなわち upstream で security update 込みの新 version がリリースされたら、それを使用する
  3. 新機能を積極的に採り入れる
  4. Red Hat の商用製品の基礎となる

他にも色々あるのですが、結局のところある程度は実用に供するものの、実験的なディストリビューションであるということです。

Red Hat 製品との関係

次に、RHが提供する比較表を参照してみてください。 Red Hat社/Fedora Projectが提供するディストリビューションは以下の通りです。

Raw Hide
開発リポジトリ。 core な開発者向けです。 Raw Hide は常に Raw Hide であり、ディストリビューションとして release はされません。 以下のディストリビューションの開発のために用いられます。
Fedora Core
人柱・開発者向けのディストリビューションです。 サポートなしの「自由な」ディストリビューションですが、単に利用するだけのユーザーというのは想定していません。
Red Hat Enterprise Linux(AS/ES/WS)
AS/ES は企業のサーバ用、商用ディストリビューションです。 WS は企業のデスクトップ・クライアント用、商用ディストリビューションです。
Red Hat Professional Workstation
デスクトップ用の商用ディストリビューションです。 位置づけ、特に RHEL WS との関係がよくわからない製品です。 デスクトップ向けと言いつつ、Turbo Linux のように色々アプリケーションがついてくるわけでもなく…。 詳細が知りたい方は Red Hat 社に問い合わせてみてください。

Fedora Project の目的、及びこの Red Hat 製品のラインナップ、そして "Red Hat Linux" から撤退したことをまとめると、結局のところ 「一般ユーザーのサポートは金が掛かるだけなので、もう止めよう。でも(商用)ディストリビューションを安定させるためには『多くの目』が必要なので、なんとかせねば。そうだ、開発をオープンにしてみんなを巻き込んじゃえ。」 というところでしょうか。ここで見逃してはならない大事なことは、裏でこそこそみんなを巻き込んでいるのではなく、オープンにしたからみんなが『多くの目』にならなければならないと明言している点です。

現実

ところがです。世間では「Fedora Core で初めて作るインターネットサーバー」みたいな書籍が売られ、雑誌には「とりあえずinstallして動かしてみましょ~。最新のソフトが使えるよ」なんて消費者を騙すようなことが堂々と書かれています。 念を押しますが、残念ながら Fedora Core においてはユーザーがお客さん然としてただ使うだけというのを想定していません。

なんで、こんなことになっちゃったんでしょうか? Amazon で洋書を"Fedora Core"で検索した限りでは、RHEL がメインの本を除けば Fedora 本は 2 冊しかありません(2004/08/03時点)

それに対して、日本でタイトルに「Fedora」と入った本の多いこと…。 まぁ、FC1 に関しては RHL9.1(もしくは RHL10) として release されるはずだったものを Fedora に移しただけ(+α)なのでまだ許せますが、FC2 は明らかに人柱版です。 FC2 をベースにした RHEL の計画もなく、kernel-2.6.x (とそれに関するツール類)の実験場としての意味合いが非常に強くなっています。 こんなものでサーバを構築するなんて、かなりリスキーです。

updateポリシーの問題

Fedora Core でサーバを構築する場合の障壁の一つは、最初に述べたFedora プロジェクトの目的の 2. です。 Fedora Project でリリースされたアップデートプログラムをインストールすることで、過去の互換性を失う可能性があります。

通常のパッケージでは、セキュリティホールが発見されると、それを修正したものは新しいバージョンとしてリリースされるのが一般的です。 しかし、新しいバージョンはセキュリティホールの修正と同時に複数の機能拡張などが行われている場合があります。 そのため、新しいバージョンでは時として設定ファイルの記述方法が変更されるようなケースもあります。

普通の Linux ディストリビューションでは、セキュリティホールに対応したバージョンをリリースする場合には、前述したような互換性の問題を避けるために、セキュリティホールに対応した新しいバージョンをそのまま収録せず、以下のような作業を行っています。

まず、セキュリティホールを塞いだバージョンから、セキュリティに関連する部分のソースコードを取り出します。 次に、ディストリビューションとしてリリースしたバージョンに対して、新しいバージョンから取り出したソースコードを適用します。 このようにすることで、互換性を維持しながらセキュリティホールを塞いでいます。

しかし、Fedora ではセキュリティーアップデートした場合には、機能が追加されてたりして設定ファイルの書式や意味が変わってしまっている可能性があるということなのです。 普通であれば、そう簡単には設定ファイルの書式なんて変わりはしませんが、全く無いとは言い切れません。 普通のディストリビューションであれば、そこでパッチだけを適用するので書式が変わらないのですが、Fedora Core ではそのようなことをしない場合があると明言しているのです。

設定ファイルの書式が変わってしまうなんてのは、個人使用のデスクトップアプリケーションでは笑って済ませられますが、皆で使うサーバアプリケーションで発生してしまっては大変です。

ただし一言付け加えておくと、常に最新というポリシーが有効に働く場合もあります。 まず、すべてのソフトウェアにおいてセキュリティーホールの存在が積極的に公表されるわけではありません。 リリースノートに「○○のバグを直した」とだけ書かれていても、実はその『○○のバグ』というのがセキュリティーホールを意味している場合があります。 このようなセキュリティーホールの存在は見落とされがちです。 また、ソフトウェアの開発元では、最新のバージョンに対してのみセキュリティーホールを塞ぐパッチが提供されるのが普通です。 安定性を売りにするディストリビューションにおいては、非最新版に対してセキュリティーホールを塞ぐパッチを作成(+検証)するのに時間がかかってしまい、セキュリティアップデートが遅れる場合があります。 以上の2点より、Fedora Core のようなポリシーにおいては、セキュリティーホールの数が少なくなっている可能性、及びセキュリティアップデートが早く出る可能性があります。

サポートの問題

Fedora Core でサーバを構築する場合のもう一つの障壁は、サポート期間・サポート体制の問題です。 Fedora Core では次のリリースが出てから数ヵ月後(Fedora Core 1 の場合は Fedora Core 3test2 リリース時)にサポートが切れ、以降のメンテナンスを Fedora Legacy プロジェクトが引き受けることになっています。 しかし、巷の噂によると Fedora Legacy プロジェクトの活動状況はあまり芳しくないようです。 この件についてはあまり検証できていませんが、Fedora Legacy がメンテナンスする Red Hat Linux 9 の Errata(メンテナンス開始は2004/05/01)と RHEL WS 3 の Errata(RHEL WS 3 はかなり Red Hat Linux 9 に近いバージョンを収録しています)とを比較(RHEL WS 3 の方は RHSA のみを対象)すると、やはり Fedora Legacy の方が見劣りします。

この問題については、そもそもがセキュリティーアップデートがすぐ(1年以内)に出なくなってしまうということなので、マシンを安全に保つためには環境全体を常に新しい Fedora Core ディストリビューションにしておく必要があるということです。 ディストリビューションのバージョンが違えば、その差が大きいことは説明するまでもありませんよね。

結論

以上の議論をふまえた上で、あなたはそれでも Fedora Core をサーバに使いますか? 百歩譲って自分でサーバに使うとしても、他人に責任をもって Fedora Core をサーバ用途に薦められますか?