イントロダクション
Last Modified: Tue Dec 27 00:06:02 JST 2011

PC Unix の意義

僕が初めて触れた Unix は、通っていた大学の計算機センターにあった VAX11 で動いていた Ultrix だから、かれこれ10年ぐらい前の話になる。 研究室に入る頃には Sun 3 が導入され、SunOS を使うようになっていたが、 いずれにしても当時は Unix はミニコンやワークステーションでないと使えない、特別な OS だった。 PC Unix の先駆け MINIX はすでに登場していたが、自分では使う気にならなかった。 MINIX を 98 上で動かして中途半端な Unix を使うぐらいなら、自宅から電話をかけて Sun に telnet する方がマシだったからだ。 事実、当時は卒論を書いたり NetHack で遊んだりするのに電話回線経由で telnet していた。 ゲームはサクサク動くのに、画面の書き換えが遅くて閉口したことを憶えている。

Unix は今でこそオープンシステムの代名詞のように扱われているが、その昔は、誰にでも手にいれることの出来る手軽な OS というわけではなかった。 まず動作するマシンそのものが高かった。 一番安い Sun でも 100万円以上、他のマシンはもっと高かった。 それに Unix 自体も高かった ── 個人で買おうなんて思いもよらないような値段だったはずだ(調べたこともないので分からないが)。 ところが PC Unix のお陰で、状況は大きく変わってしまった。 今では5万円そこそこのパソコンでも、PC Unix なら余裕で動く。 以前の VAX よりも、高機能の Unix マシンが自宅で使えるのだ。

こうして Unix は手に入れやすい OS になった。 だがこれは、Unix が簡単な OS になったということとは違う。 以前ならば、シェル・スクリプトを書けるようになれば、いっぱしの Unix 使いと言ってよかった。 昔気質の Unix ユーザの中には「毎日1度はカーネルのリコンフィグをしてしまう」なんていう人もいるが、日常的な業務に使うだけならそんな管理業務は必要ない。 そもそも root 権限を持つ人は管理担当の人に限定されていた ── 事務所や学校などといった場所で使われる場合、管理を担当する専門家を一人置くことができたからだ。 しかし自宅のパソコンに PC Unix を導入したら、自分自身で root を引き受け、管理していくしかない。 ところがこの Unix の管理業務というのは、結構骨の折れることなのだ。

現在 PC Unix を Windows や MacOS と比較して「ユーザにとって選択肢の一つ」という論調があるが、それは間違っていると思う。 PC Unix はそれなりの目的と理由がある場合に限って使うべきだと思うし、そうでなければ超えるべきハードルが高すぎるだろう。 そういう負担を、Windows や MacOS のような気軽さでユーザに押し付けるのは、ちょっと無責任だと思うのだ。

しかし、管理をやっていく能力と意欲のある人にとっては、PC Unix はまさにうってつけの選択と言える。 現代社会ではインターネット抜きにコンピュータは語れないが、Unix はインターネットとの親和性が非常に高い OS だからだ (蛇足を承知で言っておくが、親和性の高さと簡便さは別の話だ。 Windows や MacOS と比べてみれば分かる)。 それになにより Unix には、秘密が大変少ないという利点がある。 PC Unix のほぼすべてがカーネルのソースを公開している。 究極的には、ソース以上に雄弁なドキュメントはないからだ。

FreeBSD

Unix はそもそも AT&T 社が開発した OS だが、登場以来30年間、様々な種類に分裂、派生を繰り返している。 もっとも大きな派閥は2つ、オリジナルに近い System V 系(SVR4)と、大学で育った BSD 系だ。 FreeBSD は名前からも分かる通り、BSD 系に属している。

BSD とは Berkley Software Distribution、つまりアメリカ・カリフォルニア大学バークレイ校で開発された派生システムという意味だ。 Unix のオリジナルは AT&T のベル研究所が作ったものだが、BSD はそこからライセンスを受けて様々な研究や開発が行われていたのだ。 BSD で追加された機能には様々なものがある。 たとえば仮想記憶を最初に実装しているし、csh や vi のような「近代的な」コマンドも BSD で追加されている。 ネットワークにも早くから対応し、標準を打ち立てるのに大きな役割を果たしている。

