Xに移動するにあたって、考えどころはパッケージ管理。VMを介さずともPOSIXネイティブコードが動く環境を手に入れた代償に、Ubuntuの「aptだけでほぼ完結」という、メンテナたちの不断の努力の成果を手放さなければならないのだ。OSでのアプリケーション配布はいろいろ形式があるようだ:*.pkgいわゆるインストーラ。アンインストールの機能はない。/Library/Receipts配下にインストールログっぽい証跡が残るので、*.domをlsdomコマンドに通すと削除すべきファイルは分かるようになっている。パッケージによっては何も残してくれない。*.mpkg*.pkgを束ねたものっぽい。メタパッケージみたいなものか。*.appアプリケーションバンドル。実体はディレクトリで、その下にバイナリとかリソースファイルが転がってる。/Applicationsにそのままコピーするとインストール完了。アンインストールも基本は削除だけっぽいが、ものによっては/Libraryとか~/Libraryの配下にファイルを残しているので、それも消さないとだめっぽい。*.dmgディスクイメージ。実行するとマウントされる。中をみるとたいてい*.m?pkgか*.appが入っている。なんとどれもアンインストール機構を備えていない。この辺は強く改善を要望したいところ。別にインストール厨じゃなくても、パッケージのバージョンアップとかは普通に必要になるし、この辺は確実にできる仕組みが備わってるのが「現代的OS」じゃなかろうか。ことPOSIXなアプリケーションであれば、アンインストール機構まできちんと備えたパッケージングシステムがサードパーティでメンテナンスされている:FinkMacPortsこういうのは、メンテナとパッケージの数が多い方が強いので、さしあたりMacPortsを選択。多勢が決したら乗り換えるかもしれないけど。MacPortsはLeopardなら先にXcodeを入れて、X11をXquartsの配布でアップデートしろと言ってるので、その通りやった。この辺の手順は検索すればいつでも出てくるので書かない。困ったのが、Pythonのライブラリ。MacPortsだと/opt/local配下にインストールされるので、OSに標準でついてくるPythonから読ませるためにはPYTHONPATHを変更しなきゃいけないし、2.5向けのパッケージで致命的に抜けているのがあったり、結局tracは開発版を使うことになるので、どこかでPython-eggとかで手で入れなきゃいけないのが出てくるし、そうするとportで完全にアンインストールできなくなるし。中途半端に一元化するのはあとあと面倒ということで、Pythonは当面OS付属のを使うことにする。MacPortsのメンテナンスが強化されるか、自分がメンテナンスに乗り出すかすれば、Portsを使うことにすると思うんだけど。標準で入っているPythonは2.5.1で、/System/Library/Frameworks/Python.framework/Versions/2.5へのシンボリックリンクになっている。setuptoolsとか、Subversionバインディングとかは、件のディレクトリに入ってる状態。easy_installすればたいていのものは揃いそう。インストール先は件のディレクトリでも/usr/lib/python2.5/site-packagesでもなく、/Library/Python/2.5/site-packagesになる。ここはPython-eggs専用らしい。コンソールスクリプトは/usr/local/binにインストールされる。システムにビルトインされているのと、自分が入れたのが明確に分離されるというのも、標準のPythonで何とかなると思った理由だったり。bdist_mpkgでせっかくパッケージが作れるのに、アンインストール機能がパッケージャについてないのは残念だなぁ。