port(1)
提供:Beginning OS X
| PORT(1) | BSD General Commands Manual | PORT(1) |
目次 |
[編集] 名前
- port -- 一つまたは複数の Mac ports を操作します。
[編集] 概略
- port [-bcdfknopqRstuvy] [-D portdir] [-F cmdfile] [action] [actionflags] [[portname | pseudo-portname | port-url]] [[@version] [+/-variant ...] ... [option=value ...]]
[編集] 説明
- port コマンドは action で指定した要求に基づき、一度の呼び出しで一つまたは複数の Mac ports を操作することができます。portdir や portname が指定されずに呼ばれた場合には、カレントディレクトリが指定されたものとみなされます。action が指定されていなければ、port コマンドは対話モードに入り、標準入力からコマンドを読み取ります。cmdfile 経由でバッチコマンドを渡すこともできます。port のオプション options は key=value の組として渡すことができ、これは portname の Portfile 中に書かれた個別のオプションやシステム全体の設定よりも優先されます。
- port の variants は、その variant が望まれていることを示す +name という形か、あるいはその逆を示す -name という形で指定されます。曖昧さが残る場合には、@version_revision+variants というフォーマットで完全な指定をおこなうことも可能です。
- インストールされた ports は、アンインストールすることなく activate や deactivate をおこなうことができます。port は、他のバージョン/バリアントの組合せでインストールされたものがすべて deactivate されていれば、新しくインストールすることが可能です。
- port コマンドでは様々な疑似 port 名 pseudo-portnames を使うことができ、利用可能な ports ツリーの中から指定した条件に合致する ports を選択して用いるといった使い方が可能です。こうした疑似 port 名は、portname が書ける場所ならどこにでも書くことができます。一般的なオプションとしては、以下のようなものがあります。
- all: sources.conf で指定された、それぞれの ports ツリー内にある、すべての ports。
- current: 現在の作業ディレクトリ内にある port。
- active: インストールされており、かつ active な状態にある ports。
- inactive: インストールされているが、inactive な状態にある ports。
- actinact: active なバージョンと、一つ以上の inactive なバージョンの両方を持つ、インストール済みの ports。
- installed: インストール済みのすべての ports。
- uninstalled: ports ツリー内に存在するが、インストールされていない ports。
- outdated: バージョン/リビジョンが、ports ツリー内にあるものよりも古くなっている、インストール済みの ports。
- obsolete: インストールされているが、ports ツリー内には既に存在しなくなっている ports。
- requested: 明示的に求められインストールされた ports。
- unrequested: 依存関係を満たすためだけにインストールされた ports。
- leaves: インストールされた ports のうち、明示的に求められてインストールされたものではなく、また、他の ports からの依存関係も持たないもの。
- ports の集合は、疑似 port 名セレクタ pseudo-portname selectors を使って指定することもできます。これは、Portfile 中に記述されている、セレクタ名(単数形、もしくは適切であれば複数形で指定してもよい)に対応するキーの値が、与えられた正規表現に合致する ports に展開されます。使い方は selector:regex です。
- 利用可能なセレクタには以下のようなものがあります。
- name
- version
- revision
- epoch
- variant
- variants
- category
- categories
- maintainer
- maintainers
- platform
- platforms
- description
- long_description
- homepage
- portdir
- 他の疑似 port 名セレクタとして、他の port との特定の関係にある ports にマッチするものがあります。これらは与えられた port 名が直接的または再帰的に依存するもの、または与えられた port 名に直接的または再帰的に依存するものにマッチします。
- depof
- rdepof
- dependentof
- rdependentof
- UNIX の glob パターンを含む portnames も同様に、対応する ports へと展開されます。port に渡されたあらゆる action は、それらに対応する ports のそれぞれに対しておこなわれます。例を以下に挙げます。
- port list variant:no_ssl
- port uninstall name:sql
- port echo depof:mysql5
- port echo apache*
- 論理演算子 "and", "or", "not", "!", "(" および ")" を使うことで、個々の portnames、port の glob パターン、あるいは疑似 port 名 pseudo-portnames を組み合わせて、対応する ports へと展開される複雑な port の表現を構成することができます。例えば、以下のような使い方が可能です。
- port upgrade installed and apache*
- port echo maintainer:jberry and uninstalled and \( category:java and not commons* \)
- port コマンドでは、いくつかのコマンドラインフラグおよび targets を使うことができます。
[編集] オプション
- -v
- 詳細表示モード (詳細なメッセージを表示します。)
- -d
- デバッグモード (デバッグメッセージを表示します。暗黙に -v も指定されます。)
- -q
- 非表示モード (メッセージの表示を控えます。)
- -n
- 依存関係にある ports をアップグレードしません。(アップグレードとインストール時に効果を及ぼします)
- -R
- 依存関係にある ports もアップグレードします。(アップグレード時にのみ効果を及ぼします) - このオプションは、依存関係にある ports の依存関係はアップグレードしません。
- -u
- アップグレード時とアンインストール時に、active 状態でない ports をアンインストールします。
- -f
- 強制モード (状態ファイルを無視します。)
- -o
- 状態ファイルが Portfile よりも古くても、そちらを優先します。
- -s
- ソース専用モード (ソースからのビルドとインストールをおこないます。バイナリアーカイブの取得は試みません。)
- -b
- バイナリ専用モード (バイナリアーカイブからのビルドとインストールをおこないます。ソースを無視します。利用可能なアーカイブがなければ処理は中断されます。)
- -c
- オートクリーンモード (インストール後に clean を実行します。)
- -k
- キープモード (インストール後にオートクリーンしません。)
- -D
- portdir を指定します。
- -F
- 引数として指定された、コマンドの書かれた file を読み取って処理します。引数が '-' である場合には、標準入力からコマンドを読み取ります。オプションが複数回与えられた場合には、複数のファイルが読み取られることになります。
- -p
- エラーが発生したかどうかによらず、複数の ports またはコマンドを処理します。
- -y
- ドライランを実施します。ports およびその依存関係にあるものをビルドする全てのステップが処理されますが、実際には実行されません。詳細表示のフラグを一緒に指定することで、全てのステップがレポート表示されます。指定しない場合には、port ごとにメッセージが一行表示されるだけです。この場合、port の再帰的な依存関係(およびビルドされる順序)を簡単に調べることができます。
- -t
- プラットフォームでサポートされている場合 (Mac OS X の場合)、トレースモードのデバッグ機能を有効にします。この機能は二つの部分から成っており、一つは port が読み取ったファイルの情報、および実行したプログラムの情報を元に、宣言されていない依存関係を自動的に検知して報告する機能です。もう一つは、許可されていないディレクトリ (テンポラリディレクトリおよび ${workpath}) の外に対する新規ファイルの作成や既存ファイルへの書き込みを禁止し、同時に報告をおこなう機能です。
[編集] 一般利用者向けのターゲット
- 一般的な MacPorts 利用者向けのターゲットを以下に挙げます。
- search
- 利用可能な port を検索します。デフォルトでは、検索文字列中の大小文字は区別されず、名前(name)と詳細(description)のフィールドを検索対象とする glob として扱われます。検索文字列を正規表現、リテラル、または大小文字を区別したかたちで扱いたい場合には、それぞれ --regex、--exact、または --case-sensitive を使ってください。異なるフィールドを検索対象としたい場合には、一つまたは複数の --<field-name> オプションを使ってください。検索結果をそれぞれ一行づつ表示するには、--line を使ってください。
- port search vim
- port search --regex --depends_build 'docbook.*[0-9]+'
- info
- portname に関するメタ情報を表示します。--maintainer や --category といったオプションを使うことで、特定のメタ情報を要求することもできます。(指定できるフィールド名は PortIndex に含まれるものとなります。完全なリストについては "port help info" を参照してください。) フィールドが指定されない場合には、有用なフィールドのデフォルトコレクションが表示されます。グローバルオプション -q が指定されている場合には、メタ情報のフォールドは表示されません。--line オプションが指定されている場合には、そうしたデータは port 毎に一行にまとめて表示されます。これはパイプコマンドで処理する際に便利です。--pretty オプションが指定された場合、情報は人が読みやすい形に整えられます。--index オプションが指定されている場合には、情報は Portfile からではなく PortIndex から引き出されます。(この場合、依存関係のような variant 情報は出力されません。)
- 使用例を以下に挙げます。
- port info vim +ruby
- port info --category --name apache*
- port -q info --category --name --version category:java
- port info --line --category --name all
- port info --pretty --fullname --depends gtk2
- port info --index python24
- 使用例を以下に挙げます。
- notes
- portname のノート(port の設定や使用の上で有用な情報)を表示します。
- variants
- portname のビルド時に指定可能な variants を一覧表示します。
- deps
- portname をビルド・実行するのに必要となる他の ports を一覧表示します。これは "info --pretty --fullname --depends" の単純な別名です。
- rdeps
- portname のビルドや実行に必要となる他の ports を再帰的にリスト表示します。それぞれの ports の表示を一度だけに限るのではなく、全ての依存関係のツリーを表示したい場合には、--full を指定してください。依存関係の情報を Portfile からではなく Portindex から取得したい場合 (高速に動作するが variant の選択は考慮に含まれない) には --index を使ってください。ビルド時にのみ必要となる依存関係 (すなわち depends_fetch, depends_extract, depends_build) を除外するには、--no-build を用いてください。
- dependents
- portname に依存するインストール済みの ports を一覧表示します。
- rdependents
- portname に依存するインストール済みの ports を再帰的にリスト表示します。それぞれの ports の表示を一度だけに限るのではなく、全ての依存関係のツリーを表示したい場合には、--full を指定してください。
- install
- portname をインストールして activate の処理をおこないます。
- uninstall
- portname を deactivate し、アンインストールします。インストール済みの ports のうち、inactive なもの全てをアンインストールするには -u を使ってください。portname に依存する全ての ports を、その port 自身の前に再帰的にアンインストールするには、--follow-dependents を使ってください。portname をアンインストールし、それから再帰的にその port が依存する全ての ports をアンインストールするには、--follow-dependencies を使ってください。このオプションは、requested としてマークされた依存関係および他に依存関係を持つ ports はアンインストールしません。
- たとえば次のようにします。
- port uninstall vim
- port -u uninstall
- port uninstall --follow-dependents python24
- select
- 適切なシンボリックリンクを作成することで、与えられた group に対する、デフォルトとなる version を選択します。具体的にいうと、python を python2.6 へのリンクとするなどです。利用可能な select のグループは ${prefix}/etc/select/ のサブディレクトリとしてインストールされます。グループにおける利用可能なバージョンを一覧表示させるには --list を使ってください。グループに対して現在どのバージョンが選択されているかを知るには --show を使います。選択済みのバージョンを変更するには --set を使って下さい。
- たとえば次のようにします。
- port select --list python
- port select --show gcc
- port select --set gcc mp-gcc44
- activate
- インストール済みの portname を activate します。
- deactivate
- インストール済みの portname を deactivate します。
- setrequested
- portname に requested のマークを付けます。
- unsetrequested
- portname に unrequested のマークを付けます。
- installed
- portname のインストール済みのバージョン及び variants を表示します。portname の指定が無い場合には、全てのインストール済みの ports が表示されます。
- location
- 指定した port のインストール場所を表示します。
- contents
- portname によってインストールされたファイルを一覧表示します。
- provides
- 指定したファイルを所有する port について調査します。ファイルは相対パスでも絶対パスでも構いません。たとえば以下のようにします。
- port provides /opt/local/etc/irssi.conf
- port provides include/tiff.h
- sync
- MacPorts の rsync サーバから最新の Portfiles を取得し、MacPorts のインストール物中にある ports ツリーのみを更新します。通常は以下のようにして使います。
- sudo port -d sync
- もし ports ツリーのいずれかで file: URL を使っており、それがローカルな subversion の作業コピーを指し示している場合、sync は作業コピー上で、作業コピーの所有者の権限で svn update をおこないます。
- outdated
- インストール済みの ports の中でアップグレードする必要のあるものを一覧表示します。
- upgrade
- upgrade ターゲットは port 本体、およびそれが依存する ports を 処理対象として動作します。もしこの挙動を変更したい場合には、以下に示す n (依存関係を辿らない) および R (依存するものを含める) のスイッチを使ってください。
- インストール済みの portname をアップグレードします。
- port upgrade vim
- インストール済み ports を全てアップグレードする場合。
- port upgrade installed
- portname およびそれに依存する ports をアップグレードする場合。
- port -R upgrade libiconv
- 強制的にアップグレード (リビルド) をおこなう場合。
- port upgrade --force vim
- 依存関係を辿ることなく portname のみをアップグレードするには、-n を使います。
- port -n upgrade wireshark
- port のアップグレード時に使われる variants の選択についていうと、コマンドラインから指定された variants は最も高い優先度を持ち、次に最新のインストール済み port で使われている variants が、そして最後に variants.conf で指定されたグローバルな variants が、もしあれば用いられます。選択された variants が変更になっただけでは、upgrade は通常 port をリビルドしません。--enforce-variants を指定するか、port を deactivate してから別の variants にて再インストールしてください。
- clean
- portname をビルドする最中に利用されたファイルを掃除します。作業ファイルのみを削除するには、actionflag として --work を指定してください。これはフラグが指定されない場合のデフォルトの動作です。ソフトウェアの配布ファイル (ソースコードが含まれる tar ファイルなど) を 削除するには --dist を使います。作業ファイル、配布ファイル、およびログを削除するには --all を使ってください。ログファイルを削除する場合には --logs を使ってください。
- port clean --dist vim
- port clean --logs vim
- log
- portname のログファイルをパーズして表示します。--phase を使って表示したいフェーズを指定したり、--verbosity によって表示したいメッセージカテゴリ (msg, info, debug) を指定できます。
- port log --phase configure vim
- port log --phase fetch --verbosity debug vim
- echo
- port に渡された引数を標準出力に書き出します。このとき疑似 port 名 pseudo-portnames、port 名の glob パターン、疑似 port 名セレクタ pseudo-portname selectors は展開され評価されます。echo を使うことで、引数として与えられた文字列によって、どのような ports がヒットするのかを調べることができます。
- port echo category:net
- port echo maintainer:jmpp and name:netw
- port echo maintainer:jmpp and \( net* or category:text \)
- list
- 引数が指定されずに呼ばれた場合には、すべての利用可能な ports の最新バージョンの一覧が表示されます。引数に portname(s) が与えられた場合には、指定されたそれぞれの port の最新バージョンの一覧が表示されます。
- mirror
- コマンドラインで指定した ports で使われる配布ファイルのローカルミラーを生成/更新します。--new オプションを指定することで、ファイルマップデータベースをリセットすることができます。(データベースが見つからない場合には自動的に生成されますが。)取得されたファイルが Portfile 中のチェックサムと合致しない場合には削除されます。疑似 port 名 pseudo-portnames と共に使うこともできます。たとえば、全てをミラーする場合には all とします。all を使う場合には、-p も指定しておくと良いでしょう。ダウンロードに失敗しても port コマンドが終了されなくなります。
- version
- インストール済みの MacPorts のリリース番号を表示します。
- platform
- 現在利用しているシステムのプラットフォーム情報を表示します。
- selfupdate
- 必要であれば、MacPorts のシステム、ports ツリー、およびベースとなるツール群を MacPorts の rsync サーバを使ってアップデートし、利用可能な最新のインフラをインストールします。アップグレードをおこなうには以下のようにしてください。
- sudo port selfupdate
- ports tree の更新に関する詳細に関しては、sync の項を参照してください。
- load
- port のデーモンを load する launchctl へのショートカットを提供します。以下のコマンドを実行します。
- launchctl load -w /Library/LaunchDaemons/org.macports.${port}.plist
- port のデーモンを load する launchctl へのショートカットを提供します。以下のコマンドを実行します。
- unload
- launchctl へのショートカットです。load と似ていますが、デーモンを unload します。
- gohome
- 指定された portname のホームページをデフォルトのウェブブラウザで表示します。
- usage
- 利用方法の要約を表示します。
- help
- 全ての利用可能なアクションと port のコマンドに関する文法を 標準出力に表示します。
[編集] 開発者向けのターゲット
- port 開発者がよく使うターゲットには、port のビルドプロセスにおける個々のフェーズへアクセスするためのものが含まれます。
- dir
- portname が配置されているディレクトリパスを表示します。
- work
- portname の作業ディレクトリへのパスを表示します。
- cd
- カレントディレクトリを portname が配置されているディレクトリに変更します。対話モードでのみ有効です。
- file
- portname の Portfile へのパスを表示します。
- url
- 与えられた portname のパスへの URL を表示します。これは port-url として用いることができます。
- cat
- Portfile の内容を標準出力に表示します。
- edit
- Portfile を、シェル環境変数で指定されたデフォルトのエディタで開きます。このコマンドの別名として ed が用意されています。
- また、コマンドライン上で --editor フラグを用いることにより、別のエディタを指定することができます。たとえば以下のようにします。
- port edit --editor nano apache2
- ed
- edit に対する別名です。
- fetch
- portname をビルドするのに必要となる、ソフトウェアのソース等が収められた配布ファイルを取得します。
- checksum
- portname の配布ファイルのチェックサムを計算し、Portfile 中に書かれたチェックサムと照合します。
- extract
- portname の配布ファイルを展開します。
- patch
- portname の展開された配布ファイルに対し、必要なパッチがあれば適用します。
- configure
- portname の configure プロセスを実行します。
- build
- portname をビルドします。
- destroot
- portname を一時ディレクトリにインストールします。
- test
- portname をテストします。
- lint
- portname の Portfile をベリファイ(検証)します。ホワイトスペースおよびパッチファイル名に関するチェックをおこなうには、--nitpick を指定してください。
- distcheck
- 配布ファイルが変更されておらず、取得可能かどうかをチェックします。
- distfiles
- 各々の配布ファイル、そのチェックサム、および取得元の URL を表示します。
- livecheck
- Portfile が最後に更新された以後に ソフトウェアがアップデートされていないかどうかをチェックします。
[編集] パッケージ化に関するターゲット
- ports をインストールできるパッケージの作成用ターゲットもあります。
- pkg
- portname の OS X インストーラ・パッケージを作成します。
- mpkg
- portname および依存関係にある ports の OS X インストーラ・メタパッケージを作成します。
- dmg
- portname の OS X パッケージを内包する、インターネット上にアップロード可能な形態のディスクイメージを作成します。
- mdmg
- portname および依存関係にある ports の OS X インストーラ・メタパッケージを内包する、インターネット上にアップロード可能な形態のディスクイメージを作成します。
- rpm
- portname の RPM バイナリパッケージを作成します。tgz の "archive" に似ています。
- srpm
- portname の SRPM ソースパッケージを作成します。xar の "portpkg" に似ています。
- dpkg
- portname の DEB バイナリパッケージを作成します。
[編集] 使用例
- 以下のデモでは、extract ターゲットとして portdir "textproc/figlet" を、extract.suffix として ".tgz" を指定した状態で port を呼び出しています。
- port extract -D textproc/figlet extract.suffix=.tgz
[編集] 関連するファイル
- ${prefix}/etc/macports/macports.conf
- MacPorts システムのグローバル設定ファイル。
- ${prefix}/etc/macports/sources.conf
- MacPorts で利用される ports ツリーのリストを書きます。このファイルを用意することで rsync の同期が可能となります。
- ${prefix}/etc/macports/variants.conf
- port をインストールする際に使われるグローバル変数。
- ~/.macports/macports.conf
- MacPorts システムのユーザ設定ファイル。こちらに書かれた内容はグローバルな macports.conf ファイルに優先します。
[編集] 戻り値
- port は成功すれば 0 を、エラーが発生した場合には >0 を返します。
[編集] 参考
[編集] 作者
- Landon Fuller <landonf@macports.org>
- James Berry <jberry@macports.org>
- Jordan K. Hubbard <jkh@macports.org>
- Juan Manuel Palacios <jmpp@macports.org>
- Kevin Van Vechten <kevin@opendarwin.org>
- Ole Guldberg Jensen <olegb@opendarwin.org>
- Robert Shaw <rshaw@opendarwin.org>
- Chris Ridd <cjr@opendarwin.org>
- Matt Anton <matt@opendarwin.org>
- Joe Auty <joe@opendarwin.org>
| BSD | April 29, 2007 | BSD |