スポンサーリンク

PORTS(7) FreeBSD 多方面の情報マニュアル PORTS(7)

名称

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

解説

FreeBSD ports コレクションによって、ユーザや管理者は簡単にアプリケーショ ンをインストールすることができます。 port はそれぞれ、オリジナルのソース コードを BSD 上でコンパイルして実行させるために必要なパッチのすべてを含ん でいます。アプリケーションのコンパイルは、 port のディレクトリで make build と入力するだけで簡単にできます。 port の Makefile は、ローカルディ スクからもしくは FTP を使って、自動的にアプリケーションのソースコードを取 得 (fetch) して、自分のシステムでそれを展開して、パッチを当て、コンパイル します。すべてが順調に進んだ場合、 make install を実行することにより、ア プリケーションがインストールされます。

インストールされたシステムよりも新しい ports を、 FreeBSD リポジトリから ダウンロードして使用できます。ただし、最初に適切な ‘‘アップグレードキッ ト’’ を http://www.FreeBSD.org/ports/ から取得してインストールすることが 重要です! 新しい ports をダウンロードするときには、 portcheckout(1) スク リプト (もちろんこれも port です!) が役立つでしょう。

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/) に目 を通して下さい。

ターゲット

ターゲットのいくつかは、サブディレクトリを再帰的に make して行きます。こ れにより、例えば、 ‘‘biology’’ の port すべてをインストールすることができ ます。再帰的に make を行なうターゲットは、 build, checksum, clean, configure, depends, extract, fetch, install, package です。

次のターゲットは、それぞれすぐ手前のターゲットによって順に自動的に実行さ れます。すなわち、 build は、 (必要があれば、) install によって実行されま す。以下のターゲットそれぞれについて、同様のルールが fetch まで順次適用さ れます。通常は、ターゲットとして、 install を指定するだけでよいはずです。

       config

dialog(1) を使用して、この port の OPTIONS を設定します。

fetch
MASTER_SITES
PATCH_SITES でリストされたサイトから、この port を構築するために必要なファイルすべてを取得 (fetch) しま す。 FETCH_CMD, MASTER_SITE_OVERRIDE, MASTER_SITE_BACKUP を参 照して下さい。

checksum
取得した distfile のチェックサムが port で動作確認されたものと 一致するかどうかを検証します。 NO_CHECKSUM を定義することで、 このステップを飛ばすことができます。

depends
現在の port と依存関係にある port をインストール (もしくは、必 要がある場合のみコンパイル) します。ターゲット extract もしく は fetch により呼び出された場合、 fetch-depends, build-depends などとしてひとつずつ実行されます。 NO_DEPENDS を定義すること で、このステップを飛ばすことができます。

extract
distfile を作業用ディレクトリに展開します。

patch
port に必要なパッチすべてを適用します。

configure
port を構成 (configure) します。 port によっては、この段階で質 問してくるものもあります。 INTERACTIVEBATCH を参照して下さ い。

build
port を構築します。これはターゲット all を呼び出すことと同じで す。

install
port をインストールし、この port をインストールしたことを package (訳注: FreeBSD の package system におけるパッケージを 指す場合にこう表記します) システムに登録します。このターゲット は、実際に必要なことすべてを行なってくれます。

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

showconfig
この port の OPTIONS 設定を表示します。

showconfig-recursive
この port と依存するものの OPTIONS 設定を表示します。

rmconfig
この port の OPTIONS 設定を削除します。

rmconfig-recursive
この port と依存するものの OPTIONS 設定を削除します。

config-conditional
すでに OPTIONS 設定を持っている port をスキップします。

fetch-list
この port を構築するために取得されるファイルのリストを表 示します。

fetch-recursive
この port と依存するものの distfile を取得します。

fetch-recursive-list
fetch-recursive
で取得されるファイルのリストを表示しま す。

pretty-print-run-depends-list, pretty-print-build-depends-list
コンパイル依存 port リストと実行依存 port リストを表示し ます。また、これらの依存 port リストが依存する 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 のインストール済 ports すべてを、システム から削除します。

