このページの本文へ

Linuxのウソ(3)――Linuxは安定している?

1999年08月16日 17時35分更新

  • この記事をはてなブックマークに追加
  • 本文印刷

 前回、前々回と、「Linuxのウソ」というタイトルで、Linuxについて無自覚に「思い込」まれているテーマを取り上げ、それをきちんと検証してみることで、Linuxを正しく理解してもらうための「手がかり」を提供してきた。今回はその3回目である。

 この「Linuxのウソ」シリーズは、いちおう漠然とだが、10回ほどのネタを考えている。ただし、それにこだわるわけでもなく、Linuxを取り巻く状況の変化などに臨機応変に対応しつつ、「今のLinux」を正しく理解するための「ヒント」を提供できればと考えている。

 さて、今更ここで強調することでもないが、何をするのでも、情報を「正確に」把握することはとても重要である。こんなこと、私が改めて強調しなくても、みんな分かっているはずだ。しかし、これがまた難しいのも事実である。自分に入ってくる情報を、慎重に、かつ注意深く吟味し、その背景まで含めて分析するという強靭な「意志」がなければ、なかなか難しい。いや、それでも、自分の感情という、ちょっと油断すると無自覚のうちにフィルターをかけてしまう「厄介者」がいるので、やはり、そう簡単にはいかない。噂が人の口の端を渡り歩いているうちに、話し手の都合のいい解釈に染められてしまうのはよくあることである。

 Linuxについていえば、その特徴として真っ先に挙げられるのが「安定している」という形容詞である。果たして本当だろうか?

 「安定している」というのは相対的な表現であり、何と比べて、という点をきちんと明らかにする必要がある。もっとも、このような言い方をする人の多くは、それをWindowsと比べている場合が多い。しかし、汎用的な意味において厳密な尺度というのは存在しないという点には注意する必要がある。これを厳密に測定し、客観的な数字として表わそうとすると、どうしても「条件」を特定せざるを得ないし、逆に、条件を特定してしまうと、それはその場合だけにおける「安定性」となってしまい、そのまま一般的なケースにまで敷衍(ふえん)して解釈するのは危険である。

 では、厳密とまではいかなくても、実際に使ってみての感覚はどうかというと、もちろん環境にもよるのだが、ユーザーレベルでちょっと触ってみただけでは、Windowsと比べようが、Windows NTと比べようが、Linuxのほうが圧倒的に安定しているということは、実はよく分からない場合が多い。

 たとえば、ユーザーアプリケーションとして最も利用頻度が高いと思われるWebブラウザについて見てみると、LinuxのNetscapeは本当によく「落ちる」。環境によってはそれほどでもないという人もいるが、そういう人は「いや、Javaの機能はOFFにしている」とか「JavaScriptもOFFにしている」などと平気で言う。今どき、JavaやJavaScriptが使えなければ、いくら安定したところでWebブラウザの意味がない。それに、私の経験では、JavaやJavaScriptをOFFにしていても、「落ちる」ときは落ちるし、「固まる」ときは固まる。

 これはNetscapeだけではない。「GNOME」と呼ばれるデスクトップ環境も、リリースバージョンが1.0になったにもかかわらず、けっこうよく「落ちる」し、知らないうちに関連プログラムが「coreを吐いて」いたりする。お世辞にも、安定しているとは言いがたい。「Windowsの比じゃないよ」という人もいるが、それは(とにかくパソコンで何かしらの目的を達成したいと考えている)純粋なユーザーからしてみれば五十歩百歩というもの。

 こう書くと、「それはLinuxじゃなくて、Netscapeというアプリケーションの問題であって、Linuxの問題ではない」というかもしれない。しかし、GNOMEにはKDEという「別解」があるからまだしも、Webブラウザについては、日本語が表示できてJavaやJavaScript、SSLなどをサポートしているのがNetscapeしかないのだから、ユーザーにしてみれば、これがOS環境としての「Linuxの実体」なのだ。

 実は(と、もったいぶるわけではないが)、狭義の「Linux」であるLinuxカーネルに話題を絞っても、無条件で安定しているとは言えない事情がある。

 Linuxカーネルは、一般的に利用するための「安定バージョン」と、次の安定バージョンに向けて新しい機能をテストする「開発バージョン」との2種類が並行して公開されている。これは、ピリオドで区切った3つの数字によって表わされるバージョン番号のうちの、2番目の数字が偶数か奇数かで見分けることができる。現時点では、安定バージョンは「2.2.x」で、開発バージョンは「2.3.x」となっていて(「x」の部分には更新されるたびに増えていく数字が入る)、それぞれ「2.2系カーネル」、「2.3系カーネル」などと呼ばれることもある。安定バージョンのほうは、それ以前に開発バージョンでいろいろとテストされ、もう大丈夫となった時点でリリースされる、いや、されることになっている。

 しかし、今年初め、安定バージョンとしては2年半振りのバージョンアップ(という意味では2年余のテスト期間があったということ)となる「2.2」が公開された直後、あるコマンドを実行するだけでシステムがリセットされてしまうという、とんでもないバグが発覚した。もちろん、こんなあからさまバグは、発見後、ものの数時間で修正されたが、考えてみれば恐ろしいことである。

 また、2.2.10(2.2になってから10回更新されたバージョン)になっても、ある特定条件下ではあるが、ファイルシステムが破壊されるという、かなり凶悪なバグが見つかっている(最近になってリリースされた2.2.11で「完全修正宣言」が出されたが、本当にそれが確実かどうかは、さらにテストされる必要があるだろう)。

 このように、Linuxだから特別に安定しているという道理はないのである。
 Netscapeの例でいえば、結局、いくらOSコアが大丈夫だといっても、必須アプリケーションが頻繁に落ちるようでは、ユーザー環境としては「不安定」なのである。Linuxとて、その上で動いているアプリケーションの安定性は、それぞれのベンダの開発力に依拠している。まったく当たり前のことだ。構造的にLinuxは、Windows 98などに比べれば、アプリケーションのエラーでOSが「道連れ」になりにくいとは言えるが、そういうアプリケーションを作ることが絶対に不可能というわけではない。そういう意味では、Linuxの安定性のある面は、各々のアプリケーションプログラマの「マナー」に依っていると言える。

 また、2.2系カーネルが、公開されてすでに半年以上経っても潜在的なバグを抱えていたというのも、それは何も珍しいことではない。Linuxといえどもソフトウェア(それも比較的大規模な)であることには変わりはないので、やはりどこかにバグが潜んでいてもおかしくない。これは、オープンソースだからということとも、あまり関係ないと思う(まったく関係ないとも思わないが)。確かに、誰でもソースコードにアクセスできるとはいえ、エラーをそこに発見しバグを修正できる人は、スキルという面からいっても、ごくごく限られている。ここでも、「Linuxだから安定している」とは、とても言えない。

 では、Linuxは安定したOSではないのか?
 いや、そんなことはない。Linuxは世界中でインターネットのサーバなどとして日夜使われており、そうした実績という面からも、また私自身が日々Linuxを使っている実感からいっても、やはり、安定したOSだと言い切ることができる。何か矛盾しているように聞こえるかもしれないが、意地悪ではない。より正確に言えば「Linuxなら何でも安定しているということにはならないが、Linuxは、ユーザーの選択によって安定したシステムを構築することができる」ということなのだ。

 Linuxの場合は、最新の2.2系がダメなら、この2年余りずっと使われバグフィックスされ続けてきた2.0系カーネルを選択するという手もある。あるいは、用途が限定されているサーバなどでは、余計な機能を極力削ぎ落として安定的に動作するシステムにすることだって簡単だ。このように、ユーザー側に自由な選択肢が残されており、ユーザーの主導の下に、目的に合わせて安定したシステムを構築することができるのがLinuxなのである。そして、この「ユーザー側に選択肢がある」という点こそが、Linuxのアドバンテージなのである。

「Linuxのウソ」というタイトルで、「Linuxそのもののウソ」という内容を想像された方、ゴメンナサイ。ここでは「Linuxについてよく言われるフレーズの『ウソ』」という意味で使っています。

(風穴江)

風穴 江/かざあな こう

プロフィール

風穴江

「月刊スーパーアスキー」誌(1998年7月号で休刊)にて1993年ごろからLinux連載を担当。1998年3月からフリーに。1999年4月1日からは「月刊Linux Japan」(LASER5出版局)の編集長も務める(エイプリルフールではない)。1967年、青森県生まれ。青森県立八戸高校卒。

カテゴリートップへ