第1回

序説 Linux:ブームを超えて
「まずはLinuxの基本をおさえよう」

宮原徹
株式会社アクアリウムコンピューター
2000/5/22

宮原徹
株式会社アクアリウムコンピューター代表取締役社長/Project BLUE/日本Samba ユーザ会 広報。データベースの活用を中心としたLinuxによるビジネスソリューション構築のため、公私にわたり日々活動している。Linux Squareフォーラムのガイドとして、記事の執筆や監修などを行う

 昨年、日本のIT業界に一大ブームを巻き起こした「Linux」。一時ほどの勢いはなくなってきたものの、一過性のブームで終わったわけではありません。現在では、いかにしてLinuxを実用的に業務システムに組み込んでいくかの試行錯誤が各社で行われています。

 そこで、ITプロフェッショナルのみなさんがLinuxについて考える場である、この「Linux Squareフォーラム」を始めるにあたり、現在のLinuxの状況をきちんと把握しておきたいと思います。

※以下の文章、Linuxを知らない方は一通り読んで基礎知識としてください。Linuxに詳しい方は、Linuxについて簡単にまとめた文書として、この文書をこれからLinuxを始める人に紹介していただければ幸いです。

 Linuxってなんだろう?

「Linux」と一言で言っても、その解釈の仕方は色々とあります。まずはそこからお話ししていきましょう。

■Linuxはオペレーティングシステムである
 Linuxは1991年、フィンランドのヘルシンキ大学に在学していたLinus Torvalds氏が、自分のPCで自分のUNIXを走らせたい、と思い立つところから開発が始まりました(ちなみにCPUはインテル製の80386でした)。つまり、Linuxは最初からPCで動作するUNIX互換のオペレーティングシステムとして開発されたわけです。

 この話はすでにあちこちで紹介されているので、これ以上の解説は割愛しておきましょう。とにかくLinuxは、このように自分のPCでUNIX互換のOSを走らせるという考えに共感した、多くの人々によって現在まで開発が進められてきました。特にLinux自身が、GNU(GNU is not UNIX!)の掲げていた、フリーソフトウェアのためのライセンスであるGPL(GNU Public License)によりライセンスされていたことは重要です。これによりLinuxのソースコードはすべてオープンになり、誰でも見ることもでき、改造することも、さらには改造したものを再配布することも自由にできるのです。そしてそれが、より多くの人達をLinuxの開発に引き込みました(つまり、GNUでいう「フリー」とは、日本語の「無料」という意味ではなく、ソースコードを「自由」に扱うことができる、という意味です)。この開発の手法を最近では「オープンソース開発手法」と呼ぶようになってきました。これについては、また別の機会に考えてみたいと思います。

 このように沢山の人によって開発されてきたLinuxは、PCを買ってくると最初からハードディスクにインストールしてあるWindowsのような、すぐに使えるようなものではありません。もし「Linuxとは何か?」ということをより厳密に定義するならば、CPUを中心にメモリやファイル入出力などのコンピューターとして必要な最低限の機能をソフトウェア的に受け持つ「カーネル(kernel)」と呼ばれるものだと言えるでしょう。
 カーネルはオペレーティングシステムの中でも最もハードウェアに近い部分にあるため、実際にユーザーがLinuxを使うためにはLinuxカーネル以外にエディタやグラフィカルユーザーインターフェイスやコンパイラなどなど、さまざまなソフトウェアが必要になります。この、ユーザーにとって必要なものを1つにまとめたものが「Linuxディストリビューションパッケージ」と呼ばれるものです。

■Linuxディストリビューションパッケージって?
 TurboLinuxやRed Hat Linux、Vine LinuxにKondara MNU/Linuxなど、調べてみるとさまざまな名前のLinuxに出会うと思います。これらが「Linuxディストリビューションパッケージ」です。例えばユーザーがあるファイルをコピーしたいと思っても、Linuxカーネルだけでは何もすることができません。ファイルをコピーするには、Linux上で動作するファイルコピーのプログラムが必要です。つまり、このように何かの目的を達成するためのLinux用プログラムを沢山集めてパッケージし、配布しやすいようにCD-ROMなどにしたので「Linuxディストリビューション(配布)パッケージ」、あるいは「Linuxディストリビューション」、単に「ディストリビューション」とも呼ばれるのです。このディストリビューションを作る上での「プログラムを沢山集める」集め方にはそれぞれの違いがあります。そのおかげで、ディストリビューションの差異が生まれてきます。

