MacPorts の使い方
MacPorts は port というコマンドを使用して、オープンソースソフトウェアのパッケージ管理(インストール、アンインストール、アップデートなど)を手軽にすることができる。(Fedora の yum や、Debian の apt のような感じ。)
MacPorts では、いわゆるパッケージのことを ports と呼ぶ。
オープンソースソフトウェアの多くが ports に登録されていて、頻繁にアップデートされている。(大抵のソフトは入手できるはず。)
MacPorts のパッケージ管理は、事前にビルドされたバイナリをダウンロードしインストールするのではなく、ソースコードをダウンロードし、そのマシン内でビルドすることになる。(簡単にいえば、./configure && make && make install を自動でやってくれる。)なので、Xcode (Developer Tools) がインストールされている必要がある。
また、/opt/local/ ディレクトリ以下に実行環境を構築するので、Mac OS X に変更を加えることはなく、アンインストールすることもできる。
The MacPorts Project
- MacPorts Project -- Home [www.macports.org]
- MacPorts package download [distfiles.macports.org]
- svn download [svn.macports.org]
MacPorts-Wiki-JP
- FrontPage - MacPorts-Wiki-JP [lapangan.net]
- man page の翻訳 - MacPorts-Wiki-JP [lapangan.net]
目次 |
インストール
インストール環境
port コマンドを使うには、少なくともソースコードからのビルド環境が必要になるので、Xcode をインストールしておく。それと、ソフトウェアの中には X11 を必要とするものもあるので、X11User.pkg, X11SDK.pkg もインストールしておく。
- Xcode (Developer Tools)
- X11 (X11User.pkg, X11SDK.pkg)
- /Library/Recepts に X11User.pkg と X11SDK.pkg があれば、X11 はインストールされている。
MacPorts のインストールと、PATH の設定
- MacPorts をダウンロード&インスト−ル
- ~/.profile の作成(内容修正)
- ~/.profile の設定を反映させる
Mac OS X の各バージョン用の MacPorts をダウンロードしインストールする。
MacPorts の dmg ファイル [distfiles.macports.org]
現在リリースされている MacPorts では、インストール時に ~/.profile の設定が自動で行われる。 |
ホームディレクトリに .profile という名前のファイルを作り、内容を以下のようにする。
export PATH=/opt/local/apache2/bin:/opt/local/bin:/opt/local/sbin:$PATH export MANPATH=/opt/local/share/man:$MANPATH
下記のコマンドを実行し .profile を読み込むか、再ログインすることで .profile を読み込むことで PATH を有効にする。
. ~/.profile または、 source $HOME/.profile
port コマンドの使い方
MacPorts では、いわゆるパッケージのことを ports と呼ぶ。
- インストールしている MacPorts を最新のバージョンにする(sudo 権限が必要)
sudo port selfupdate
- ports のリストを最新にする
sudo port -v sync
- MacPorts でインストールされた ports ツリーのみ、MacPorts の rsync サーバと同期する。
- 自作の Portfiles については何も起こらない。
Portfile とは、ソースコードやパッチファイルのダウンロード先アドレス、依存関係、./configure の内容が書かれている。
|
- ports を検索する
port search 検索キーワード
- ports の依存関係を表示する
- 依存関係にある ports がインストールされていない場合、自動的にインストールされる。
port deps ports名
- ports のインストールオプション (バリアント variants) を表示する
- インストール時のオプション、いわゆる ./configure で追加するオプションが表示される。
port variants ports名
- ports をインストールする(sudo 権限が必要)
sudo port install ports名
-vc
オプションを付けると、ビルドするために使用したファイルを削除する。
sudo port -vc install ports名
- インストールしている ports の一覧を表示する
port installed
- アップデート可能な ports を表示する
port outdated
- ports の Portfile を表示する&編集する
port cat ports名 port edit ports名
- edit オプションを使うと、エディタで Portfile を編集することができる。エディタは ~/.profile に記述しておく必要がある。
export EDITOR=/usr/bin/nano
パッケージ管理の例
インストール済み ports のバリアントを、別のバリアントに変える方法
例えば、php5 +apache2 でインストール済みの ports を php5 +apache2 +pear にするには、次のような手順て行う。
sudo port clean php5 sudo port install php5 +apache2 +pear sudo port deactivate php5 sudo port activate php5 @5.2.6_0+apache2+macosx+pear sudo port uninstall php5 @5.2.5_3+apache2+macosx
- clean php5 で、php5 +apache2 バリアントでビルドしたディレクトリを削除する。
- clean では、バイナリは消されないし、activate したままになっている。
- install php5 +apache2 +pear で、別のバリアントの ports をインストールする。(この時点でもインストール済み php5 +apache2 に影響はない。)
- deactivate php5 で、activate 中の php5 +apache2 を使用停止する。
- activate php5 @5.2.6_0+apache2+macosx+pear で、新しくビルドした php5 +apache2 +pear バリアントの php5 を使用するにする。
- uninstall php5 @5.2.5_3+apache2+macosx で、以前のバリアントの ports を削除する。
MacPorts の注意点
ports をインストールする時、依存関係により activate 済み(インストール済み) ports がアップグレード(バージョンアップ)する事がある。
- CentOS などでは、アップデートされることはあってもアップグレード(バージョンアップ)することはない。
アップグレード(バージョンアップ)してしまうことにより、Web アプリが動かなくなったり、コンフィグレーションの互換性がとれなくなることがある。
- アップグレードした場合、コンフィグレーションの内容を見直す必要がある。
注意点というより利点としては、アップグレードして問題が発生した場合、元バージョンに戻すことができる。
- 新バージョンを deactivate 後、旧バージョンを activate する。依存ライブラリも旧バージョンに戻す必要がある。