OpenSolaris
最近 OpenIndiana (旧OpenSolaris) のバージョンが上がり,今まであった問題がとれて使いやすくなりました. 今回 OpenIndiana 151a5 をインストールしたので,メモを記しておきます. (対象は,他のUNIXライクなOSにある程度慣れた人を想定しています.)
利点
他のUNIXライクなオペレーティングシステム/ディストリビューションに比較し,以下の様な特徴があります.
- 堅牢で安定している
商用UNIXである Solaris がベースなので堅牢に思われます. ライブラリや各種ソフトウェアのアップデートが頻繁すぎず,安定している印象を受けます.
- 無料
- ZFSサポート
元々ZFSはSun(現Oracle)で開発されたので,SunのSolarisに系譜をひくOpenIndianaのZFSのサポートは安定しているように思われます.
ZFSについて
zfs は,ファイルシステムです.他のファイルシステムに比べ,以下の様な特徴があります.
- 論理ボリュームの機能が組み込まれている
全てのストレージは『ストレージプール』と呼ばれる論理的なボリュームに属します.
$ zpool create <volname> <dev1> <dev2> # <dev1> と <dev2> の合計容量の大きさを持つ仮想的なストレージができる
- ストレージプールを柔軟に拡張・ミラーリング・RAIDできる
$ zpool attach <volname> <既存のディスクのdev> <ミラーとして追加するディスクのdev>
- ストレージプールから柔軟にパティションが切り出せる
パティションは基本的に可変サイズです.固定サイズにした場合,仮想的なデバイスファイルが用意されます.
$ zfs create mypool/hello → デフォルトでは /mypool/hello というフォルダにマウントされる
- パティションごとに高度に設定を変えられる.
$ zfs set copies=3 mypool/hello → mypool/hello 以下のデータを,ディスク上に3つコピーして保存する
インストール
私は http://openindiana.org/download/ からデスクトップ版をインストールしました.
セットアップ
インストールが完了したら,以下の様な設定を行いました.
管理者の設定
まず,デスクトップからシステム管理に使うツールなどを開こうとするとエラーがでるので,これを修正します.
$ sudo usermod -P "Primary Administrator" <username>
アドレスの固定
次に,IPアドレスを固定にします.設定ファイルを書き換えても良いですが,私はNWAM(ネットワークマネージャ)に任せることにしました. デスクトップ右上にあるインジゲータから設定を変えられます.
- デフォルトルートとアドレスの設定はインターフェースのとこから変えられる
- ネームサーバーの設定はロケーションあたりから変更できる
- 最後に,プロファイルの設定が自動で切り替わらないようにする
リポジトリの追加
次に,リポジトリを追加します.
$ sudo pkg set-publisher -p http://pkg.openindiana.org/sfe $ sudo pkg set-publisher -p http://pkg.openindiana.org/sfe-encumbered
後者のほうは,特許的に問題があるソフトウェアが隔離されているので,適宜使うか使わないかを判断してください.
ストレージサーバーとしての設定
ストレージサーバーとしての設定をしていきます.
Multicast DNS (mDNS / Avahi / Bonjour) を有効化します. こうすることで,mDNS が有効な機器同士で <ホスト名>.local で 名前がひけるようになります. ( e.g. $ ssh myhost.local など)
(Mac はデフォルトで使えます.Linux は avahi をインストールし,nsswitch.conf に mdns を追加すれば可能になります(現在の Ubuntu はデフォルト).Windows も Bonjour for Windows をインストールすれば使えるようになります.)
$ sudo svcadm enable svc:/network/dns/multicast:default $ sudo svcadm enable svc:/system/avahi-bridge-dsd:default
Netatalk(Mac用のファイルサーバーデーモン)は以下のようにしてインストールできます.
$ sudo pkg install system/library/netatalk
こちらも,インストール後,適切に設定(/etc/netatalk 以下)したのち,有効化します.
$ svcadm enable svc:/network/netatalk:default
Samba も,適切に設定(/etc/samba/smb.conf)したのち,有効化します.
$ sudo svcadm enable samba $ sudo svcadm enable wins
(さらに)追加のリポジトリの設定
GNU の ls や mv, cp を使う場合,次のようにしてOpenCSWのパッケージマネージャを追加します.これは,デフォルトのパッケージマネージャーとは完全に独立しています.
$ sudo pkgadd -d http://get.opencsw.org/now
GNUのツール群はcoreutils という名前でまとまっているので,こちらをインストールします.
$ sudo pkgutil --install coreutils
OpenCSW のツール群は /opt/csw 以下に全てインストールされます.
仮想マシン(VirtualBox)の設定
VirtualBox のパッケージを以下のページからダウンロードします.
VirtualBox x.x.x for Solaris hosts をダウンロードします.以下では 4.2.4 を例にとって説明します.
$ tar xvf VirtualBox-4.2.4-81684-SunOS.tar.gz $ sudo pkgadd -d VirtualBox-4.2.4-SunOS-r81684.pkg -n -a autoresponse SUNWvbox
VirtualBox x.x.x Oracle VM VirtualBox Extension Pack もインストールする場合,以下のようにします.
$ sudo VBoxManage extpack install \ Oracle_VM_VirtualBox_Extension_Pack-*.vbox-extpack
なお,はじめにサーバー版をインストールした場合の,Xの依存関係については,上にあるリンクを参照してください. ほか,zfs の sync を切ってパフォーマンスを上げる方法などについても解説されています.