Tuesday, March 7, 2006

Mac 環境構築 その1 - 準備編 [mac]

これまで iMac では iTunes とブラウザぐらいしか利用していなかったが,自宅のメインマシンを iMac に移行するべく少しずつ環境を構築して行こうと思う.NetBSD からの乗り換えなのである程度 UN*X っぽくしたいが,あまりバリバリの 「UN*X 機」にまでする気は (今のところ) ない.

実施したことは随時この場で紹介していこうと思うが,今後の [mac] ネタは少し「作業ログ」っぽくなってしまうことが予想されるので悪しからず.

とりあえず今回は「その1」として準備編.ちなみに環境構築の準備という意味では既に uid + gid を変更しているので,以下のエントリが「その0」という位置付けだろうか.
Peace Pipe: Mac で uid + gid を変更する [mac]


シェルを zsh に変更

ひとまずシェルは zsh 愛用しているので,デフォルトシェルを変更する.

ターミナルから
$ chsh -s /bin/zsh
すれば OK.この方法で問題無いと思うが,公式ホームページには以下のように説明されいる.
Mac OS X:「ターミナル」シェルの変更方法


sudo をパスワード無しで実行できるように

セキュリティ的に賛否はあるかもしれないが,script に root 権限が必要なコマンドを書いてまわしたいことがたまにあるので,sudo をパスワード無しで実行できるようにしておく.

ターミナルから
$ sudo visudo
して
%admin ALL=(ALL) NOPASSWD: ALL
の行を有効にすれば OK.それにしても %wheel じゃなくて %admin なのね…


開発環境のインストール

いろいろなソフトウェアをコンパイルしたくなると思うので,Xcode を入れておく.

付属CD にも入っているが,Apple Developer Connection に登録 (無料) すれば最新版が無料でダウンロードできる (他にもいろいろダウンロードできるみたい).現時点の最新版は 2.2.1 のようだ.
Apple Developer Connection

アップル - Mac OS X - Xcode を見てみると,Xcode はモデリングもできるかなり洗練された統合開発環境のようだ.こんなものが無料で手に入るとはなんとも素晴らしい.ただのコンパイラとしてだけ使う (gcc だけ使う) のはもったいないな… いずれゆっくりじっくり見てみたい.


パッケージシステムをインストール

Fink を入れておく.Fink というのは Mac OS X で UN*X のソフトウェアが使えるようにしたもので,まあどこの Linux ディストリにでもある パッケージャ の OS X 版.Debian の インターフェース (dselect, dpkg, apt-get) を踏襲しているのが特徴的だ ("fink" という独自コマンドもあるけど).
Fink - Home

ひとまずソフトの unstable 版もインストールできるように /sw/etc/fink.conf の Trees 行に
unstable/main unstable/crypto
を追加し,
$ fink selfupdate ; fink index ; fink scanpackages

$ fink scanpackages ; fink index
$ sudo apt-get update
しておく.


さらに他のパッケージシステムである EasyPackage for Mac OS X も入れてみる.

Fink だけでも十分だが,EasyPackage は日本語環境を前提としているとのこと.なので今後は「こだわりのあるソフトウェアは自分で configure オプションを設定してコンパイル」→「その他のソフトウェアはまず EasyPackage で探す」→ 「無ければ Fink で探す」→ 「それでも無ければやっぱり自分でコンパイル」という手順になりそうだ.

余談だが OS X で使えるパッケージシステムには OpenDarwin.org というのもあるようだ.これについてはまだ手を出していない.

EasyPackage は GUI 版と CUI 版があるようだが,CUI版をインストールする.
$ sudo perl install.pl
$ sudo epkg sync

試しにいくつかソフトをインストールしてみる.
$ sudo epkg install lha libiconv jless lv nkf ctags gnuls wget ncftp

…ってインストールしてから思ったけど,これで取得してくるバイナリって Intel 対応版なわけないよな...まあいいや.

ひとまず準備編としてはこんなところかな.

【2006/03/13 追記】
EasyPackage について,やはりバイナリが Intel 対応版ではないこと,それから最近ではあまり活発に開発が行われていない印象を受けたことから,その後削除してしまった.試しにインストールしたソフトは上記の通りだが,依存関係により自動的に入ったものもあるので, $ epkg ls して確認をする.
$ epkg ls
    archivers/lha: 1.14i_1
    converters/libiconv: 1.9.1-ja_02
    devel/gettext: 0.12.1_2
    japanese/jless: 358_2
    japanese/lv: 4.51
    japanese/nkf: 205_1
    misc/ctags: 5.4
    misc/gnuls: 4.0_1
    net/ncftp: 2.4.3_1
    net/wget: 1.9.1
$ sudo epkg del lha libiconv gettext jless lv nkf ctags gnuls ncftp wget

その後,EasyPackage 自体をアンインストール.
$ sudo rm -f /usr/local/bin/epkg
$ sudo rm -rf /usr/epkg
$ sudo rm -rf /var/db/epkg

ちなみに Fink については,オフィシャルサイト

Fink の Intel アーキテクチュアに向けた準備ジャージョンが用意されました。バイナリパッケージはまだありませんし、まだ細部には荒さが残っていますが、辛抱強いあなたなら使えるでしょう!

インストールには、 Sourceforge の Fink 用ファイルリリースページから fink-0.24.12.tar.gz ファイルを取得し、解凍後、 ./bootstrap.sh というコマンドを実行します。 bootstrap プロセスの最後に、 fink selfupdate を実行し、現在インストール可能なパッケージ一覧が取得できます。

最後に確認した時点では、およそ1750のパッケージが "stable" ツリーにありましたが、およそ 150 はビルドできませんでした。真の意味で stable となった時には、ここで再度アナウンスされます。

との情報があったので対応バージョンを取得し,記述の通り ./bootstrap.sh してインストール.


0 comments: