とうとう来ましたよ! SPARC 版は OpenSolaris や OpenIndiana 含めて Solaris10 u9 で (まともなリリースが) 止まってたので、ほんと待ちわびてました。
ということで、さっそく家のサーバを入れなおしました。 image-update してもいいけど、せっかく rpool とは別に zpool を用意してあるので、zpool export して新規にインストールです。
インストール
...うーん、すごいすんなり行きました。すんなりすぎて書くことがありません。
ichii386@oscar% uname -a SunOS oscar 5.11 snv_151a i86pc i386 i86pc Solaris ichii386@oscar% cat /etc/release Oracle Solaris 11 Express snv_151a X86 Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. Assembled 04 November 2010
気づいたことをメモ。
- 使ったのはテキストインストーラで、OpenSolaris のときみたく GUI が動く環境は不要
- gdm はそもそもインストールされない。 svcs -a | grep graphical も空っぽ
- rpool が rpool1 になった
- インストール時に作ったユーザは sudoers に入るが Primary Administrator ではない
- time-slider 依存の zfs-auto-snapshot が
動かない動きました
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.AccessDenied: Connection ":1.4" is not allowed to own the service "org.opensolaris.TimeSlider" due to security policies in the configuration file
VirtualBox もバッチリ
host os との組み合わせで不安な仮想マシン周りですが、 VirtualBox はさっき拾ってきた 3.2.10 で問題なく動きました。
ただし、 gdm などの GUI はインストールされてないので、 vm の起動は VBoxManage などを使わないといけません。でも設定項目とかどういう選択肢があるのか調べるのめんどいですよね。そういうのはやっぱり GUI で誰かが頑張ってるのを使いたいところ。
そこで、ぜんぜん使ってなかった virtualbox webservice を使ってみることにしました。
phpVirtualBox
virtualbox webservice 自体は soap のサービスでしか無いので、これのクライアントが必要です。なんと php で出来てるクライアント web アプリがあるそうで、 virtualbox.org のトップに動線貼ってあって感動した。
以下に使えるようにするまでの手順を書きます。
- virtualbox を誰で起動してたのか調べる
- 以下が正しい調べ方な気はしないですが、とりあえず自分のアカウントで vm 作ってたんだろうな、という気はする
ichii386@oscar% VBoxManage list --long systemproperties|grep folder Default machine folder: /export/home/vbox/Machines Default hard disk folder: /export/home/vbox/HardDisks ichii386@oscar% ls -la /export/home/vbox/Machines/ total 6 drwxr-xr-x 3 ichii386 staff 3 Jul 15 11:34 . drwxr-xr-x 4 ichii386 staff 4 Jul 15 11:34 .. drwxr-xr-x 3 ichii386 staff 5 Nov 17 23:18 win7
- webservice の起動ユーザをいじる
- "# setprop config/user = astring: root" のところを自分のアカウント名に変えた
ichii386@oscar% pfexec svccfg -s svc:/application/virtualbox/webservice:default editprop
- webservice を有効にする
ichii386@oscar% pfexec svcadm refresh virtualbox/webservice ichii386@oscar% pfexec svcadm enable virtualbox/webservice
- 確認
ichii386@oscar% netstat -an -f inet -P tcp | grep 18083 127.0.0.1.18083 *.* 0 0 65928 0 LISTEN ichii386@oscar% ps -ef|grep vboxweb ichii386 4642 4567 0 01:11:05 pts/1 0:00 grep vboxweb ichii386 4478 9 0 00:16:52 ? 0:02 /opt/VirtualBox/vboxwebsrv --host localhost --port ichii386@oscar% telnet localhost 18083 Trying ::1...telnet: connect to address ::1: Connection refused Trying 127.0.0.1... Connected to oscar. Escape character is '^]'. GET / HTTP/1.0 HTTP/1.1 500 Internal Server Error Server: gSOAP/2.7 Content-Type: text/xml; charset=utf-8 Content-Length: 495 Connection: close <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http:// schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd=" http://www.w3.org/2001/XMLSchema" xmlns:vbox="http://www.virtualbox.org/"><SOAP-ENV:Body><SOAP-ENV:Fa ult><faultcode>SOAP-ENV:Client</faultcode><faultstring>HTTP GET method not implemented</faultstring>< /SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>Connection to oscar closed by foreign host.
これで webservice は動いてるようです。
ichii386@oscar% pfexec pkg install web/php-52 web/server/apache-22/module/apache-php5 web/server/apache-22
- /etc/apache2/2.2/conf.d と php.ini を適当にいじる
- とりあえず DocumentRoot を /home/apache/htdocs とかにしておきます
- phpVirtualBox をダウンロード
ichii386@oscar% cd /home/apache/src ichii386@oscar% wget http://phpvirtualbox.googlecode.com/files/phpvirtualbox-0.5.zip ichii386@oscar% unzip phpvirtualbox-0.5.zip ichii386@oscar% vim phpvirtualbox-0.5/.htaccess (なんか適当に) ichii386@oscar% cd ../htdocs ichii386@oscar% pfexec ln -s ../src/phpvirtualbox-0.5 vbox
ドキドキしながら http://oscar.local/vbox/ を叩く。
- が、エラー。どうも認証でこけてるっぽい??
- ./phpvirtualbox-0.5/config.php にパスワード設定するところがある
- 超絶気持ち悪いけど、自分だったり root だったりの生パスワード書いてもうまくいかない
- VRDPAuth がどうこうしてるみたいなので、めんどいから null にしてしまおう
- このへん Solaris 版の情報って少ないですよね
ichii386@oscar% VBoxManage setproperty websrvauthlibrary null
もいちどやってみたら、動いたようです。最初の画面が表示されるまでちょっと時間かかるかも。
見たとおりですが、VirtualBox 上では Windows7 が動いています。ホストは zfs で i/o 性能がいいので、 vm の起動もサクサクです。手元の iMac で VMWare Fusion を使っていたときは、起動するたびに i/o wait で死んでたから超快適。今はいつも動かしっぱなしになっています。
ちなみに Windows7 への接続は、 VirtualBox のではなく windows 自体のリモートデスクトップサーバに接続するようにしてます。さらに windows 版の iTunes いれて、ついでに入ってくる Bonjour サービスのおかげで DHCP 環境でも oscar-win7.local でアクセスできて超快適です。