2006-12-08
MacPortsでステキなUNIXツールをインストール
先日、研究室にあたらしいMac Book Pro 17"が届いた。各種操作がいちいちキビキビ動いて快適すぎる。
このMacにも、うち的最重要MacアプリケーションのひとつであるMacPortsをインストールした。
MacPortsはFreeBSDのportsというパッケージ管理システムと似たようなことを、Mac OS Xでも行うためのソフトウェアだ。有名なコマンドラインツールはほとんどこれを使えば揃えることができる*1。うちが普段使っている、perlもvimもzshもscreenも全部MacPortsでインストールしたもの。
Macでライブラリやツールがなくて困ったときはとりあえず、MacPortsに聞いておけばなんとかなることも多い(例: pygameってMac OS Xで動くんだっけ? -> それ、MacPortsでできるよ)。
で、このMacPortsのインストール、けっこうひさびさにやったので、ここに使い方も含めてメモを残しておこう。
インストールの準備
MacPortsはソフトウェアをコンパイルしてインストールするので、コンパイラやらがいろいろと必要。そこで、Xcode Toolsをインストールする。これは、Mac本体に付属のOSインストールディスクか、http://connect.apple.com/から手に入るけど、インストールディスクからがおすすめ。
最近のマシンだとOSのインストールディスクの
- Xcode Tools/XcodeTools
を実行すればOK。
MacPortsのインストール
準備が済んだら、MacPortsをインストールする。MacPortsのバイナリは、http://svn.macosforge.org/repository/macports/downloads/からダウンロードできる。dmg形式のアーカイブを使うのが最も手軽で、Mac OS X 10.4を使ってる人は、DarwinPorts-1.3.1/DarwinPorts-1.3.1-10.4.dmgをダウンロードしよう。
ダウンロードができたら、マウントしたディスクの中のインストーラを実行して、インストールを完了する。
環境変数の追加
MacPortsは、MacPorts自身を含めたファイルをすべて/opt/local以下にインストールする。なので、各種パスを/opt/localに通しておく必要がある。そこで、自分のシェルの環境変数を以下のように設定しておく。
export PATH=/opt/local/bin:/opt/local/sbin/:$PATH export MANPATH=/opt/local/man:$MANPATH
Mac OS Xデフォルトのbashの場合は、自分のホームディレクトリの.bashrcに上の2行を書き込んでおく。
MacPortsのアップデート
ここまでくれば、コマンドラインからportコマンドが使えるようになっているはず。MacPorts自身を最新の状態にアップデートした後、インストールできるソフトウェア一覧を更新する。それぞれ、以下のコマンドを実行すれば良い。
$ sudo port -d selfupdate $ sudo port -d sync
MacPortsの使い方
アップデートの時少し触れたようにMacPortsを操作するにはportコマンドを利用する。このコマンドはたいがい/opt/local以下を変更するので、sudoと組み合わせて利用することが多い。
以下、うちがよく使う操作を並べてみた。もっとステキな機能があるのかもしれないので、気になる人はman portをチェックしてみて。あと、portに-dオプションをつけて実行すると、コンパイルの詳細な出力が見れるので、コンパイル風景を眺めるのが好きな人はやると良さそう。
ともあれ、以下のコマンドで自分の好きなツールをいろいろいれれるのでお試しアレ。
ソフトウェア一覧の更新
初期設定時にも行ったsyncアクション。これをしないとソフトウェア一覧が古いままなので定期的にやるべし。
$ sudo port sync
ソフトウェアの検索
自分の利用したいソフトウェアがMacPortsで使えるのかを調べるのには、searchアクションを使う。zshで検索すると、
$ port search zsh zsh shells/zsh 4.2.6 Zsh is a UNIX command interpreter (shell) zsh-devel shells/zsh-devel 4.3.2 Zsh is a UNIX command interpreter (shell)
てな感じに、普通のzshとzsh-develという開発版があるということがわかる。
ソフトウェアのインストール
文字通り、installアクションを使う。
$ sudo port install zsh-devel
実行すると、依存関係の解決、ソースコードのダウンロード、コンパイル、インストールが自動で行われる。
variantsの表示
MacPortsにはvariantsという仕組みがあって、ソフトウェアをインストールする際に追加機能を選択することができるようになっている。どんなvariantsがあるのかは次のように調べられる。
$ port variants zsh-devel zsh-devel has the variants: darwin_8 dp_completion utf8
zsh-develには、darwin_8、dp_completion、utf8という3つのvariantsがあることがわかる。これらを指定することで、機能を有効にした状態でソフトウェアがビルドされる。指定するには以下のように、
$ sudo port install zsh-devel +dp_completion +utf8
のように+を付けて指定する。ちなみに、darwin_8とかのMac OS X専用オプションは自動で付加されるので指定しなくても良い。
あと、varinantsを変えて同じソフトウェアをインストールすると、別物あつかいになって、もとからあるやつと衝突するので注意。先にアンインストールするか、deactivateしておく。
ソフトウェアのアップグレード
$ sudo port upgrade zsh-devel
ソフトウェアのアンインストール
$ sudo port uninstall zsh-devel
ソフトウェアのdeactivateとactivate
MacPortsには、deactivateといってソフトウェアを完全に削除せずに一時的に無効にする機能がある。異なるvariantsを指定したあるソフトの複数のバイナリを切り替えてためしたいときなどに便利。
$ sudo port deactivate zsh-devel
逆はactivate
$ sudo port activate zsh-devel
インストール済みソフトウェアの表示
$ port installed
インストール済みソフトウェアをすべてアップグレードしたいときはupgradeと組み合わせて、
$ sudo port upgrade installed
とすれば良い
アップグレード可能なソフトウェアの表示
$ port outdated
*1:インストールできるソフトウェアはここから辿れば見れる: http://trac.macosforge.org/projects/macports/browser/trunk/dports
- http://d.hatena.ne.jp/naxa/20061209
- http://d.hatena.ne.jp/window16/20061210
- http://d.hatena.ne.jp/tknzk/20061210
- MacPortsでNagios
- http://d.hatena.ne.jp/paella/20070217
- 漢のzsh
- http://d.hatena.ne.jp/nnworks2007/20070316
- http://d.hatena.ne.jp/kensuke1108/20070315
- http://d.hatena.ne.jp/hiloicoli/20070318
- Hyper Estraierのフィルタ用ライブラリのインストール
- http://d.hatena.ne.jp/kwg/20070407
- http://d.hatena.ne.jp/makog/20070422
- すてィーろのヘビ日記 - 江島さんがマックを買ってインストールした...
- MacOSXをメールサーバにする
- http://d.hatena.ne.jp/fjkktkys/20070508
- http://d.hatena.ne.jp/hakobe932/20070513
- http://d.hatena.ne.jp/usukey/20070519
- のびのびなRuby日記 - PRaggerで遊ぶ その1
- http://d.hatena.ne.jp/kasahi/20070529
- http://d.hatena.ne.jp/kuenishi/20070602
- http://d.hatena.ne.jp/t-wada/20070530
- はてなグループ - 微かに競馬Wiki風味 - rails
- http://d.hatena.ne.jp/uessay/20070714
- http://d.hatena.ne.jp/Tatibana/20070717
- http://d.hatena.ne.jp/kskeill/20070726
- http://d.hatena.ne.jp/ueyama/20070804
- はやわかりPCーUNIX
- http://d.hatena.ne.jp/livingproof/20070814
- http://d.hatena.ne.jp/mkuze/20070905
- 実用UNIXシステム5(リファレンス編)
- http://d.hatena.ne.jp/kokie/20070909
- MacOSX 10.4(Tiger)にMacPots経由でSQLite3をインストール --- [Mac...
- [mac][php] MacPortsは便利です
- http://d.hatena.ne.jp/boto/20070921
- macでwireshark
- 集合場所:俺 - MacPortsとzshとかの設定メモ
- [Mac]MacPortsとzshとかの設定メモ
- roma-clockの日記 - レオパルドに奪われる時間
- *Lionhurt - はじめからのTeX環境 on Leopard
- あいぷらぷら; - Mac初心者のボクがMacBook上でRailsを動かせるよ...
- [Django][Python][jQuery][CSS][senna][その他]巡回
- バンダーのポンコツゴキブリブリブリゴミ人生日記 - Macでtag jump...
- ぐげんかりょく - macでprogrammingしようとしていきなりつまづいた...
- ぐげんかりょく
- ぐげんかりょく - ruby install(macportsをinstall)
- ぐげんかりょく - *1197809368*ruby install(macportsをinstall)
- 捨身成仁日記 炎と激情の豆知識ブログ! - Mac にpTeX をインスト...
- 脱・下流エンジニア (仮) - MacPots 備忘録
- バンダーのポンコツゴキブリブリブリゴミ人生日記 - SCONS
- whihwの日記 - インストール
- @puffy - スコアブック -
- @puffy - スコアブック - - MacにMySQLをインストール
- まさにっき(使えないプログラマーの記録) - MacPorts を入れたよ!
- tackeの日記 - Terminalとかでいろいろやってみよう
- 牌語備忘録 - MacOSX 10.3 での Django installメモ
- snow-bellの日記 - Leopardになってるよ★
- とーとーとー - Mac OS X Leopardで開発環境作り
- RONO23 - mac
- RONO23
- RONO23 - mac
- crimaruの日記 - leopardにMacPortsをインスコ
- メモ代わり - gaucheインストール方法とはいってもリンク先紹介に終...
- TOAST 8 TITANIUM
- いよいよMacPortsをインストール
- 山辺雑記 - メモ
- yamkazuの日記 - scalaを試す
- 気負わない日記 - leopardでMacPorsする際に注意する事
- suzukyuの勉強日記 - SynergyでWindowsのマウスとキーボードをMacで...
- suzukyuの勉強日記 - rootユーザを有効にする
- suzukyuの勉強日記 - rootユーザを有効にする
- Search, Memo and Try - インストール済みソフトウェアをすべてアッ...
- snow-bellの日記 - vim
- なにがなんだかわからないうちにここまでやってきた - Mac OSでRuby...
- 備忘録代わりの日記 - nkfインストール
- Get crazy - MacBookにMacPortsをインストール
- 29 http://b.hatena.ne.jp/entrylist?sort=hot
- 14 http://d.hatena.ne.jp/
- 14 http://reader.livedoor.com/reader/
- 8 http://labs.ceek.jp/hbnews/
- 8 http://www.starfleet.ac/~inu/link/koinu.shtml
- 5 http://www.google.com/reader/view/
- 4 http://www.google.co.jp/ig?hl=ja
- 3 http://61.194.39.44/~inu/link/koinu.shtml
- 3 http://b.hatena.ne.jp/entrylist
- 3 http://b.hatena.ne.jp/entrylist?url=http://&sort=hot