EN JA
PORTS(7)
PORTS(7) FreeBSD Miscellaneous Information Manual PORTS(7)

名称

ports寄贈されたアプリケーション

解説

FreeBSD port コレクションは、アプリケーションをインストールするためにユーザと管理者のための簡単な方法を提供しています。各 port は、オリジナルのアプリケーションのソースコードを FreeBSD でコンパイルして実行するために必要なあらゆるパッチを含んでいます。アプリケーションをコンパイルすることは、port ディレクトリで make build をタイプするように簡単です! Makefile は、ローカルディスクからか、または FTP によって、アプリケーションのソースコードを自動的に取って来て、利用者のシステムでそれをアンパックし、パッチを適用して、それをコンパイルします。すべてがうまくいったなら、アプリケーションをインストールするために、単に make install をタイプします。

port の使用に関する詳細については、 The FreeBSD Handbook の“Packages and Ports” (原文 file:/usr/share/doc/en_US.ISO8859-1/books/handbook/ports.html または、 http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/ports.html、和文 file:/usr/share/doc/ja_JP.eucJP/books/handbook/ports.html または、 http://www.FreeBSD.org/doc/ja_JP.eucJP/books/handbook/ports.html) を参照してください。新しい port を作成することに関する情報については、 The Porter's Handbook ( file:/usr/share/doc/en_US.ISO8859-1/books/porters-handbook/index.html または、 http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/porters-handbook/) を参照してください。

ターゲット

ターゲットのいくつかは、サブディレクトリを通して再帰的に動作します。これによって、利用者は、例えば、“ biology” port のすべてインストールします。これを行なうターゲットは、 build, checksum, clean, configure, depends, extract, fetch, installpackage です。

次のターゲットは、順番に各進行しているターゲットによって自動的に実行されます。すなわち、 build は、(必要であるなら) install によって実行され、 fetch するすべての方法も同様です。通常、 install ターゲットを使用するだけです。

config
dialog4ports(1) を使用して、この port のための OPTIONS を設定します。
fetch
MASTER_SITESPATCH_SITES にリストされたサイトから、この port を構築するために必要なすべてのファイルを取って来ます。 FETCH_CMD, MASTER_SITE_OVERRIDEMASTER_SITE_BACKUP を参照してください。
checksum
取って来た distfile のチェックサムがテストされた port のものと一致しているか検証します。 distfile のチェックサムが一致していないなら、失われたか、またはチェックサムの計算を失敗した distfile も取って来ます。 NO_CHECKSUM を定義することで、このステップを飛ばすことができます。
depends
現在の port と依存関係にある port をインストール (もしくは、必要がある場合のみコンパイル) します。ターゲット extract または fetch により呼び出された場合、 fetch-depends, build-depends などとしてひとつずつ実行されます。 NO_DEPENDS を定義することで、このステップを飛ばすことができます。
extract
distfile を作業用ディレクトリに展開します。
patch
port に必要なパッチすべてを適用します。
configure
port を設定します。 port によっては、この段階で質問してくるものもあります。 INTERACTIVEBATCH を参照して下さい。
build
port を構築します。これは、ターゲット all を呼び出すことと同じです。
install
port をインストールし、この port をインストールしたことを package システムに登録します。このターゲットは、実際に必要なことすべてを行なってくれます。

次のターゲットは、通常のインストールプロセスでは、実行されません。

showconfig
この port の OPTIONS 設定を表示します。
showconfig-recursive
この port と依存するものの OPTIONS 設定を表示します。
rmconfig
この port の OPTIONS 設定を削除します。
rmconfig-recursive
この port と依存するものの OPTIONS 設定を削除します。
config-conditional
すでに OPTIONS 設定を持っている port をスキップします。
config-recursive
dialog4ports(1) を使用して、この port とそのすべての依存のための OPTIONS を設定します。
fetch-list
port を構築するために取って来られるファイルのリストを表示します。
fetch-recursive
port とそれに依存するすべての distfile を取って来ます。
fetch-recursive-list
fetch-recursive によって検索され、取って来られるファイルのリストを表示します。
run-depends-list, build-depends-list
port ディレクトリで、すべてのコンパイルと実行の依存関係、それらに依存する依存関係を印刷 (表示) します。
all-depends-list
port のためのすべての依存関係のリストを印刷します。
pretty-print-run-depends-list, pretty-print-build-depends-list
port 名とバージョンで、すべてのコンパイルと実行の依存関係、それらに依存する依存関係を印刷します。
missing
port のためにインストールされる欠けている依存のリストを印刷 (表示) します。
clean
展開されたソースコードを削除します。 NOCLEANDEPENDS を定義しておかない限り、削除は、依存関係にある port に再帰的に適用されます。
distclean
その port の distfile を削除し、 clean ターゲットを実行します。 NOCLEANDEPENDS を定義しておかない限り、 clean の部分は、依存関係にある port に再帰的に適用されます。しかし、 distclean の部分は、決して再帰的に適用されません (この挙動は、ひょっとするとバグかもしれません)。
reinstall
deinstall を使用すべきところでうっかり pkg_delete(1) を使ってしまった場合、このターゲットを使って port を復活させて下さい。
deinstall
pkg_delete(1) と同様に、インストールした port をシステムから削除します。
deinstall-all
同じ PKGORIGIN のインストール済 port すべてを、システムから削除します。
package
この port のバイナリ package を作成します。まだインストールされていなかった場合、その port をインストールします。 package は、 .tbz ファイルであり、その port を他のマシンに pkg_add(1) を使ってインストールする際に使用することができます。 PACKAGES で指定されたディレクトリが存在しなければ、package は、カレントディレクトリに置かれます。 PKGREPOSITORYPKGFILE とを参照して下さい。
package-recursive
package と似ていますが、依存する各 port に対しても package を作成します。
package-name
port のバージョンで名前を印刷します。
readmes
その port の README.html ファイルを生成します。これは、あなたのシステム上の全 port をウェブでブラウズできるようにするために、 /usr/ports から使用可能です。
search
INDEX ファイルを、 key (port の名前、コメント、依存関係を調べます)、 name (port の名前のみを調べます)、 path (port のパスを調べます)、 info (port の情報を調べます)、 maint (port のメンテナを調べます)、 cat (port のカテゴリを調べます)、 bdeps (port の構築依存関係を調べます)、 rdeps (port の実行依存関係を調べます)、 www (port web サイトを調べます) などの make(1) 変数や、その逆の意味をもつ xname, xkey などで指定されたパターンで検索します。例えば、次のように入力します:

cd /usr/ports && make search name=query

すると、全 port のうち名前が“ query”に適合するものが探されます。結果には、適合する port のパス、コメント、メンテナ、構築依存、実行依存が含まれます。

cd /usr/ports && make search name=pear- \ 
    xbdeps=apache

名前に“ pear-”を含み、apache が構築依存関係に含まれていないすべての port を検索します。

cd /usr/ports && make search name=pear- \ 
    xname='ht(tp|ml)'

名前に“ pear-”を含みますが、“ html”や“ http”は、含まないすべての port を検索します。

make search key=apache display=name,path,info keylim=1

apache”が名前、パス、情報フィールドのどれかに含まれるすべての port を検索します。他のレコードは、無視します。

デフォルトで、検索は、大文字と小文字を区別しません。大文字と小文字を区別するようにするためには、 icase 変数を使用することができます:

make search name=p5-R icase=0
quicksearch
search の出力を削減します。名前、パスと情報のみ表示します。
describe
INDEX ファイルで使用される各 port 1 行の記述を生成します。
maintainer
port メンテナの E メールアドレスを表示します。
index
/usr/ports/INDEX を作成します。これは、 pretty-print-* および search のターゲットで使用されます。 index ターゲットを実行することで、 INDEX ファイルが port ツリーに対して最新であることを保証します。
fetchindex
FreeBSD クラスタから INDEX ファイルを取得します。

環境変数

つぎのすべてを変更することができます。
PORTSDIR
port ツリーの位置。これは、 FreeBSDOpenBSD では、 /usr/ports で、 NetBSD では、 /usr/pkgsrc です。
WRKDIRPREFIX
あらゆる一時ファイルを作成する場所。 PORTSDIR が読み込み専用であるなら (おそらく CD-ROM からマウントされるなら)、役に立ちます。
DISTDIR
distfile を見つけて/置く場所で、通常、 PORTSDIRdistfiles/
PACKAGES
package ターゲットでのみ使用されます。 package ツリーのための基本ディレクトリで、通常、 PORTSDIRpackages/。このディレクトリが存在するなら、package ツリーは、(部分的に) 構築されます。このディレクトリは、存在する必要はありません。存在しないなら、package は、カレントディレクトリに置かれるか、または次の 1 つで定義することができます。
PKGREPOSITORY
package を置くディレクトリ。
PKGFILE
package のフルパス。
LOCALBASE
既存のものがインストールされ、依存状態 (通常、 /usr/local) を解決するとき、ファイルを検索するための場所。
PREFIX
この port をインストールする場所 (通常、 LOCALBASE と同じに設定)。
MASTER_SITES
ローカルマシンに配布ファイルが存在しない場合、最初に取得しに行くサイトです。
PATCH_SITES
ローカルマシンにパッチファイルが存在しない場合、最初に取得しに行くサイトです。
MASTER_SITE_FREEBSD
これが設定されている場合、すべてのファイルを FreeBSD のマスタサイトに取りに行きます。
MASTER_SITE_OVERRIDE
すべてのファイルとパッチについて、まずこれらのサイトに行って取得を試みます。
MASTER_SITE_BACKUP
すべてのファイルとパッチについて、最後にこれらのサイトに行って取得を試みます。
RANDOMIZE_MASTER_SITES
ランダムな順序でダウンロード位置を試みます。
MASTER_SORT
ユーザの供給されたパターンに従ってダウンロード位置をソートします。例:
.dk .sunet.se .se dk.php.net .no .de heanet.dl.sourceforge.net
MASTER_SITE_INDEX
FreeBSD クラスタで構築された INDEX の取得先 ( fetchindex ターゲット用) です。デフォルトは、 http://www.FreeBSD.org/ports/ です。
FETCHINDEX
INDEX を取得するコマンド ( fetchindex ターゲット用) です。デフォルトは、“ fetch -am”です。
NOCLEANDEPENDS
これが定義されている場合、依存関係にある port に対して clean を再帰的に適用しません。
FETCH_CMD
ファイルを取得する際に使用するコマンドです。通常は、 fetch(1) です。
FORCE_PKG_REGISTER
これが設定されている場合、既にシステムに存在する package 登録情報を上書きします。
MOTIFLIB
libXm.{ a, so}の位置を指定します。
INTERACTIVE
これが設定されている場合、ユーザ入力が必要な port にのみ動作します。
BATCH
これが設定されている場合、100% 自動的にインストールできる port にのみ動作します。
DISABLE_VULNERABILITIES
定義されている場合、新規 port のインストール時に portaudit(1) ( ports/ports-mgmt/portaudit) を使ったセキュリティ脆弱性のチェックを行ないません。
NO_IGNORE
定義されるなら、< FORBIDDEN>としてマークされる port のインストールを可能にします。 port フレームワークのデフォルトの振る舞いは、禁じられた port のインストールが試みられるとき、中止になることです。もちろん、これらの port は、期待されるように動作しないかもしれませんが、利用者が何をしているかを本当に知っているなら、そして禁じられた port のインストールに関して確信しているなら、 NO_IGNORE を行ってください。
NO_CHECKSUM
定義されるなら、port のチェックサムの照合をスキップします。
TRYBROKEN
定義されるなら、たとえ< BROKEN>としてマークされても、port を構築することを試みます。
PORT_DBDIR
OPTIONS の設定の結果が格納されるディレクトリ。デフォルトは、 /var/db/ports です。 OPTIONS が設定されている場所の各 port は、単一のファイル options を含む、ユニークに指定されたサブディレクトリがあります。

関連ファイル

/usr/ports
デフォルトの port ディレクトリ。
/usr/ports/Mk/bsd.port.mk
肝心要 (かんじんかなめ)。

関連項目

make(1), pkg(8), portsnap(8)

次は、port コレクションの一部です:

portaudit(1), portlint(1) The FreeBSD Handbook.

http://www.FreeBSD.org/ports (すべての port の検索可能なインデックス)

歴史

port コレクションは、 FreeBSD 1.0 で登場しました。それは、それ以来 NetBSDOpenBSD に展開されました。

作者

このマニュアルページは、 David O'Brien によって始めて作成されました。

バグ

port の文書は、次の 4 つの部分に分割されています— /usr/ports/Mk/bsd.port.mkThe Porter's Handbook NsThe FreeBSD Handbook の“Packages and Ports”セクションとこのマニュアルページ。
November 18, 2012 FreeBSD