Table of Contents
pkgsrc を使ってインストールされたファイルは、ベースシステムの
/usr
ディレクトリー以下と似た配置で体系化されていますが、
細かい点がいくらか異なっています。これは、pkgsrc がもともと FreeBSD
から派生したものであり、FreeBSD のファイルシステム階層に準じていたからです。
その後は NetBSD の影響を大きく受けています。
ただし、pkgsrc をどのオペレーティングシステムで使っているかにかかわらず、
pkgsrc の配置は同じになると思っていただいて結構です。
pkgsrc 用のルートディレクトリーは、主に四つあり、いずれも
bootstrap/bootstrap
スクリプトで設定可能です。
pkgsrc を root としてインストールした場合の、
標準の場所は以下のとおりです。
LOCALBASE= /usr/pkg PKG_SYSCONFBASE= /usr/pkg/etc VARBASE= /var PKG_DBDIR= /var/db/pkg
非特権モード (pkgsrc を root 以外のユーザーとしてインストールした場合) での、標準の場所は以下のとおりです。
LOCALBASE= ${HOME}/pkg PKG_SYSCONFBASE= ${HOME}/pkg/etc VARBASE= ${HOME}/pkg/var PKG_DBDIR= ${HOME}/pkg/var/db/pkg
この四つのディレクトリーの使用目的とその内容は、 以下で説明します。
LOCALBASE
は、ベースシステムの
/usr
ディレクトリーに対応します。
ファイルがインストールされる場所として“主たる”ディレクトリーであり、
bin
,
include
, lib
,
share
,
sbin
などのよく知られたサブディレクトリーがあります。
VARBASE
は、ベースシステムの
/var
に対応します。
一部のプログラム (特に、ゲームとネットワークデーモン) は、
通常の操作時に、このディレクトリーへの書き込み権限を持っている必要があります。
PKG_SYSCONFDIR
は、ベースシステムの
/etc
に対応します。
pkgsrc 自体の設定ファイル mk.conf
のほか、
個々のパッケージの設定ファイルを含みます。
pkgsrc を通常にインストールした場合、${LOCALBASE}
以下には以下のディレクトリーが存在します。
bin
エンドユーザーが直接使うことを前提とした、 実行形式のプログラムを含みます。
emul
特に NetBSD 用の、 他の各種オペレーティングシステムのエミュレーション層用のファイルを含みます。
etc
(${PKG_SYSCONFDIR}
の通常の場所)設定ファイルを含みます。
include
C および C++ プログラミング言語用のヘッダーを含みます。
info
各種パッケージの GNU info ファイルを含みます。
lib
静的共有ライブラリーを含みます。
libdata
インストール後に変更されることがないデータファイルを含みます。
変更されることのあるデータファイルは
${VARBASE}
以下に置かれます。
libexec
補助プログラムやネットワークデーモンなど、 エンドユーザーが直接使うことを前提としないプログラムを含みます。
libexec/cgi-bin
web サーバーが CGI スクリプトとして実行することを前提としたプログラムを含みます。
man
(${PKGMANDIR}
の通常の値)マニュアルページ形式の短いドキュメンテーションを含みます。
sbin
スーパーユーザーだけが使うことを前提としたプログラムを含みます。
share
インストール後に変更されることがないプラットフォーム独立のデータファイルを含みます。
share/doc
パッケージに附属するドキュメンテーションファイルを含みます。
share/examples
パッケージに附属する例ファイルを含みます。
設定ファイルの原本も、インストール時にここに保存されたうえで
${PKG_SYSCONFDIR}
へコピーされます。
share/examples/rc.d
rc.d スクリプトファイルの原本を含みます。
var
(${VARBASE}
の通常の場所)インストール後に変更されることのあるファイルを含みます。