5.4. バイナリ packages の利用

現在 FreeBSD は、新しい packages 管理ツールへと移行中です。 PKGng による FreeBSD のサードパーティ製ソフトウェア管理の利用を検討してください。 この節では、伝統的なバイナリ packages の管理方法について説明します。 pkgng 形式に移行していないユーザ向けです。

この package 管理方法では、package データベース用ディレクトリの /var/db/pkg を、 インストールされたソフトウェアのバージョンや、 各アプリケーションとともにインストールされたファイルを管理するのに用います。 いくつかのユーティリティは、 この管理用のデータベースのディレクトリを用いて、 バイナリ package を管理します。 これらのコマンドの名前は pkg_ から始まります。 この節では、バイナリ package をインストールしたり、削除したり、 バイナリ package の情報を収集する方法の概要を説明します。 各コマンドには、 操作をカスタマイズするために多くのオプションが用意されています。 詳細や利用方法の例の一覧については、 マニュアルページをご覧ください。

5.4.1. package のインストール

ローカルファイルやネットワーク上のサーバから FreeBSD のバイナリ package をインストールするには、 pkg_add(1) を使用してください。 FreeBSD のメディアは、ローカル packages のソースを提供しているので、 ネットワーク接続をする必要はありませんが、 最新のバイナリ packages を含んでいない可能性があります。 package は FreeBSD の package サーバで常に再構築されています。 package サーバからインストールする場合には、 pkg_add(1)-r (remote の意味) を付け加えてください。 このオプションを指定して実行すると、 自動的に適切なオブジェクトの形式とリリースを判断し、 package サーバから package をダウンロードしてインストールします。 ユーザはこのほかに何もする必要はありません。

# pkg_add -r lsof

この例では、lsof は、 バージョン番号を指定しないで用いられています。 リモートでダウンロードを行うときにバージョンは含まれないためです。 別の FreeBSD FTP ミラーサイトを使うには、PACKAGESITE 環境変数に利用したいサイトを設定してください。 pkg_add(1) は、FTP_PASSIVE_MODE, FTP_PROXY, FTP_PASSWORD といった環境変数を使う fetch(3) を用いてファイルをダウンロードします。 ファイアウォールの内側であったり、 FTP/HTTP プロキシを使う場合には、 これらの環境変数を設定することになります。 FTP に関連した環境変数の一覧については fetch(3) をご覧ください。

注記:

FreeBSD-CURRENT または、FreeBSD-STABLE を使用している場合、 pkg_add(1) は自動的に最新版のアプリケーションをダウンロードします。 -RELEASE を使用している場合には、 そのバージョンのリリース時にビルドされた package をダウンロードします。 この設定は PACKAGESITE を上書きすることで変更できます。 たとえば、FreeBSD 9.1-RELEASE を使用している場合には、 pkg_add(1) を実行するとデフォルトで ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9.1-release/Latest/. から packages をダウンロードします。 pkg_add(1) を使って FreeBSD 9-STABLE の packages をダウンロードするには、 PACKAGESITE 環境変数を ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9-stable/Latest/ に設定してください。

package は .tbz という拡張子を持つファイルとして配布されており、 や FreeBSD DVD の /packages ディレクトリにあります。 packages ディレクトリのレイアウトは、 /usr/ports ツリーのものと同様です。 カテゴリごとにディレクトリがあり、All ディレクトリにはすべての package があります。

package システムのディレクトリ構造は ports のレイアウトと同一です。 両者が組み合わさって package/port システムが構成されます。

5.4.2. packages の管理

インストールされている packages の一覧と説明を表示するには、pkg_info(1) を使ってください。

# pkg_info
colordiff-1.0.13    Tool to colorize diff output
docbook-1.4         Meta-port for the different versions of the DocBook DTD
...

インストールされているすべての packages のバージョンを要約して表示し、 インストールされている package のバージョンを、 ローカルにインストールされている ports ツリーのバージョンと比較するには、pkg_version(1) を使ってください。

# pkg_version
colordiff                   =
docbook                     =
...

2 列目の記号は、インストールされているバージョンの ローカル ports ツリーのバージョンに対する新旧を表します。

記号意味
=インストールされている package のバージョンは、 ローカル ports ツリーのものと一致しています。
<インストールされている package のバージョンは、 ローカルにある ports ツリーのものより古いです。
>インストールされている package のバージョンは、 ローカルにある ports ツリーのものより新しいです。 すなわち、ローカルの ports ツリーはおそらく古くなっています。
?インストールされた package を ports インデックスの中に見つけることができません。 インストールされた port が Ports Collection から削除されたり、 名前が変更された場合などに起こります。
*複数のバージョンの package が存在します。
!インストールされた package はインデックス中に存在しますが、何らかの理由で、 インストールされた package のバージョン番号をインデックス中のエントリと比較できません。

5.4.3. package の削除

インストールされている package を削除するには、 pkg_delete(1) を使ってください。

# pkg_delete xchat-2.8.8_1

pkg_delete(1) は package 名とバージョン番号の両方を必要とします。 そのため、先ほどの例において xchat-2.8.8_1xchat とした場合には動作しません。 pkg_version(1) を使ってインストールされている package のバージョンを調べるか、ワイルドカードを使ってください。

# pkg_delete xchat\*

上の例では、名前が xchat で始まるすべての packages が削除されます。

本文書、および他の文書は ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ からダウンロードできます。

FreeBSD に関する質問がある場合には、 ドキュメント を読んだ上で <questions@FreeBSD.org> まで (英語で) 連絡してください。

本文書に関する質問については、 <doc@FreeBSD.org> まで電子メールを (英語で) 送ってください。