SUAのコミュニティに潜入!
パッケージインストールは準備が肝心
ええ、もちろんユーザ登録しました。これでワタシもSUAコミュニティの一員!ですからパッケージは利用できるハズ!ですがちと準備が要ります。
まず、SUAの環境は大文字と小文字の区別ができてないといけません。これはSUAのユーティリティをインストールするときに設定するんですが、オオーワタシ、それ設定したかどうかよく覚えていません。
ダイジョブ、これは「Utilities and SDK for UNIX-based Applications_X86.exe」をもう1回起動して、「Repair or reinstall」で次へ。さらに「Reinstall」で進むと、インストールの詳細設定画面が表示されるので、「Change the default behavior to case sensitive」をグリグリとチェックして、再インストールです。
さらに、パッケージのインストールは常に管理者権限のシェルで行います。
また、SUAで作業するためのファイルのコピーや移動は、シェルからやります。前回シェルで修行すると宣言したのはすでに頭からフッ飛んでいるのですが、それとは別に、Windowsのフォルダウィンドウでドラッグ&ドロップするのは危険です。なぜならパーミッション不明になり、たとえ管理者であってもアクセス禁止になってしまうことがあるからです。でもcpコマンドで作業フォルダに持ってくれば、大丈夫。
Apacheを求めてbashを得る
さてまずはサーバの王道Apacheを入れてみましょう。「Tools Warehouse」のページで「Apache2(httpd)」という見出しのソレをダウンロードすると「httpd-current.bin.tgz」というファイルが降りてきました。ではこのTGZファイルを...どう料理しろと?
ちょっと待ったァ。これは「Bootstrap installer」、つまりインストーラを先にインストールしておく必要があるのです。ただしこのインストーラはコミュニティのログインユーザだけがアクセスできるページに置いてあります。
x86系のVistaの場合、執筆時点(2008年6月13日)での最新版は「pkg-2.10.5-bootstrap60.exe」。EXEファイルですが、シェル(以後、インストール操作については常に管理者権限)から実行。「chmod +x」コマンドで実行可能にしてからインストールします。
そのあとコマンド「pkg_add TGZファイル名」を実行します。でも、もっとクールな方法が強く推奨されています。「pkg_update -L パッケージ名」と打ってやれば、レポジトリからオンラインで常に最新のパッケージが自動ダウンロード/インストールされるというではありませんか。
しかし早速「pkg_update -L httpd」と実行したら「/var/db/pkg/httpd-*-bin/+CONTENTS」というファイルがないというエラー。「リソースのデータベースにその名がない」というコトか。
パッケージ名かコマンドの打ち方が違うのか?じゃあちょうどお手本に書いてある「pkg_update -L bash」を、そのまんまエイッ。
今度はしーんとします。いや、しーんは画面だけで、音はカエルの内証話のようにゲロゲロ言っているぞ。
と、突然「ワタシはOpenSSLのREADMEです」という文書が表示されました。何でアンタがと思いましたが、依存パッケージとして呼ばれて飛び出てきたようです。READMEの内容が表示されて、「(END)」と言って沈黙します。エンターキーを押すとまたしーん(ゲロゲロ)のあと、「Done」。
とりあえず「bash」と打ってみました。
「bash-3.0.0$」というプロンプトが出ました。ナントカの三つ覚えのpwd、ls、whoamiを実行すると動作します。以後もずっとbashで処理しましたがエラーは起こっていません。
成功したといってよいでしょう。なんだかシェルばかり増えるんだけどッ。