OpenSolaris+GNU+Ubuntu=Nexenta

OpenSolarisとGNUユーティリティとUbuntuを足すとどうなる?正解はNexenta。Nexentaは、OpenSolarisのカーネルとランタイムライブラリを使用した、GNUベースのオープンソース・オペレーティングシステムだ。今回私はNexentaの開発の進み具合いを把握するためAlpha 5リリースを駆け足で試してみた。奇妙な取り合わせのように思われるかもしれないが、1年以上の開発を経たNexentaは実際に申し分なく動くようになっており、非常に興味深いオペレーティングシステムに仕上がりつつあるということが分かった。

NexentaのAlpha 5リリースは、ISOイメージ やライブCD やVMwareイメージとして入手可能になっている。今回はISOイメージを使うことにした。

今回のNexentaのテストは、1GBのRAM、ATI Radeon R250、Intel社製サウンドカード、RealTek社製イーサネットコントローラ、Intersil Prism社製ワイヤレスカード、60GBのハードドライブを搭載したPentium 4ノートブック上でVMwareを使って行なった。

Nexentaのインストーラは、Ubuntuの昔のテキストモードインストーラに似た、単純なテキストモードのインストーラだ。このインストーラは、パーティション、タイムゾーン、ネットワーク、ユーザ設定についての質問を行い、その後約20分をかけてファイルのコピーをした。Nexentaのインストールは非常に簡単だった。私はこの何年かの間にSolarisとOpenSolarisの様々なリリースをインストールしたが、うれしいことに他のSolaris系のOSよりもNexentaのインストールははるかに簡単だった。

ただ唯一の難点は、ディスクのパーティショニングプログラムの完成度だ。というのもNexentaが使用しているパーティショニングプログラムはfdiskよりもさらに非直観的で、ユーザに優しいとはお世辞にも言えないテキストメニューのものだからだ。もちろんユーザが「全ディスクを使用」というデフォルトのオプションをそのまま選ぶのであれば、ものすごく簡単にできる。しかし手動でパーティショニングを行なう場合、LinuxかSolarisでパーティショニングをした経験がない人にとってはやや不親切に感じてしまうだろう。

デバイスのサポート

デバイスのサポートに関して言うと、Nexentaがまったく検知・設定できなかったのは唯一、ワイヤレスカードだけだった。とは言えそもそもOpenSolarisではLinuxほど多くのワイヤレスカードがサポートされてないのでこれは意外なことではなかった。また、どうやらOpenSolarisのカーネルはRealTek社製イーサネットコントローラを部分的にしかサポートしていないようだ。今回Nexenta上でも動くには動いたが、(Linux上ではこのNICはまったく問題なく全二重モードで動くのに対し)全二重モードではなく半二重モードとしてしか設定されなかった。

そして半二重モードでしか通信できなかった結果、同じラップトップにLinuxを入れた時と比較して、Nexentaでのネットワークの転送速度は酷いものだった。同じラップトップでUbuntuを使用した場合、538MBのISOイメージをデスクトップからラップトップへコピーするのは、通常であれば2、3分で完了する。ところがNexentaを使用した場合はそれがもっとずっと長くかかってしまった。

インストールが終わった後で手動で設定/調整する必要があることはほとんどなかった。Nexentaはデバイスをきちんと検知し、サウンド関連やビデオ関連も適切に設定してくれていた。特に感心したのが、私のラップトップのビデオの設定をちゃんとやってくれていたことだ。というのもこれまで複数のLinuxディストリビューションで試したことがあるのだが、このラップトップのビデオ設定を正しく行なうのはすんなりと行ったためしがなかったのだ。このラップトップのデフォルトの解像度は1400×1050なのだが、デフォルトを1280×1024に設定しようとするLinuxディストリビューションが多かった(1024×768に設定しようとするものさえあった)。

またUSBデバイスに関してはNexentaのサポートは優れているものの、カーネルがLinuxほどには多くのファイルシステムをサポートしていないようだった。このことを示す好例として、HFS+ にフォーマットした私のiPodをUbuntuへ接続するとRhythmboxかamaroKを使用してiPod上に保存されたMP3を聞くことができるのだが、NexentaではiPodが検知されているのは確かである(dmesgの出力から確認できる)もののファイルシステムがマウントされることはなかった。

ただし同じUSBデバイスに関してでも、USBカードリーダに入れたデジカメのメモリカードをマウントすることに関しては申し分なくやってくれた。また、Xを起動した後でXを使用中にUSBマウスを追加することもまったく問題なくできた。

NexentaはCD-RWドライブのサポートに関しても少しLinuxに遅れを取っているようだ。NexentaではNautilus経由でCDやDVDに書き込みができるようになっているが、各Linuxディストリビューションでは常に問題なく動いていた私のCD-RWドライブが認識されなかった。

SolarisとGNUが出会うとき

エンドユーザの視点から見ると、デスクトップ環境は馴染みのものだ。NexentaはGNOME 2.14.1を(特に変更せず)そのまま採用している。なお、他のデスクトップ環境をシステムにインストールすることも可能だ。ただ、Nexentaに含まれているkubuntu-desktop meta-packageは依存関係の解決上の問題が多く発生しインストールすることができなかった。

