MacPortsのコマンド逆引き一覧

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 t1lib

variantsとは、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 件

#1 MacPortsの主要コマンド - ショウジン日記 2009/01/10 12:19

[...] 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. [...]

#2 MacPortsのインストールと環境変数の追加 - ショウジン日記 2009/01/10 12:22

[...] 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 [...]

コメントする