以上の Unix 開発は、ミニコンのような非パーソナルコンピュータで行われてきたが、パソコンの性能が上がるにつれて PC でも動くバージョンがほしいという要求が高まってきた。 そうして Linux や FreeBSD が開発されるようになったわけだ。 FreeBSD は 386 BSD などから派生したもので、兄弟的な位置に NetBSD や OpenBSD などが存在している。 FreeBSD に至る歴史には紆余曲折があるのだが、ここでは関係ないので省略する。 興味があるなら本や他のサイトを調べてほしい。

Linux との比較

PC Unix の代名詞とも言える Linux は、SVR4 (System V Release 4) という別の系統に属している。 Linux は、最初 MINIX を参考にして作られ、その後大幅な改良を経て現在に至っている。 現在は Windows に代わるデスクトップ OS として、大変な注目を集めている。

BSD に慣れた立場から見ると、Linux は大変混乱しているように見える。 FreeBSD がひとつのプロジェクトチームによって中央集権的にコントロールされているのと違い、Linux には数多くのディストリビュータがあって、ひとつのカーネルに対してさまざまなオプションを付加してリリースしている。 Linux コミュニティによれば、カーネルは1つなのだから Linux はひとつだということらしいが、ディストリビューションごとの差は無視できない大きく、事実上別のものと見なした方がよいことが多い。 事実、多くの商用アプリや開発環境が Redhat オンリーという形でリリースされている。

性能の違いについては、定量的なデータを持っていないので判断は控えておく。 とりあえず現時点で言えるのは、Linux はデスクトップ OS としては成功しているものの、ネットワーク OS としては BSD に劣る点も多いということだ。

Solaris との比較

Solaris は Sun に搭載されている商用 Unix だ。 Sun は BSD にも寄与した学生たちが卒業して作った会社ということもあって、当初の Sun OS は BSD 系だった。 だが(様々な歴史的理由により)System V に寄っていくこととなり、最終的には Solaris は SVR4 となった。

僕は Sun OS しか使ったことがないので Solaris のことはよく知らない。 一般的に Solaris は次のような特徴を持っていると信じられている。 すなわちメーカ直販の商用 OS で、価格なりの高い性能を持つということ、メーカのサポートがあるということ、Sun のハードウェアの性能をすべて引き出せるということだ。 事実、スケールの必要な現場では Sun のマシンと Solaris が活躍しているという実績もある。 一方、Sun と Solaris は高価であるという点も否めない。 まあ、安心を金で買うつもりなら、支払っても悪くはないと思う。

ちなみに Solaris は、自社でサポートしているソフト以外のインストールなどはいっさい認めていない。 有用なフリーソフトを使いたいと思っても、その点に限っては自分でなんとかしなければならない。 企業なのだから当たり前なのだが、そういう風に囲い込む風潮は、今時流行らないんじゃないかと思う。

NetDaemon の目的

最近は Linux のお陰で Unix の普及が進み、書籍や Web ページといった形で様々な情報が得られるようになってきた。 しかしその多くは、管理に必要な情報をすべて網羅しているというわけではない。 多くのユーザは Windows 代わりに使おうとしていることもあって、アプリのインストール方法などに重点が置かれるケースが多いし、ステップ・バイ・ステップの手順書だけで理由や原理が抜けていることもある。 僕自身は、パソコンを Windows 的に使いたいなら Windows を使えばいいと思っているので、グラフィックやサウンド機能を追求することはまったくしていない。 そうではなく、純粋にネットワークサーバとしての Unix ならではの機能を追求していく方がおもしろいと思う。 そういう情報は書籍にしても Web にしてもあまり多くはない。 また自分で見つけた手法や情報を忘れないようにメモする必要もある。 そこでこのページを作ることにした。

基本的に当ページでは、手順を示すのももちろんだが、それ以上の情報を提供することを心掛けている。 そのため、一見すると直接役に立たない読み物が多いように思えるかもしれない(そういう風にする予定 ─ 工事中)。 しかし、それらの情報は、トラブルや新しい状況に直面したときになって役に立つはずだ。 そういう状況に対応するには、記憶や経験ではなく、新たな策を思い付く必要があるからだ。 ─ すでに分かっているトラブルは、もはやトラブルとは言えないのである。

NetDaemon は FreeBSD 布教ページではないので、FreeBSD が一番だとか、FreeBSD を使うべきだと主張する気はまったくない。 様々な Unix の中から FreeBSD を選択した、その後に役立つページを目指している。 同じ Unix のことだから、Linux や Solaris でも使える情報はあると思う。 ただ、すべてを網羅しようとするとどうしても無理が出てしまう。 そういうときは FreeBSD に的を絞って説明するというのが、当ページの基本方針である。


[back to index]