現在 FreeBSD は、新しい packages 管理ツールへと移行中です。
最新リリースのユーザは、
PKGng による FreeBSD
のサードパーティ製ソフトウェア管理の利用を検討してください。
pkgng ツールに移行していないユーザは、
この節で説明するツールを用いて package のデータベースを管理してください。
sysinstall ユーティリティを用いると、
インストール後の package 管理を簡単にできます。
すべての package のインストールファイルは、
package のデータベース用のディレクトリである
/var/db/pkg
に保存されます。
pkg_add(1) は、ローカルファイルやネットワーク上のサーバから FreeBSD バイナリ package をインストールするためのユーティリティです。
#ftp -a ftp2.FreeBSD.orgConnected 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.tgzlocal: 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 システムが構成されます。
pkg_info(1) は、インストールされている packages の一覧と説明を表示します。
#pkg_infocolordiff-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_versioncolordiff = docbook = ...
2 列目の記号は、インストールされているバージョンの ローカル ports ツリーのバージョンに対する 新旧を表します。
| 記号 | 意味 |
|---|---|
| = | インストールされている package のバージョンは、 ローカル ports ツリーのものと一致しています。 |
| < | インストールされている package のバージョンは、 ローカルにある ports ツリーのものより古いです。 |
| > | インストールされている package のバージョンは、 ローカルにある ports ツリーのものより新しいです。 すなわち、ローカルの ports ツリーはおそらく古くなっています。 |
| ? | インストールされた package を ports インデックスの中に見つけることができません。 インストールされた port が Ports Collection から削除されたり、 名前が変更された場合などに起こります。 |
| * | 複数のバージョンの package が存在します。 |
| ! | インストールされた package はインデックス中に存在しますが、何らかの理由で、 インストールされた 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 が削除されます。
本文書、および他の文書は ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ からダウンロードできます。
FreeBSD に関する質問がある場合には、
ドキュメント を読んだ上で
<questions@FreeBSD.org> まで (英語で) 連絡してください。
本文書に関する質問については、
<doc@FreeBSD.org> まで電子メールを (英語で) 送ってください。