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}
の通常の場所)設定ファイルを含みます。
includeC および C++ プログラミング言語用のヘッダーを含みます。
info各種パッケージの GNU info ファイルを含みます。
lib静的共有ライブラリーを含みます。
libdataインストール後に変更されることがないデータファイルを含みます。
変更されることのあるデータファイルは
${VARBASE} 以下に置かれます。
libexec補助プログラムやネットワークデーモンなど、 エンドユーザーが直接使うことを前提としないプログラムを含みます。
libexec/cgi-binweb サーバーが CGI スクリプトとして実行することを前提としたプログラムを含みます。
man (${PKGMANDIR}
の通常の値)マニュアルページ形式の短いドキュメンテーションを含みます。
sbinスーパーユーザーだけが使うことを前提としたプログラムを含みます。
shareインストール後に変更されることがないプラットフォーム独立のデータファイルを含みます。
share/docパッケージに附属するドキュメンテーションファイルを含みます。
share/examplesパッケージに附属する例ファイルを含みます。
設定ファイルの原本も、インストール時にここに保存されたうえで
${PKG_SYSCONFDIR}
へコピーされます。
share/examples/rc.drc.d スクリプトファイルの原本を含みます。
var (${VARBASE}
の通常の場所)インストール後に変更されることのあるファイルを含みます。