iMacG5が到着していくらもたたないうちにnaucon.orgのサーバマシンをやらせていた2代目campanellra(ThinkPadX20)のHDDがおかしくなってしまいました。とりあえずnaucon.orgのVM自体のバックアップまではなんとかうまくいったのですが、本体の不調も重なって結果的にcampanellra自体が再びサーバの役を担うことが難しい状況になってしまいました。
このcampanellraを買ったときのログを読んだら、やっぱり購入直後に初代campanellra(digital HiNote Ultra II)がおかしくなっていたみたいで、古い機械がおかしくなりそうな予感があるから新しい機械を買うのか、新しい機械を買ったから古い機械が拗ねておかしくなるのか、いずれにしても不思議な因縁を感じずにはいられません(しかもバックアップミスでメイルを吹っ飛ばしてしまうところまで同じだったり(泣)...)。
とか、まぁそんな感傷に耽っている場合ではなく、naucon.orgを運用するにはもはやiMacG5上、すなわちMac OS Xでサーバを構築する以外に手はなく、久しぶりにMacを買ったのにやることがいつものお決まりのサーバ設定という妙な状況になってしまいました。
でもMacOS XのUNIX的なところはFreeBSDを起源としてるんだからまぁなんとかなるんでないの、と「MacOS Xでよかった〜」ぐらいの軽い気持ちで作業を開始したのですが、これがとんでもない!(笑)
予想以上の変態っぷりにたっぷり悩まされることになるのでした。(続く)
そんなわけで、MacOS X上にnaucon.orgサーバを構築することにあいなりました。時間がないのでこれを調達。
ひとまず必要な機能としては、DNS, SSH, Mail, POP, Webの5つ。実はPOP以外は標準で提供されているのですが、それぞれにいろいろ問題がありました。
まずDNSですが、標準ではbind9が提供されています。もともとview機能を使っておうちルータ内と外と別々に見せるような設定をしていたので、bind9が入っているのは助かりましたが、いざ設定して使ってみるとろくすっぽ名前が引けません。いったい何がなにやらだったのですが、どうもIPv6がenableされてビルドされている絡みでいろいろ不都合が発生しているようです。しょうがないので、isc.orgからソースを拾ってきてIPv6をdisableしてビルド。結局システム標準のものは使いませんでした。
DNSでもう1つあったのが起動タイミングの問題。MacOS Xではデーモンの起動はlaunchdがやるようなのですが、namedを起動するタイミングがAirMacのインタフェースがReadyになる前になってしまいます。namedは起動時に有効なインタフェースに対して53番ポートをbind()をするので、結果としてlo0(127.0.0.1)だけしかbind()されずに、AirMac(en1)経由で到着する他のホストからのクエリに応えることができなくなってしまうのです。なんとかしてインタフェース起動を待ち合わせてからにnamedを起動するような設定にしたかったのですが、結局あきらめました(起動後にkill -HUPして逃げる... ダメすぎ)。
MailはPostfixが入ってるので、設定が引き継げて助かりました。SMTP-AUTHの設定に関しては「Postfix for Mac OS X users」を参考にしました。cyrus-sasl2のライブラリは標準で入っているけどコマンドは別途ビルドしなきゃいけないっつーのは正直どうかと思います。はい。
あとSSH, Web に関しては標準で提供されているもの(でもなんでapache1.3?)を、POPに関してはqpopperをビルド。そこまではいいんですが、launchdの設定ファイルがいまだにちゃんと理解できていないです。ブートプロセス(いったいどこでネットワークはupされるのかとか)もよくわかりません。とりあえず見よう見まねで書くと動いているみたいなので放置することに。歳を取ったなぁ(ぇー。
実はあまり遊べていなかったりするのですが、思うところなど。
良かったところ。
DashboardとExpose。Dashboardのウィジェットはまだシステム標準のみですが、カレンダーとかWeatherで表示される週間天気など、ちょっと見るのにキー操作ですぐ参照できるのはとても便利です。ステッキーズみたいなアプリもずっと実用的に使えます。Exposeは、特に全ウィンドウをタイル上に並べてくれるのが素晴らしいです。Windowsのタスクバーよりもずっと直感的ですぐれたインタフェースだと思います。この2つの仕組みはぜひWIndowsにも実装して欲しいです。
ダメなところ。
システム標準のパッケージシステムがないところ。UNIX的使い方ではユーザ主導でいろんなものが移植されたりしてるけど、こんなものシステム標準のものがあったら済む話なのではないかと... 。
あとアプリケーションのプルダウンメニューが未だに画面の一番上なところ。画面が十分に狭くシングルタスク時代だったらわかるんだけど、アプリのウィンドウをいっぱい開いて高解像度モニタを複数並べる時代なのに、なぜこれを頑に守るのか意味不明。Windowsと操作感が違うのでFireFoxとか使ってると戸惑うことがしばしばです。
番外。
UNIXとして見てどうかというのは、正直僕には変態すぎてどうでもいいという感じです。普段使ってるのはNetBSDとLinuxですが、これに加えてMacOS XのUNIX的なことを覚えようという気にはとてもなれないです。(やっぱり歳取ったのかも...)
ハードウェアそのものについて。
とりあえずお得感だけでiMacG5を選んだのですが、いまのところ特に問題となることはなさげです。G5ということで心配していた廃熱とファンの音も連続稼働させても気にならないレベルです。
自分でも意外だったのはApple RemoteとFront Rowの機能が結構便利なこと。iMacG5はもちろん机の上に置いているので、正直リモコンとか10フィートUIなんて滅多に使うことないよなと思っていたのですが、リモコン1つでiTunesで取り込んだ音楽が再生できるので、Macを使わないときもジュークボックス代わりに使うのにとても役立ちます。リモコンの使い勝手がiPodと似せてあるので、そこのところのアドバンテージが大きいですね。ただWheelはついてないのでそこでちょっと戸惑いますけど... コスト的に厳しいのかもしれないけどWheelまでつけてくれればリモコンとしては完璧ですね。iMacG5のスピーカはたいしたことはないですが、それでもノートPCなんかについてるやつよりはまともなので、特に外部スピーカを使わずともなかなかいけてます。DVD見たりするのもいい感じです。
あとワイヤレスキーボード&ワイヤレスマウスですが、ワイヤレスマウスが1ボタンなのを除けばもうワイヤードには戻れない、と思うぐらい気に入っております。狭い机なんでThinkPad X40を使うときや物書きをするときにほいほいしまえるのが便利ですね。気になるのは電池持ちですが、しまうときには一応スイッチを切るようにしているので、これで2,3ヶ月保ってくれれば十分かも。