Linuxが世に問われてから10数年。この間にLinuxは大きく変わった。中でもサーバー関連のソフトウェアは次々に追加され,いまや商用UNIXと肩を並べるとまで言われている。一方,クライアントOSとしてはまだまだ足りない部分が多いと言われ続けている。だがGUI環境やMicrosoft Officeに匹敵するオフィス・スイートなど,2000年前後から問題は徐々に解消されてきている。

 ここではWindowsに比べてLinuxが弱いとされていた五つのポイントに絞ってLinuxの到達点を見ていく。まずはLinuxの使いやすさを支える,システム更新とGUI環境である。そして三つ目が用途を左右するアプリケーションである。特に仕事に使えるものがあるのかがカギだ。最後の二つが基盤となる印刷機能と日本語の入力/表示である。

簡単になったシステム更新

 Linuxに限らずOSは,インストールしたままでは危険である。特にCD-ROMからインストールした場合,すでにソフトウェアのバージョンが古くなっていると考えるべきだ。Linuxの場合,ソフトウェアをFTPで入手して,コマンドを打ち込んで更新の作業をする,と思われがちだ。だが今はWindows Updateと同等もしくはそれ以上に快適にシステムやアプリケーションを更新できる。

 Linuxのシステム更新機能を進化させた立役者が「APT(Advanced Packaging Tool)」である。1999年に登場したDebian GNU/Linux2.1版が最初に採用した。

 APTはコマンド・ラインやGUIで利用できるシステム更新機能である。コマンド・ラインでは

 apt-get update
 apt-get upgrade

写真1●ネットワーク警戒ツールがユーザーに警告を与えているところ
ユーザーのシステムに更新が必要な場合,インジケータが青から赤に変わる。システムのソフトウェア構成をあらかじめRed HatのWebサイトに登録しておく。

と打ち込むだけでいい。最初のコマンドでユーザーが使っているLinuxディストリビューションの最新のモジュール構成を取得し,ユーザーのシステム上のソフトウェアと比べる注1)。そして次のコマンドで必要なものをダウンロードしてインストールしてくれる。

 更新の必要があるソフトウェアを知らせてくれる仕組みもある。Red Hat社が2002年9月に出荷開始したRed Hat Linux 8.0に導入した「ネットワーク警戒ツール」である注2)。デスクトップ上のタスクバーにインジケータが表示される。更新するソフトウェアがある場合は赤,ない場合には青で表示する(写真1[拡大表示])。インジケータをクリックすると,ソフトウェアをダウンロードして組み込む「up2date」というユーティリティが呼び出される。

土台となるパッケージ

 APTやup2dateといった自動更新を実現できたのは,Linuxにはその土台としてパッケージ管理システムがあるからだ。パッケージとは,あるソフトウェアをインストールするのに必要なプログラムをファイルにまとめたものである。このパッケージをシステムにインストールしたり,削除する仕組みがパッケージ管理システムである。Windows Installerと同じような役割を担っている。

 Linuxのパッケージ管理システムとしては二つの方式が普及している注3)。一つはDebian系のディストリビューションで採用する「Debian Packaging System(deb)」。もう一つがRed Hatが開発した「RPM Package Manager(RPM)」である。debは本家のDebianのほかARMA,KNOPPIXなどで使っている。RPMはTurbolinuxやVine Linux,SuSE Linux,Caldera OpenLinux,Conectiva Linuxなどで採用している。

 パッケージには,(1)プログラム本体,(2)文書,(3)プログラムをインストールするスクリプト,(4)他のプログラムとの依存関係の情報が収められている。ここで不安となるのが依存関係である。

依存関係で必要なソフトを用意

 LinuxはLinuxカーネルやCライブラリ,各種のコマンド,ウインドウ・システムなど,さまざまなプログラムの集合体である。サーバー・ソフトとして稼働しているものや実行時にリンクする動的ライブラリを呼び出したり,コマンドを使ったりする。パッケージの依存関係とは,プログラムの実行に必要なこういった他のソフトウェアを列挙したものである注4)

 これらのプログラムが仮にシステム上になかったり,バージョンが古かったりするとうまく動作しない。もし自動更新機能がなければユーザーが探してきてパッケージを手動で注5)組み込まなければならない(図1[拡大表示])。

 このわずらわしさを取り除いたのが,APTやup2dateである。依存関係で必要とされるパッケージは,配布元があらかじめWebやFTPサイトに用意しておく(図2[拡大表示])。そして,APTやup2dateが自動的にダウンロードしてくれる。配布元がディストリビューションのバージョンごとにパッケージのファイルをきちんと用意しておけば,依存関係で問題が出ないはずだ。

図1●パッケージに含まれるプログラムやドキュメント
ソフトウェアを更新するのに必要なプログラム本体だけでなく,実行時に必要とされるプログラムの情報も収録している。
 
図2●LinuxのAPTやup2dateにおけるパッケージ更新の仕組み
配布元がディストリビューションのバージョンにあったパッケージをWebやFTPのサイトにあらかじめ用意しておく。

OSのカーネルも更新

 up2dateはRed Hat Linuxの7.1以降など特定のバージョン用であるが,APTは広く使われ始めている。ブラジルConectiva社がdeb形式だけでなくRPM形式で使えるように移植した結果,パッケージ管理システムとしてRPMを採用するConectiva LinuxやVine Linux,HOLON LinuxでもAPTが使われているからだ注6)

 Linuxはカーネルも含めてほぼすべてのソフトウェアがパッケージで提供されている。これらのソフトウェアをAPTやup2dateで片っ端から更新すれば,OSのバージョンを上げることもできる注7)

(大森敏行,市嶋洋平)