1CD Linuxには,既存OSの利用環境に影響を及ぼすことなく手軽にLinuxを使えるといったメリットがある半面,大きな制約もある。ハード・ディスクにインストールして使う通常のLinuxディストリビューションとは異なり,アプリケーションの追加などカスタマイズが難しいのだ。その制約を打ち破る,Customizable KNOPPIX on UserModeLinuxの仕組みと使い方を示す。

 KNOPPIXはドイツのKlaus Knopper氏が開発した,CD-ROMドライブに挿入して起動するだけで利用できる1CD Linuxである。起動時に,PCに装着されたネットワーク・カードやサウンド・カード,ビデオ・カードなどを自動認識・設定し,ユーザーにわずらわしい操作を求めることなくKDEのグラフィカルなデスクトップ画面が即座に利用可能な状態で立ち上がる。搭載するアプリケーションの種類も豊富で,オフィス・ソフトのOpenOffice.orgやWebブラウザのMozillaなどクライアント用のものだけではなく,ApacheやSambaなどサーバー用のものも含んでいる。

 PCのハード・ディスクにインストールする必要がなく,既にWindowsがインストールされているマシン上でもWindowsの利用環境に一切影響を及ぼすことなくLinuxを使えるので,Linuxを手軽に試してみたいユーザーに向く。また,システムに問題が生じた場合でも,KNOPPIXを起動し直せば初期状態に戻るので,教育用途などにも効果的だろう。

 ただし,1CD Linuxには大きな制約がある。ハード・ディスクにインストールして使う通常のLinuxディストリビューションとは異なり,アプリケーションの追加などカスタマイズができないのだ。KNOPPIXの場合,付属のユーティリティを用いてハード・ディスクにインストールすればカスタマイズが可能であるが,その場合は1CD Linuxならではのメリットが消滅してしまう。


写真1 産業技術総合研究所のKNOPPIXのWebページ
KNOPPIXの日本語化や改良に取り組んでいる。

[画像のクリックで拡大表示]

写真2 User Mode LinuxのWebページ
Linux上に仮想マシンを作り出す「User Mode Linux」を開発している。

[画像のクリックで拡大表示]

写真3 User Mode Linuxで仮想マシン上にKNOPPIXを起動した
ウインドウ内にもう一つのKNOPPIXが動作している。

[画像のクリックで拡大表示]

写真4 KNOPPIXでアプリケーションのインストール
KNOPPIXにアプリケーションを追加インストールするとエラーが表示され,インストールが失敗する。

[画像のクリックで拡大表示]

写真5 COW機能を使ったKNOPPIXにアプリケーションをインストール
User Mode Linux上で,COW機能を利用したKNOPPIXにはアプリケーションを追加インストールできる。「dpkg -l」でインストールしたアプリケーションの情報が正常に表示されている。

[画像のクリックで拡大表示]

キー・テクノロジはUML,COW,SHFS

 KNOPPIXの日本語化作業などを実施している産業技術総合研究所(写真1[表示],http://unit.aist.go.jp/it/knoppix/)は2004年6月18日,1CD Linuxでありながらアプリケーション追加などのカスタマイズを可能にした「Customizable KNOPPIX on UserModeLinux」を公開した。Customizable KNOPPIX on UserModeLinux(以下,Customizable KNOPPIXと略記)は,KNOPPIX 3.3をベースに,仮想マシンを作り出すプログラムの「User Mode Linux」(詳細は後述)や,差分ファイル・システムを実現する「COW(Copy On Write)」(同),CD-ROM版のホーム・ディレクトリをUser Mode Linuxでも利用可能にするSHFS persistenthomeなどの機能を利用することで,カスタマイズを可能にした1CD Linuxである。

 Customizable KNOPPIXでは,User Mode Linuxで起動するKNOPPIXのシステムを自在に変更できるほか,その上で動作するアプリケーションの追加や設定変更などができる。さらに,差分ファイル(オリジナルからの変更部分を)を他のユーザーに渡せば,それを受け取ったユーザーもカスタマイズが施されたKNOPPIXを使える。

UMLによる仮想マシン上でKNOPPIXを動作

 User Mode Linux(写真2[表示],http://user-modelinux.sourceforge.net/)は,Linux上に仮想マシンを作り出すオープンソースのアプリケーション・ソフトである。これを用いることにより,例えばKNOPPIX上に,KNOPPIXが動作する仮想マシンを作り出せる(写真3[表示])。

 User Mode Linuxの特徴は,独自スケジューリング機能によりCPUリソースをプロセスに効率よく配分するので,仮想マシン上のOSでも比較的軽快に動作することだ。また,ネットワークもサポートしており,仮想OS上でもインターネットにアクセス可能である。

 仮想マシンやその上で動作するOS,アプリケーションの挙動に異常が生じた場合でも,仮想マシンを停止して再起動するだけで,PCを再起動することなく元の状態に戻せる。この機能は,例えばシステムの動作チェックや,プログラム開発などに役立つ。

 なお,KNOPPIXにはUser Mode Linuxを手軽に起動できるよう,User Mode Linux用の起動ユーティリティが用意されている。

システムの変更部分を切り出して保存する

 KNOPPIXは,書き込みができないメディア(CD-ROM)に収められており,通常はカスタマイズしたとしても,その結果を書き戻せない。実際,KNOPPIXでパッケージのインストールを試みると,「dpkgステータスエリアにアクセスできません」というメッセージが表示され,インストールが拒否される(写真4[表示])。

 Customizable KNOPPIXでは,読み出しのみ可能で書き込みができない通常のKNOPPIXと,変更部分を切り出して読み書きとも可能な領域に配したファイル(差分ファイル)を,COWという機能(User Mode Linuxの一機能)により重ね合わせて利用することで,カスタマイズを可能にしている。COWを利用すると,書き込みは差分ファイルに対して実施するようになる。また,読み出しは,まずは差分ファイルを対象に試みて,見つからなかった場合に通常のKNOPPIXに対して実施する。こうした仕組みにより,User Mode Linuxで起動した,COWを利用したKNOPPIXでは,パッケージをごく普通にインストールできる(写真5[表示])。また,差分ファイルを他ユーザーに渡せば,それを受け取ったユーザーがカスタマイズされたKNOPPIXを再現して利用できる。