デスクトップアプリケーションに関しては、デフォルトのインストールで、GNOME、Firefox、OpenOffice.org、Rhythmbox、Totem、Gaimなど、Linux上でお馴染の定番アプリケーションが揃っている。また、システム管理用ユーティリティに関してはUbuntuとGNOMEに付いているものが揃っている。例えば、パッケージ管理用のSynaptic、Network Settingsアプレット、User and Groupアプレットなどを利用できるようになっている。なおNexentaは(Ubuntuと同様に)システム管理にsudoを使用するので管理作業を行なうためにはルートのパスワードではなく自分のユーザパスワードを与える必要がある。

パッケージレポジトリに関しては、NexentaではUbuntuやDebianほどには網羅的に提供されてはいない。とは言え、Synapticやapt-getを使用して、十分に色々なアプリケーションを入手することができる。例えば私はレポジトリをチェックすることで、(まさかあるとは思いもよらなかった)Macromedia Flashまでをもインストールすることができた。この経験から私は、Sunの人たちがLinuxユーザをSolarisやOpenSolarisへ本気で誘い出したいのなら、Nexentaからヒントを得てパッケージ管理にAPTやdpkgを採用するべきだと思った。

一方こまかい部分を見ていくと、NexentaにはLinuxとは微妙に異なる点がいくつかある。例えばNexentaのディレクトリ構成は典型的なLinuxディストリビューションのものとはやや異なっていて、ユーザのホームディレクトリが /homeではなく /export/homeにあったり、/kernelや /devicesなどLinuxにはないトップレベルディレクトリがあったりする。またデバイス名がLinuxとは違っていたり、サービスの管理をSMFコマンド(svcsなど)を使って行なうなどの点も異なっている。

またNexentaは、定番のGNUユーティリティとSolarisのユーティリティとを混在させている。例えば、ps、top、inconfigなどのユーティリティはSolaris/Berkeley系のものを使っているが、procinfo、sar、iostatなどの一部のユーティリティはまったく存在しない。その理由はおそらく、sarやiostatが含まれるsysstatパッケージのようなツールの多くがLinux特有であるためだと思われる。

とは言えデフォルトのシェルはGNU Bashであるし、ユーティリティの大半はGNUのものを使っている。なおNexentaは、Ubuntuやその他の多くのLinuxディストリビューションがやっているようにviをVimへのリンクにするのではなく、デフォルトではviが起動するようになっている。ただしVimもやはりデフォルトインストールに含まれている。

ところで、Nexentaでは多くのユーティリティのmanページがないことに気付いたが、それはおそらくシステムがまだ初期の開発段階にあるからというだけのことだろう。

特筆すべき点として、NexentaにはSolaris/OpenSolarisのキラーアプリケーションの一つであるDTraceが含まれているという点が挙げられる。DTraceは、エンドユーザにとってはそれほどの利点というわけではないが、アプリケーションやOSの動作を非常に細かく観察したいシステム管理者や開発者にとっては素晴らしいアプリケーションだ。私自身はDTraceの達人ではないので、OpenSolarisのDTraceのページからスクリプトをいくつかダウンロードして試してみるだけに留まったが、それらはNexenta上でまったく問題なく動いた。

またNexentaはSolaris/OpenSolarisのZones機能を使うことができるようにもなっている。Zonesを使うと、同一のサーバ上で複数のNexenta環境を簡単に設定・管理することができる。Zonesの設定は、Nexentaのウェブページにある文書に沿って行なえば難しくはない。おそらく仮想ホストの設定・インストールが終わるのに1時間半もかからないだろう。

試してみる価値あり?

Nexentaは現在のところまだアルファ段階のソフトウェアだと思われているが、私が使用する限りにおいては問題になるようなことはほとんど存在しなかった。今回、私が試してみた限りにおいては、Nexentaは日常的な使用に十分耐え得るくらい安定していた。(ただし、若干のささいな不具合に目をつぶる必要がある。)

デスクトップユーザの視点から見ると、NexentaはUbuntu以上のものは本質的に何も提供していない。Ubuntuと同等の機能を多く提供しているが、ハードウェアのサポートとパッケージ選択に関しては少し劣ってしまうことになる。

一方、開発者(あるいは単にDTraceとZonesを試してみたい人)にとっては、Nexentaは非常に心引かれるオペレーティングシステムとなっている。DTrace/Zonesを使ってみたいのであれば、(ワークステーションやデスクトップOSとしての機能も充実していて楽しいというオマケがついているので)OpenSolarisを使うよりもNexentaを使った方がおそらくいい選択肢となるだろう。

ライセンス上の問題があるのでDtraceとZonesをLinuxに移植することができないのは残念だが、その問題が片付くまでの間は私が試したOpenSolarisベースのOSの中ではNexentaが最もユーザに優しいOS ということになるだろう。私のメインのワークステーションをNexentaへ移行する予定はないが、(VMware Server経由で使えるように)Nexentaのイメージは消さないでとっておくつもりだ。

NewsForge.com 原文