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

名称

pkgパッケージを操作するためのユーティリティ

書式

pkg < command>

pkg add [ -f]< pkg.txz>

pkg -N

pkg bootstrap [ -f]

解説

pkg は、パッケージ管理ツールです。それは、 ports(7) からインストールされたローカルのパッケージを管理し、リモートのリポジトリからパッケージをインストール/アップグレードするために使用されます。

後方互換性がない問題を避けるために、実際の pkg(8) ツールは、基本システムにインストールされません。最初に起動されたとき、 pkg は、リモートのリポジトリから実際の pkg(8) をブートストラップします。

pkg < command>
pkg(8) がまだインストールされていないなら、それは、取って来られ、検証され、インストールされた署名があり、次に、それにオリジナルのコマンドを転送します。既にインストールされているなら、要求されたコマンドは、実際の pkg(8) に転送されます。
pkg add [ -f]< pkg.txz>
リモートから取って来る代わりにローカルのパッケージから pkg(8) をインストールします。 pkg.txz.sig ファイルが存在し、署名のチェックが有効にされるなら、署名は、パッケージをインストールする前に検証されます。 -f フラグが指定されるなら、 pkg(8) は、それが既にインストールされている場合に関係なく、インストールされます。
pkg -N
ブートストラップしません、単に pkg(8) が実際にインストールされているかどうか判断します。そうであるなら、0 とインストールされたパッケージの数を返し、そうでなければ、1 を返します。
pkg bootstrap [ -f]
ブートストラップすることを試み、それがインストールされた後に、 pkg(8) に何も転送しません。 -f フラグが指定されるなら、 pkg(8) は、それが既にインストールされている場合に関係なく、取って来られ、インストールされます。

設定

設定は、それがリポジトリの設定ファイルまたはグローバルな設定ファイルにあるかどうかで異なります。

次の形式で /etc/pkg/FreeBSD.conf に、リポジトリの設定を格納することができます:

FreeBSD: { 
  url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest", 
  mirror_type: "srv", 
  signature_type: "none", 
  fingerprints: "/usr/share/keys/pkg", 
  enabled: yes 
}
url
環境変数PACKAGESITE を参照してください。
mirror_type
環境変数MIRROR_TYPE を参照してください。
signature_type
環境変数SIGNATURE_TYPE を参照してください。
fingerprints
環境変数FINGERPRINTS を参照してください。
enabled
このリポジトリが使用されるべきかどうか定義します。有効な値は、 yes, true, 1, no, false, 0 です。

次の形式で /usr/local/etc/pkg.conf グローバルな設定を格納することができます:

PACKAGESITE: "pkg+http://pkg.FreeBSD.org/${ABI}/latest", 
MIRROR_TYPE: "srv", 
SIGNATURE_TYPE: "none", 
FINGERPRINTS: "/usr/share/keys/pkg", 
ASSUME_ALWAYS_YES: "yes" 
REPOS_DIR: ["/etc/pkg", "/usr/local/etc/pkg/repos"]

それぞれの変数について、 環境変数 を参照してください。

環境変数

使用される pkg.conf ファイルからの設定を上書きするために次の環境変数を設定することができます。
MIRROR_TYPE
これは、どのミラータイプが使用されるべきかを定義します。有効な値は、 SRV, HTTP, NONE です。
ABI
これは、パッケージがインストールされる ABI を定義します。デフォルト ABI は、 /bin/sh から決定されます。
ASSUME_ALWAYS_YES
設定されるなら、 pkg(8) をブートストラップするとき、確認は、求められません。
SIGNATURE_TYPE
FINGERPRINTS に設定されるなら、 pkg(8) をブートストラップするとき、署名は、既知の証明書の指紋に対して要求され、有効されます。
FINGERPRINTS
SIGNATURE_TYPEFINGERPRINTS に設定されるなら、この値は、既知の指紋があるところで、ディレクトリパスに設定されるべきです。
PACKAGESITE
pkg(8) と他のパッケージが取って来られる URL。
REPOS_DIR
リポジトリ設定ファイルのために検索されるべきディレクトリのコンマで区切られたリスト。

関連ファイル

設定は、リストされた順序でファイルから読み込まれます。 REPOS_DIR を設定することによって、このパスを変更することができます。最後の有効にされたリポジトリは、 pkg(8) のブートストラップのために使用されたリポジトリです。
/usr/local/etc/pkg.conf
/etc/pkg/FreeBSD.conf
/usr/local/etc/pkg/repos/*.conf

使用例

いくつかの例は、ここにリストされます。利用可能なコマンドの完全なリストは、いったん、それがブートストラップされると、 pkg(8) で利用可能です。

パッケージを探索します:

$ pkg search perl

パッケージをインストールします:

% pkg install perl

インストールされたパッケージをリストします:

$ pkg info

リモートのリポジトリからアップグレードします:

% pkg upgrade

自動的でないパッケージをリストします:

$ pkg query -e '%a = 0' %o

リスト自動的なパッケージをリストします:

$ pkg query -e '%a = 1' %o

インストールされたパッケージを削除します:

% pkg delete perl

必要でない依存性を削除します:

% pkg autoremove

削除することから autoremove (自動削除) を防ぐ、自動的なことから自動的でないパッケージに変更します:

% pkg set -A 0 perl

いったん、それに依存するものがないなら、削除されることを許可する autoremove (自動削除) を行なう、自動的でないことから自動的なパッケージに変更します:

% pkg set -A 1 perl

インストールされたパッケージからパッケージファイルを作成します:

% pkg create -o /usr/ports/packages/All perl

どのパッケージがファイルをインストールしたか判断します:

$ pkg which /usr/local/bin/perl

セキュリティ勧告のためにインストールされたパッケージを監査します:

$ pkg audit

不一致のチェックサムのためのインストールされたパッケージをチェックします:

# pkg check -s -a

失われた依存性をチェックします:

# pkg check -d -a

関連項目

ports(7), pkg(8)

歴史

pkg コマンドは、 FreeBSD 9.1 ではじめて登場しました。それは、ツール pkg_add(1), pkg_info(1)pkg_create(1) の pkg_install プログラム一式を置き換え、 FreeBSD 10.0 のデフォルトのパッケージツールになります。
December 12, 2013 FreeBSD