OpenSolarisのデスクトップ進化形 Jaris

 かつてLinuxがPoor man’s Solarisと揶揄されていたのは遙か昔、今では商用UNIXのシンボル的存在であったサン・マイクロシステムズのSolarisもOpenSolarisとしてオープンソース化される時代となった。今回紹介するJaris(ヤリス)は、OpenSolarisをベースに、デスクトップOSとしての使いやすさ加えること目指して開発されている国産のディストリビューションである。ファイルシステムにはほぼ無限のスケーラビリティや高速スナップショット機能などで話題のZFSを採用し、Windowsアプリケーションの実行機能、キヤノン・エプソン製プリンタドライバの同梱などで、正規版の登場以前から注目を集めている。

 なお、正規版であるJaris 1.0はフルコンテンツ・バージョンと、機能を厳選したベーシック・バージョンの2種類の公開が予定されている。本稿は、2008年10月にリリースされたベータ版である、Jaris b98ベーシック・バージョンでテストを行った。

ライブ版で起動

 Jarisのインストールメディアはライブ版としても機能する。図1にライブ版のデスクトップ画面を示す。GNOMEをカスタマイズした美しいでデザインのデスクトップが印象的だ。パネルは下タスクバーのみの1パネル構成で、Windowsユーザーの取り込みを狙ってか「Start」メニューが左下に配置されている。

jaris1_thumb.png
図1:秀逸なデザインのデスクトップ

 X Window SystemはXorgだが、NVIDEAなどのプロプライエトリなビデオドライバも標準で搭載され、多くのマシンでCompizによる3Dデスクトップが利用可能だ(図2)。

jaris2_thumb.png
図2:Compizによる3Dデスクトップ

 なお、Jarisのサイトでは、ライブDVD版の他にライブUSB版のイメージも公開されている。ただし、現状ではインストールスクリプトの「usbcopy」を実行するためには、Solaris系UNIX環境が必要である。

簡単インストール

 高度なシステムの自動認識機能を備えたGUIインストーラにより、Jarisのインストールは驚くほど簡単だ。ライブ版DVDでシステムを起動し、デスクトップの「Jarisをインストールする」をダブルクリックするとGUIのインストーラが起動するのでその指示に従えばよい(図3)。ユーザーが入力する必要があるのは、タイムゾーンの設定、rootのパスワードと一般ユーザーのアカウント名/パスワードと、インストール先のパーティションのみだ。ネットワークはDHCP経由で設定される。なお、ブートローダにはLinuxでもおなじみのGRUBを使用しているため、WindowsやLinuxとのデュアルブート環境も構築可能だ

jaris3_thumb.png
図3:インストーラ画面

パッケージ管理はIPS

 Jarisのパッケージ管理システムは、OpenSolarisで新たに開発されたIPS(Image Packaging System)を採用している。これはLinuxにおけるyumやAPTと同じように、インターネットなどに置かれたリポジトリと連動するシステムだ。もちろんパッケージ間の依存関係を判断し、必要なパッケージは同時にインストールされるようになっている。IPSの操作はpkgコマンドを使用し、GUIフロントエンドとしては「パッケージマネージャ」が用意されている(図4)。

jaris4_thumb.png
図4:パッケージマネージャ

Windowsアプリケーションの実行

 Jarisの目玉の1つが、Wineを独自にカスタマイズした「Madoris Windows Program Loader」による、Windowsアプリケーションの実行機能だろう。多くの日本語版Windowsアプリケーションを動作させることが可能だ。もちろん、すべてのソフトが動作するわけではないが、Jarisプロジェクトによって動作確認を行ったアプリケーションの一覧が公開されているので参考にするとよいだろう。

 Windowsプログラムのインストールは簡単だ。「xxx.exe」などのセットアッププログラムを右クリックし、メニューから「Madoris Windows Program Loaderで開く」を選択すればよい(図5)。

jaris5_thumb.png
図5:セットアッププログラムをMadorisで実行

 インストールされたアプリケーションは「すべてのアプリケーション」→「Madoris」→「プログラム名」で起動できる。