ディストリビューションの基本的な構成要素は

  • Linuxカーネル
  • 標準ライブラリ
  • 各種ソフトウェア

 に大別することが出来ます。Linuxカーネルと標準ライブラリの2つは、どのバージョンのものを利用しているか、といった程度の違いしかありません。大きな差が出てくるのは、各種ソフトウェアの部分でしょう。それはバージョンの新旧だけでなく、日本語化されているかどうか、といった点も大きなポイントとなってくるので、その辺りがディストリビューションの大きな選択の基準の一つとなっているようです。

 ディストリビューションの選択の基準としてもう1つ上げられるのが「インストールのしやすさ」でしょうか。最近のものはCD-ROMから起動してのインストールは当たり前、GUIでマウスを使ってのインストールも普通のものになりつつある今、設定項目を減らすなどの試行錯誤が行われ、Linuxのインストールが難しいということは徐々に昔のことになりつつあるようです。それでも、インストールをきちんと行うためにはLinuxの知識だけでなくネットワークやハードウェアの知識が要求されるなど、総合的な難しさはまだまだ残るのでしょう。

 LinuxとWindowsの違いと特性を知ろう

  現在では何かと比較されるLinuxとWindows。それは同じPCで動くOSだからというだけでなく、それぞれが異なった特性を持っているからです。それらの特性をきちんと把握し、特性に合わせた使い方をしていくことが、全体として調和の取れたネットワークシステムを構築するポイントです。

以下が特に大きく対比されるポイントを表にしたものです。

Linux Windows
○ソフト同士の相性があまりない
○構造上、落ちにくい
×とっつきにくい
×管理方法を覚えるのが大変
×インストールが難しい

×ソフト同士の相性に気をつけないといけない
×構造上、落ちやすい
○とっつきやすい
○管理方法は簡単
○インストールは簡単(というよりも最初から入ってる)

 特性を一言で言い表すと、Linuxは安定性が高い反面、使い始めてから習熟して使いこなせるようになるまでがなかなか大変です。反対にWindowsはGUIなどの敷居が低いため、ある程度までのレベルまで到達するのは容易ですが、シビアな要求に応えるには不満がある、といったところでしょうか。

 LinuxとWindowsの特性を踏まえて、ネットワーク上で調和を取る。そのためにはどうすればいいでしょうか? 単純に言えば、Linuxをサーバにして、Windowsをエンドユーザーが使用するクライアント端末にしていくのが現在においてはベストの組み合わせだと思います。これにはいくつかの理由があります。

 まずは、なんといってもLinuxの安定性です。個々人が利用している端末と違い、サーバのダウンは多くのユーザーに対して影響を及ぼします。特にインターネットではその影響範囲が限りなく広くなるだけに、安定性について重視しなくてはならないでしょう。さらに、Linux上で動作するサーバー用アプリケーションに優秀なものが多く揃っているからです。そこでLinuxを活用するために必要な、代表的なアプリケーションを目的別にいくつか上げてみましょう。

 Linux、こんな使い方はどう?

 では、サーバとしてのLinuxをどう使いこなせばいいのでしょう。ここでいくつか提案してみましょう。

■DNSサーバとして
例えばwww.atmarkit.co.jpに正しくアクセスできるのは、インターネット上で稼動しているDNS(Domain Name Service)があるからです。DNSはデータベースの一種であり、マシンの名前とIPアドレスを管理し、問い合わせに対して答を返してくれます。このDNSで最も使われているのが「BIND」という名前で呼ばれるDNSサーバであり、Linuxでも当然BINDが標準で使われています。

■ファイルサーバとして
Windowsに対応したファイルサーバとして「Samba」というソフトウェアがあります。Sambaを使えば、Windowsネットワークのためのライセンスが必要無いため、非常に低コストでWindowsからネットワーク上でファイル共有を行うことができます。

■メールサーバとして
メールサーバとして数多く使われており、Linuxで標準で使用されているのは「sendmail」です。現在のLinuxの使い方の中でも、メールサーバとしての使い方はきっとベスト3に入るに違いありません。最近では高いセキュリティと設定の分かりやすさから「qmail」というソフトが使われる例も増えてきていますが、自分でソースコードをコンパイルしてインストールする必要があるなど、中級者以上向けという感じのものです。

■Webサーバとして
Webサーバーとしては「Apache」がインターネット上で6割のシェアを誇るなど、事実上の標準となっています。また別の調査ではLinuxとApacheの組み合わせによるインターネット上のWebサーバーの割合が4分の1を越えるという結果も出ており、LinuxといったらまずApacheでWebサーバ、という感すらあります。

■データベースサーバとして
 昨年のLinuxブームの発生要因の1つとして、さまざまなデータベースがLinuxで利用可能になったことがあげられるかと思います。Oracle、Sybase、Informix、IBM DB2、Inprise InterBaseといった、おもだった商用データベースだけでなく、PostgreSQLやmySQLといった無料で利用できる高機能のデータベースも存在したため、この分野が非常に活性化されました。Linux上にWebサーバーのApacheとデータベースの組み合わせで様々なインターネットサービスを構築することはシステム開発の手法として完全に定着したと言っていいかもしれません。

 次回は、Linuxの具体的な利用方法について、さらに解説をしていきましょう。

連載 WindowsユーザーのためのLinux超入門


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間