pkg_info(1)

名称
pkg_info - ソフトウェア配布 package の情報を表示するプログラム

書式
pkg_info [-cdDfgGiIkLmopPqrRsvVx] [-e package] [-l prefix] [-t template] [pkg-name ...] pkg_info [-q] -W filename pkg_info [-q] -O origin pkg_info -a [flags]

解説
pkg_info コマンドは、 pkg_create(1) によりファイルにパックされた package (訳注: FreeBSD の package system におけるパッケージを指す場合にこう表記します) か、 pkg_add(1) によりすでにシステムにインストールされた package に関し、 情報を表示するために用いられます。

オプション
以下のコマンドラインオプションが提供されています。

pkg-name ...
    指定された package が表示されます。指定されるのはイントール済みの package の名前か、package 配布ファイルへのパス、FTP 可能な package への URL のいずれかになります。

-a  現在インストールされているすべての package を表示します。

-v  饒舌な出力に切り替えます。

-p  各 package のインストール用 prefix を表示します。

-q  レポートヘッダのような情報を出力する際に余分な出力を “省略” し、 生の情報のみ出力します (基本的に人が読みやすいものではありません)。

-c  各 package の (一行) コメントフィールドを表示します。

-d  各 package の長い説明フィールドを表示します。

-D  各 package のインストールメッセージファイルを表示します。

-f  各 package の packing list instructions を表示します。

-g  記録されたチェックサムに合致しないファイルを表示します。

-i  もしあれば、各 package のインストールスクリプトを表示します。

-I  各 package のインデックス行を表示します。このオプションは他の package 書式整形オプションの全てに優先します。

-k  もしあれば、各 package のアンインストールスクリプト を表示します。

-r  もしあれば、各 package の requirements スクリプトを表示します。

-R  (指定した) 各 package を必要とする package のうちで、インストールされて いるもののリストを表示します。

-m  もしあれば、各 package の mtree ファイルを表示します。

-L  各 package に含まれるファイルを表示します。 これは packing list をただ見るのとは異なり、 生成されるすべてのフルパス名が表示されます。

-s  各 package 中のインストールされたファイルの総容量を表示します。

-o  package 生成時に記録された “起源” パスを表示します。 このパスは、 生成された package から、 FreeBSD Ports Collection における元の port の場所を与えることを意図しています。

-G  表示する package 選択時に、 pkg-name 中のシェルグロブパターン展開しません (デフォルトでは pkg_info は、 pkg-name 中のシェルグロブパターンを展開します)。

-W  指定した filename 引数に対して、これが属する package を表示します。 ファイルが現在のディレクトリに無い場合で、絶対パス指定でない場合、 which(1) を使用して PATH が検索されます

-O  指定された origin 引数に対し、これを起源として持つ全パッケージを表示します。

-x  pkg-name を正規表現として扱い、 名前が正規表現に適合する package の情報のみを表示します。 複数の正規表現を指定可能です。 この場合、リスト少なくともひとつの正規表現に適合する package を pkg_info は表示します。

-e pkg-name
    pkg-name で示される package が現在インストールされている場合には 0 を 返し、そうでなければ 1 を返します。 このオプションにより、スクリプトから (おそらく必要不可欠な) 他の package の存在を簡単に確認することが可能になります。

-l str
    各 information category header ( -q を参照) の前に str を付加します。 これは本来、package に関する多くの information fields を一度に 得たいが、そのごっちゃになった出力で混乱したくない、という フロントエンドプログラムのためにあります。 このオプションで各 field の先頭に特別な文字列を付け加えることが できます。

-t template
    “作業場所” を作成する際に、 mktemp(3) への入力として template を用います。 これはデフォルトでは /tmp/instmp.XXXXXX という文字列ですが、 /tmp ディレクトリの容量が制限されているような状況では 変更する必要があるかもしれません。 mktemp(3) が一意の ID を用いるために必要な `X' の文字をいくつか残しておく ことを忘れないでください。
    注: pkg_info は各 package からとても小さな情報しか 抽出しないので、実際にはこのオプションは必要ありません。 溢れさせるには非常に小さな /tmp でなければならないでしょう。

-V  packing list の書式のバージョン番号を表示します。

-P  package ツールのリビジョン番号を表示します。

技術詳細
package の情報は、コマンドラインから指定された package のファイル名か、 /var/db/pkg/<pkg-name> にあるすでにインストールされた package の情報から抽出されます。

環境変数
PKG_TMPDIR で、 pkg_info が作業用ファイルを生成するディレクトリを指定します。 この変数が設定されていない場合、 TMPDIR が用いられます。両方とも設定されていない場合、 組み込みのデフォルトディレクトリが用いられます。

PKG_DBDIR で、 インストールされた package についての代替的なデータベースの位置を指定します。

関連ファイル
/var/tmp
    環境変数 PKG_TMPDIR, TMPDIR がともに設定されていない場合、もしくはこれらのディレクトリの空き領域が 十分でない場合に用いられます。
/tmp
    /var/tmp が存在しないか、十分な空き領域を持たない場合に、次の選択肢として 用いられます。
/usr/tmp
    /tmp が適切でない場合の最後の選択肢です。
/var/db/pkg
    インストールされた package についてのデータベースのデフォルトの 位置です。

関連項目
pkg_add(1), pkg_create(1), pkg_delete(1), pkg_version(1), mktemp(3), mtree(8)

作者
Jordan Hubbard

協力者
John Kohl <jtk@rational.com>

バグ
まだあるはずです。