package
この port のバイナリ package を作成します。まだインス トールされていなかった場合、その port をインストールしま す。 package は .tbz ファイルであり、その port を他のマ シンに pkg_add(1) を使ってインストールする際に使用するこ とができます。 PACKAGES で指定されたディレクトリが存在し なければ、package はカレントディレクトリに置かれます。 PKGREPOSITORYPKGFILE とを参照して下さい。

package-recursive
package
と似ていますが、依存する各 port に対しても package を作成します。

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 の実行依存関係を調べます) などの make(1) 変 数や、その逆の意味をもつ xname, xkey などで指定されたパ ターンで検索します。例えば、次のように入力します:

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

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

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

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

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

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

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

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

       describe

INDEX ファイル中で使用される、各 port の 1 行説明を生成 します。

index
/usr/ports/INDEX
を作成します。これは、 pretty-print-* および search のターゲットで使用されます。 index ター ゲットを実行することで、 INDEX ファイルが ports ツリーに 対して最新であることを保証します。

fetchindex
FreeBSD クラスタから INDEX ファイルを取得します。

環境変数

これら環境変数のすべてを変更することができます。

       PORTSDIR

port ツリーの場所を指定します。これは FreeBSD と OpenBSD で は /usr/ports で、 NetBSD では /usr/pkgsrc です。

WRKDIRPREFIX
一時ファイルを作成する場所です。 PORTSDIR が読み込み専用の 場合 (おそらく CD-ROM をマウントした場合) 有用です。

DISTDIR
distfile を探す場所であり、取得した distfile を置く場所で す。通常は PORTSDIR の下の distfiles/ です。

PACKAGES
ターゲット package でのみ使用されます。 package ツリーの ベースディレクトリです。通常は、 PORTSDIR の下の packages/ です。このディレクトリが存在する場合、package ツリーが (部 分的に) 構築されます。このディレクトリは存在する必要はあり ません。存在しない場合、package はカレントディレクトリに置 かれます。もしくは、以下のいずれか一方を定義することができ ます。

PKGREPOSITORY
package を置くディレクトリ。

PKGFILE
その package のフルパス。

PREFIX
一般に、成果物をどこにインストールするかを指定します (通常 は /usr/local か、 /usr/X11R6 です)。

MASTER_SITES
ローカルマシンに配布ファイルが存在しない場合、最初に取得し に行くサイトです。

PATCH_SITES
ローカルマシンにパッチファイルが存在しない場合、最初に取得 しに行くサイトです。

MASTER_SITE_FREEBSD
これが設定されている場合、すべてのファイルを FreeBSD のマス タサイトに取りに行きます。

MASTER_SITE_OVERRIDE
すべてのファイルとパッチについて、まずこれらのサイトに行っ て取得を試みます。

MASTER_SITE_BACKUP
すべてのファイルとパッチについて、最後にこれらのサイトに 行って取得を試みます。

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 にのみ動作します。

OPTIONS
定義されている場合、この port が受け付ける WITH_* オプショ ンのリストです。 注意: OPTIONS が実際にちゃんと動作するに は、 WITH_* 変数をテストし始める前に bsd.port.pre.mk をイン クルードする必要があります。

DISABLE_VULNERABILITIES
定義されている場合、新規 port のインストール時に portaudit(1) を使ったセキュリティ脆弱性のチェックを行ないま せん。

関連ファイル

       /usr/ports

デフォルトの port ディレクトリ (FreeBSD と OpenBSD) 。
/usr/pkgsrc
デフォルトの port ディレクトリ (NetBSD) 。
/usr/ports/Mk/bsd.port.mk
ご本尊様であらしゃいます。

関連項目

make(1), pkg_add(1), pkg_create(1), pkg_delete(1), pkg_info(1), pkg_version(1)

次に示すものは ports コレクションの一部です:

pib(1), portcheckout(1), portlint(1)

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

作者

このマニュアルページは、もともとは David O’Brien によるものです。

歴史

ports コレクションは、 FreeBSD 1.0 で登場しました。その後、 NetBSD と OpenBSD にも広まりました。

バグ

port に関する文書が 4 か所に分散されてしまっています。 /usr/ports/Mk/bsd.port.mkThe Porter’s HandbookThe FreeBSD Handbook の ‘‘Packages and Ports’’ セクションと、このマニュアルページの 4 つです。

FreeBSD 10.0 February 8, 2005 FreeBSD 10.0

スポンサーリンク