5.4. バイナリ packages の利用
戻る | 第5章 アプリケーションのインストール - packages と ports | 次へ

## 5.4. バイナリ packages の利用

寄稿: Lee Chern [FAMILY Given].

FreeBSD には packages を管理するツールが複数あります。

- `sysinstall` からシステムに packages をインストールしたり削除できます。 また、インストールされた packages や利用可能な packages の一覧を表示できます。 詳細については、「Packages のインストール」 を参照してください。

- この章では、コマンドラインの package 管理ツールについて説明します。

### 5.4.1. package のインストール

pkg_add(1) は、ローカルファイルやネットワーク上のサーバから FreeBSD バイナリ package をインストールするためのユーティリティです。

例5.1 手動で package をダウンロードしてローカルからインストールする
`#` `ftp -a `ftp2.FreeBSD.org`` Connected to ftp2.FreeBSD.org. 220 ftp2.FreeBSD.org FTP server (Version 6.00LS) ready. 331 Guest login ok, send your email address as password. 230- 230- This machine is in Vienna, VA, USA, hosted by Verio. 230- Questions? E-mail freebsd@vienna.verio.net. 230- 230- 230 Guest login ok, access restrictions apply. Remote system type is UNIX. Using binary mode to transfer files. `ftp>` `cd /pub/FreeBSD/ports/packages/sysutils/` 250 CWD command successful. `ftp>` `get lsof-4.56.4.tgz` local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz 200 PORT command successful. 150 Opening BINARY mode data connection for 'lsof-4.56.4.tgz' (92375 bytes). 100% |**************************************************| 92375 00:00 ETA 226 Transfer complete. 92375 bytes received in 5.60 seconds (16.11 KB/s) `ftp>` `exit` `#` `pkg_add `lsof-4.56.4.tgz``

FreeBSD CD-ROM セットのような、ローカルな packages がない場合は、 pkg_add(1) に `-r` オプションを付け加えてください。 このオプションを指定して実行すると、 自動的に適切なオブジェクトの形式とリリースを判断し、 package を FTP サイトからダウンロードしてインストールします。 ユーザはこのほかに何もする必要はありません。

`#` `pkg_add -r `lsof``

別の FreeBSD FTP ミラーサイトを使うには、 `PACKAGESITE` 環境変数に利用したいサイトを設定してください。 pkg_add(1) は、`FTP_PASSIVE_MODE`, `FTP_PROXY`, `FTP_PASSWORD` といった環境変数を使う fetch(3) を用いてファイルをダウンロードします。 ファイアウォールの内側であったり、 FTP/HTTP プロキシを使う場合には、 これらの環境変数を設定することになります。 環境変数の一覧については fetch(3) をご覧ください。 また、上の例で `lsof-4.56.4` の代わりに `lsof` を使っていることに注意してください。 リモートフェッチ機能を使用する場合には、 package のバージョン番号を取り除かなければなりません。

### 注記:

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

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

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

### 5.4.2. packages の管理

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

`#` `pkg_info` colordiff-1.0.13 A tool to colorize diff output docbook-1.2 Meta-port for the different versions of the DocBook DTD ...

pkg_version(1) は、インストールされている packages のバージョンを要約して表示します。 また、package のバージョンを、 現在の ports ツリーのバージョンと比較します。

`#` `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-1.7.1``

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

`#` `pkg_delete `xchat\*``

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

### 5.4.4. その他

インストールされた各 package のファイルの一覧や説明といった、 package に関するすべての情報は、 `/var/db/pkg` ディレクトリ以下に置かれています。

戻る | 上に戻る | 次へ
5.3. ソフトウェアの探し方 | ホーム | 5.5. pkgng によるバイナリ package の管理

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

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