ZFSの採用

 標準ファイルシステムのZFSは128ビットという膨大なアドレス空間をサポートする、安定性と拡張性に優れたファイルシステムだ。ストレージプールと呼ばれる仮想的なデータストアに必要に応じて物理的なパーティションを追加していくことにより、ディスク空間をダイナミックに拡張していける。また、ソフトウエアRAID(RAID-0、RAID-1、RAID-Z)を簡単に構築することも可能だ。

 数あるZFSの特徴の中で、デスクトップユーザーにもっとも恩恵があるのが、ファイルシステムのその時点の状態を記憶するスナップショット機能だろう。スナップショットは差分データとして保存されるため作成は一瞬で終了する。また、使用サイズも少ない。まさに“スナップショットを撮る”という感覚だ。たとえば、すべてのユーザのホームディレクトリのスナップショットを作成したければ以下のコマンドを実行すればよい。LinuxのLVMでもスナップショットは作成できるが、LVMのスナップショットがLV(論理ボリューム)単位でしか作成できないのに対し、ZFSのスナップショットは任意の単位(ファイルシステム、ディレクトリ、ファイル)で作成できる。

# zfs snapshot rpool/export/home@mySnap1

 また、ZFSではロールバック機能を使用してスナップショットを作成した時点の状態に簡単に戻ることが可能だ。なお、現状ではスナップショットの操作にはコマンドラインで「zfs snapshot/rollback」などのコマンドを実行する必要がある。今後Mac OS XのTime Machineのようなユーザーインターフェイスが搭載されると、デスクトップユーザーに対してより強力なアピールとなるだろう。

Linuxユーザーへの配慮

 コマンドラインはLinuxユーザーを意識した作りになっている。まず、Solaris系UNIXのデフォルトのログインシェルはたいていBournシェルだが、Jaris(およびOpenSolaris)では、Linuxの標準シェルであるbashがデフォルトのログインシェルに設定されている。また、ls、cp、tarといった基本コマンドはUNIX系OS間でオプション体系が異なるため使い勝手に違いがあるが、JarisではSolarisオリジナルのコマンドに加えて、GNUプロジェクトによるコマンド群が/usr/gnu/binディレクトリに用意されており、GNUコマンド群のほうが優先して使われるようになっている。

$ echo $PATH
/usr/gnu/bin:/usr/bin:/usr/X11/bin:/usr/sbin:/sbin	←/usr/gnu/binの優先順位が高い
$ ls /usr/gnu/bin/	←GNUの基本コマンドの保存先
amd64            expand           mv               tail
awk              expr             ncurses5-config  tar
basename         factor           nice             tee
captoinfo        false            nl               test
cat              fgrep            nohup            tic
chgrp            fmt              od               toe
chmod            fold             paste            touch
chown            freetype-config  patch            tput
chroot           grep             pathchk          tr
cksum            groups           pentium_pro+mmx  true
clear            head             pr               tset
cmp              hostid           printf           tsort
comm             hostname         pwd              tty
cp               iconv            reset            uname
csplit           id               rm               unexpand
cut              infocmp          rmdir            uniq
date             infotocap        sdiff            unlink
dd               join             sed              uptime
df               kill             sh               wc
diff             link             sleep            which
diff3            ln               sort             who
dirname          logname          split            whoami
du               ls               stty             yes
echo             mkdir            sum
egrep            mkfifo           sync
env              mknod            tack

 たとえば、tarコマンドを実行した場合、GNU tarが実行されるわけだ。GNU tarに慣れたユーザーはSolarsiのtarにgzip/bzip2圧縮機能が無いことに面食らうわけだが、Jarisであればそういうこともないだろう。逆にSolarisオリジナルのコマンドを実行したければ、絶対パスで指定する必要がある。

 以上、Jarisの概要を駆け足で紹介した。ベーシック・バージョンは収録アプリケーションが少ないが、これはフルコンテンツ・バージョンが登場すれば解消されるだろう。Jarisのウリの1つであるプリンタサポートはフルコンテンツ・バージョンに含まれる予定だ。まだ若いディストリビューションだが、今後の動向に注目したい。