2004年7月に入って再び盛り上がりを見せている Gentoo for Mac OS X を試してみたい、という人向けに、簡単な導入編を用意してみます。いまのところ Gentoo Linux を使ったことがある人を前提にしていますが、のちのち Gentoo for Mac OS X がはじめての Gentoo との出会いという人でも試してみようかと思うようなドキュメントにしたいです。(註: Gentoo/MacOS という名前から Gentoo for Mac OS X という名前に変わりました)
Gentoo for Mac OS Xは、簡単に言うとMac OS X上で動くPortageのことです。PortageというのはGentoo Linuxで主に使われているパッケージシステムで、ソースからカスタマイズしたパッケージの自動コンパイル・インストールが非常に簡単だという特徴をもったもので、Mac OS Xにはパッケージの依存関係の解決まで含めたパッケージ管理システムが存在しないため、パッケージ管理に高機能なPortageを用いて楽をしよう、というのがPortageをMac OS Xに移植する狙いです。
現在のところMac OS Xで動く他のパッケージ管理システム(Fink,pkgsrcなど)と比べるとテスト済みパッケージ数で及びません(Fink:4000,pkgsrc:5000)が、Portageは全パッケージで8000近くあり、Gentoo LinuxとGentoo for Mac OS Xで使うパッケージのツリーは共通なので、今後Gentoo Linuxで作られたパッケージがそのままMac OS Xでも使えるようになる、というのは大きな魅力です。Gentoo Linuxの開発エネルギーそのままGentoo for Mac OS Xに活かすことができるのです。また、Portageのパッケージはebuildというbashスクリプトで書かれているため、パッケージ作成者の負担が非常に軽いということも重要です。
現時点では Mac OS X 10.3(Panther) と 10.4 (Tiger preview) で動くことが保証されています。10.1(Juagar) で動かしたい人はGentoo for Mac OS Xプロジェクトリーダーのpvdabeelにメールを送って問い合わせてください。
今後Darwinのサポートが予定されていて、Darwin用のパッケージもどんどん作成されていますが、とりあえずのところはMac OS X以降のみサポートとなります。
Gentoo for Mac OS X のプロジェクトリーダーをしている pvdabeel のサイト、Metadistributionから入手してください。現在のステータスは開発者実験版ですので、うまく動作しないことや、あなたのMac OS Xを破壊してしまう可能性もあります。また、不具合情報がIRCでしか流れない可能性もあるため、積極的に情報収集してフィードバックしようという人でないと使えない状況であろう、と思われます。自己責任でお使いください。
上記インストーラ(dmg)をダウンロードしてマウントするとREADMEとインストーラが出現します。READMEには連絡先と注意事項が書いてあり、更新されることもあるので必ずインストール前に目を通しておいてください。1ページもありません。(註:20040726版のインストーラに関しては、現在では内容が古くなってしまっているので、READMEに書かれている通りにはしないでください。)
インストーラを実行するとMac OS Xインストーラが立ち上がり、インストール先の選択画面が出ます。現在のところ/パーティション以外にインストールすることはできません。複数のパーティションを作成してマウントしている場合でも、/以外を選択することはできません。Portageにはすでに存在するファイルは上書きしないという機能があるので、特別なことをしないかぎりMac OS Xの環境を破壊することはありませんが、将来的には/opt/gentooにインストールするように変更するそうです。
インストール先を選ぶとバイナリのインストールと必要なユーザ・グループの作成が行われます。インストール自体はものの数分で終わるでしょう。
ここからが本番です。まずPortageツリーを最新に更新します。Gentoo LinuxでPortageを触ったことのある人には解説の必要はないでしょう。インストーラに含まれるツリーは最新のものではないので、最新の状態にします。(註: 次のインストーラにはPortageツリーは含まれなくなるので、emerge syncは必須になります)
% emerge sync
次にMac OS Xの設定を使うようPortageに教えるリンクを張ります。
# cd /etc # ln -s ../../usr/portage/profiles/default-macos/ppc/10.3 make.profile (Gentoo Linuxと違い/etcが/private/etcへのリンクになっているので、 ../../と2つ上がる必要があります)
そしてシステムの動作に必要なパッケージをインストールします。Gentoo Linuxではインストールするものは全てパッケージであり、全てPortageからインストールする形を取っているのですが、Mac OS Xでは最初からUnixツールが用意されているので、全てをPortageからインストールする必要がありません。しかし、Portageを動作させるために必要なパッケージをインストールする必要があるので、それを実行します。これはemerge systemというコマンドで行ないます。(註: bootstrap-macos.sh は廃止されました)
% emerge system
Gentoo Linuxではemergeを使うにはroot権限が必要で、明示的にsudoコマンドを使用するか、suでrootにならなければなりませんが、Gentoo for Mac OS XではFinkと同じく必要なときにはsudoが自動で起動してパスワードを要求されるので、わざわざ自分でsudoを使ったりする必要はありません。(註: 上記が当てはまるのはbashを使っている場合です。zshもしくはcshを使っている場合はroot権限を得るためにsudoが必要です。また、今後これはGentoo Linuxと同じくsudo必要に変更される予定です)
また、現在のところインストーラに入っているportageコマンドのバージョンが古いため、かなりの数のバグが残っています。この状態でバグ報告しても、すでに解決されたバグを相手にしている可能性が高いので、最新版に更新してください。(註: 次のインストーラからはこのステップは自動化されます)
# USE="build" FEATURES="-collision-protect" emerge portage
さて、これでPortageを使う準備は万端です。パッケージをemergeするには基本的には
# emerge インストールしたいパッケージ名
とします。Mac OS XでemergeできないけどとりあえずパッケージがPortageツリーに存在する、といった場合は、
# ACCEPT_KEYWORDS="x86 ~x86" emerge インストールしたいパッケージ名
とするとインストールできるかもしれません。インストールできた場合、bugs.gentoo.orgから報告するとMac OS X開発者がMac OS Xでもインストールできるようにキーワードを追加してくれます。
Gentoo for Mac OS Xは動き出したばかりのプロジェクトです。開発に関りたい人も、ただ使いたいだけの人も、もしくは動向に注目しているだけの人も、gentoo-osxメーリングリストには参加しておくとよいでしょう。不具合報告やミーティングのログなどが流れるので、現在どういう状況なのかすぐ分かります。
とはいえ、いまのところ活発なやりとりがあるのはIRCです。irc.freenode.netの#gentoo-osxチャンネルで日夜バグ報告や開発に関する議論、はたまたインストール指南まで幅広く行われています。
Gentoo for Mac OS Xを使うとまだまだ不具合が簡単に見つかります。また、できたばかりなにでパッケージのテスト要員も不足しており、常に開発者募集中です。開発者になりたい人は、Gentooのプロジェクトに関する貢献がこれまでゼロでも開発者募集しているので、やりたいことと自分のバックグラウンド(プログラミングの経験やこれまで関ってきたプロジェクトについて)を書いてpvdabeel@gentoo.orgまで(英語で)メールしてください。
日本語で書かれた情報はほとんどありません。英語のリソースを参照してください。
