MacPortsというのは、BSDのportsを参考に作られたMacOSX用のパッケージングシステムです。同様のパッケージングシステムとしてはFinkもありますけど、好きな方を使えばいいと思います。ちなみに、ディノ社内のMacユーザーの中ではMacPortsの独占状態になっています。私は最初Finkを使っていたんですが、話が合わないのが寂しくてMacPortsを使うようになりました。
さて、そのMacPortsですが、私が長年rpm&yumに慣れきっていたせいか、「こうしたい時どうするんだろ?rpmコマンドなら出来るの知ってるんだけど」みたいなことが良くあります。これは結構ストレスです。そこで、逆引き形式の一覧表を作ってみました。リファレンスマニュアルを見れば全部書いてあることなんですけど、意外と便利なんじゃないかと思います。少なくとも私は自分で便利でした。(さすがにもう覚えましたけどね)
以下、コマンドの羅列です。もしも「便利なアレが入ってないぞ!」というのがあれば教えて下さい。多分私が知らないだけです。
パッケージ情報とportコマンドを最新にする
$ port selfupdate
何か変な状況になったら試すと良いでしょう。これで解決することは多いです。
また、cronで本コマンドを毎日実行するのはナイスアイデアだと思います。
php5という名前を含むパッケージを探す
$ port search php5
パッケージのvariantsをチェックする
$ port variants php5
php5 has the variants:
universal
darwin_6
darwin_7
macosx
apache: for Apple Apache
apache2: for current Apache
fastcgi: add fastcgi binary
gmp: Add GNU MP functions
dbase: Add dBase file format support
imap: enable operation with IMAP protocol
pspell: Add pspell spell-checking functions
tidy: add Tidy support
mssql: add support for MS-SQL server
snmp: use Apple snmp
macports_snmp: use MacPorts snmp
mysql3: build MySQL 3 support
mysql4: build MySQL 4 support
mysql5: build MySQL 5 support
oracle: Add Oracle oci8 database functions with the Oracle Instant Client
postgresql82: provide postgresql82 support
postgresql83: provide postgresql83 support
sqlite: build sqlite support
ipc: build IPC support
pcntl: provide process control
pear: add pear stuff
readline: Add GNU readline functions
sockets: Add socket communication functions
t1lib: Add PostScript Type 1 font support with t1libvariantsとは、configureやコンパイル時のオプションを指定するものです。例えば、PHP5をPostgreSQLやSQLiteに対応させる等が可能です。
パッケージのインストール(=rpm -ihv)
$ port install php5パッケージのインストール(variantsの指定つき)
$ port install php5 +apache2+macosx+mysql5+postgresql83インストール済みの全パッケージについて、新バージョンが無いかどうかチェックしたい
$ port outdated
パッケージのアップデート(=rpm -Uhv)
$ port upgrade php5
インストール済みの全パッケージをアップデート
$ port upgrade installed
パッケージの削除(=rpm -e)
$ port uninstall php5
インストール済の全パッケージの一覧が見たい(=rpm -qa)
$ port installed
パッケージの詳細情報が見たい(=rpm -qi)
読みやすさのため改行を大量に入れました。
$ port info php5 php5 5.2.5, Revision 2, www/php5 (Variants: universal, darwin_6, darwin_7, macosx, apache, apache2, fastcgi, gmp, imap, pspell, tidy, mssql, snmp, macports_snmp, mysql3, mysql4, mysql5, oracle, postgresql, sqlite, ipc, pcntl, pear, readline, sockets) http://www.php.net/ PHP is a widely-used general-purpose scripting language that is especially suited for developing web sites, but can also be used for command-line scripting. Library Dependencies: libxml2, libxslt, openssl, zlib, bzip2, libiconv, expat, gettext, tiff, mhash, libmcrypt, curl, pcre, jpeg, libpng, freetype Platforms: darwin freebsd Maintainers: ryandesign@macports.org jwa@macports.org
インストール済みの特定のパッケージに含まれているファイルの一覧を見たい(=rpm -ql)
$ port contents php5 Port php5 contains: /opt/local/apache2/conf/extras-conf/mod_php.conf /opt/local/apache2/modules/libphp5.so /opt/local/bin/php (以下略)
インストール済みのコマンドやファイルがどのパッケージに入ってるか探したい(=rpm -qf)
$ port provides `which php` /opt/local/bin/php is provided by: php5
特定のversion/variantを指定する方法
@をつけると特定のバージョンを指定できます。
$ port uninstall wget @1.10.2_0+darwin_8
何かの依存関係があったりするかもしれませんし、特に問題が無いなら、むやみにuninstallしない方がいいかもしれません。私は調子に乗ってuninstallしまくっていたら変な状態になりました。別の理由だったのかもしれませんけど。
複数バージョンの同一パッケージがインストールされていて、有効なバージョンを変更する方法
- 有効になっているバージョンに対しdeactivateを使います。
- 有効にしたいバージョンに対しactivateを使います。
$ port deactivate postgresql82 @8.2.6_0 $ port activate postgresql82 @8.2.7_0
パッケージの依存関係を調べる
$ port deps postgresql82
postgresql82 has build dependencies on:
bison
postgresql82 has library dependencies on:
readline
openssl
zlib
libxml2
libxsltビルドに使ったファイルを削除する
別のvariantsを指定して再ビルドしたい場合などに使います。
$ port clean postgresql82
アーカイブも削除して再取得したい場合には–allが利用できます。(滅多に無いですが、壊れたアーカイブを保存してしまった場合に便利です)
$ port clean --all postgresql82
コメント / トラックバック 2 件
[...] http://d.hatena.ne.jp/hakobe932/20061208/1165646618 http://openlab.dino.co.jp/2008/08/18/220655330.html Tags: command, macports You can follow any responses to this entry through the RSS 2.0 feed. [...]
[...] http://d.hatena.ne.jp/hakobe932/20061208/1165646618 http://openlab.dino.co.jp/2008/08/18/220655330.html Tags: install, macport, setting You can follow any responses to this entry through the RSS 2.0 [...]
コメントする