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」メニューが左下に配置されている。
X Window SystemはXorgだが、NVIDEAなどのプロプライエトリなビデオドライバも標準で搭載され、多くのマシンでCompizによる3Dデスクトップが利用可能だ(図2)。
なお、Jarisのサイトでは、ライブDVD版の他にライブUSB版のイメージも公開されている。ただし、現状ではインストールスクリプトの「usbcopy」を実行するためには、Solaris系UNIX環境が必要である。
簡単インストール
高度なシステムの自動認識機能を備えたGUIインストーラにより、Jarisのインストールは驚くほど簡単だ。ライブ版DVDでシステムを起動し、デスクトップの「Jarisをインストールする」をダブルクリックするとGUIのインストーラが起動するのでその指示に従えばよい(図3)。ユーザーが入力する必要があるのは、タイムゾーンの設定、rootのパスワードと一般ユーザーのアカウント名/パスワードと、インストール先のパーティションのみだ。ネットワークはDHCP経由で設定される。なお、ブートローダにはLinuxでもおなじみのGRUBを使用しているため、WindowsやLinuxとのデュアルブート環境も構築可能だ
パッケージ管理はIPS
Jarisのパッケージ管理システムは、OpenSolarisで新たに開発されたIPS(Image Packaging System)を採用している。これはLinuxにおけるyumやAPTと同じように、インターネットなどに置かれたリポジトリと連動するシステムだ。もちろんパッケージ間の依存関係を判断し、必要なパッケージは同時にインストールされるようになっている。IPSの操作はpkgコマンドを使用し、GUIフロントエンドとしては「パッケージマネージャ」が用意されている(図4)。
Windowsアプリケーションの実行
Jarisの目玉の1つが、Wineを独自にカスタマイズした「Madoris Windows Program Loader」による、Windowsアプリケーションの実行機能だろう。多くの日本語版Windowsアプリケーションを動作させることが可能だ。もちろん、すべてのソフトが動作するわけではないが、Jarisプロジェクトによって動作確認を行ったアプリケーションの一覧が公開されているので参考にするとよいだろう。
Windowsプログラムのインストールは簡単だ。「xxx.exe」などのセットアッププログラムを右クリックし、メニューから「Madoris Windows Program Loaderで開く」を選択すればよい(図5)。
インストールされたアプリケーションは「すべてのアプリケーション」→「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つであるプリンタサポートはフルコンテンツ・バージョンに含まれる予定だ。まだ若いディストリビューションだが、今後の動向に注目したい。