Provided by: dpkg-dev_1.17.5ubuntu5.8_all
名前
deb-control - Debian パッケージのマスタ制御ファイルの形式
書式
control
説明
各 Debian パッケージには、マスタとなる `control' ファイルがある。ファイルはフィールド行や '#' で始まるコメント行からなる。各フィールド行は Package や Version (大文字小文字の区別な し) といったフィールドタグで始まり、コロンの後にフィールド本体 (値) が続く。フィールドが フィールドタグ以外で区切られることはない。言い換えると、フィールド本体のテキストは複数行に またがっても構わない。ただし、インストールを行うツールは通常フィールド本体を処理する際にそ れらを 1 行にまとめてしまう (以下で説明する Description フィールドを除く)。
必須フィールド
Package: パッケージ名 このフィールドの値によってパッケージ名が決まる。またインストールを行うツールの大半 によって、ファイル名を生成するために使用される。 Version:バージョン文字列 通常、このフィールドの値はプログラムの作者が使用する形式で付けられた、パッケージ本 来のバージョン番号であるが、(Debian 固有のパッケージでない場合は) Debian リビジョン 番号が付加されることもある。この形式とソートアルゴリズムの詳細は、deb-version(5) で 説明されている。 Maintainer: fullname-email `Joe Bloggs <jbloggs@foo.com>' 形式で設定すること。パッケージ化されたソフトウェアの 開発者ではなく、パッケージ作成者の情報を設定する。 Description: 短い説明 長い説明 パッケージ説明の形式は、先頭行 ("Description" フィールドの後) に短い説明、それ以降 の行に詳細な長い説明というものである。長い説明の各行は、スペースから始まる必要があ る。空行は、行頭のスペースに続けて '.' を 1 つだけ記述する必要がある。
オプションフィールド
Section: セクション パッケージによりインストールされるソフトウェアがどのセクションの分類に属するかを示 すフィールドである。一般的なセクションには `utils', `net', `mail', `text', `x11' な どがある。 Priority: priority システム全体からみたこのパッケージの重要度を示す。一般的に使われる priority には `required'、`standard'、`optional'、`extra' などがある。 Debian では、Section と Priority フィールドで使える値がポリシーマニュアルで定められてい る。最新の debian-policy パッケージから一覧を取得できる。 Essential: yes|no このフィールドは通常 yes に設定する場合だけ必要とされ、パッケージがシステムを適切に 稼働させる上で必須であることを示す。dpkg を含むインストールを行うツールは、(少なく とも強制オプションのいずれかを用いない限り) Essential パッケージの削除を許可しな い。 Architecture: アーキテクチャ|all アーキテクチャは、パッケージがコンパイルされた際の対象ハードウェアを示す。一般的な アーキテクチャには `i386', `m68k', `sparc', `alpha', `powerpc' などがある。all オプ ションは、パッケージが architecture 非依存であることを意味する。これには、シェルス クリプト、Perl スクリプト、ドキュメントなどが該当する。 Origin: ディストリビューション名 パッケージの起源となったディストリビューション名。 Bugs: url パッケージのバグトラッキングシステムの url。現在使われている形式 は、debbugs://bugs.debian.org のような bts-type://bts_address 形式である。 Homepage: url アップストリームのプロジェクトのホームページ url。 Tag: タグのリスト パッケージの品質を示すタグのリスト。サポートされているタグの一覧と説明は、debtags パッケージを参照のこと。 Multi-Arch: same|foreign|allowed このフィールドは、multiarch インストールの際のパッケージの動作を定義するために使用 される。same は、パッケージが多重インストール (co-install) 可能である (訳注: ある パッケージに対して、別アーキテクチャの同一パッケージをインストールできる) 一方、別 アーキテクチャのいかなるパッケージとの依存関係を満たすためにも使用してはいけないこ とを意味する。foreign は、パッケージを多重インストールできないが、別アーキテクチャ のパッケージの依存関係を満たすことが可能であることを意味する。 allowed は、別アーキ テクチャのパッケージを許容するような逆の依存関係を Depends フィールドに指定可能であ ることを示すだけで、それ以上の意味はない。 Source: ソースパッケージ名 このバイナリパッケージを作るために使われたソースパッケージ名である。バイナリパッ ケージの名前とソースパッケージの名前が違う時に使われる。 Subarchitecture: value Kernel-Version: value Installer-Menu-Item: value これらのフィールドは、debian-installer によって用いられるもので、通常は不要であ る。詳細については、debian-installer パッケージに含まれてい る/usr/share/doc/debian-installer/devel/modules.txt を参照のこと Depends: パッケージのリスト このパッケージが提供する大半の機能にとって必要となるパッケージのリスト。パッケージ 管理ソフトウェアは、インストールするパッケージの Depends フィールドに列挙されている パッケージがインストールされていない場合、(少なくとも強制オプションを指定しない限り は)、そのパッケージのインストールを許可しない。インストールの際は、Depends: フィー ルドに列挙されているパッケージの postinst スクリプトが、依存しているパッケージのス クリプトより先に実行される。反対に削除の際には、削除しようとしているパッケージの prerm スクリプトが Depends: フィールドに列挙されているパッケージのスクリプトより先 に実行される。 Pre-Depends: パッケージのリスト パッケージのインストール前にインストールされ、かつ設定済でなければならないパッケー ジのリスト。このフィールドは、通常あるパッケージが他のパッケージをpreinst スクリプ トで必要とする際に用いられる。 Recommends: パッケージのリスト 例外的な場合を除き、このパッケージと共にインストールした方がよいパッケージのリス ト。Recommends フィールドに列挙されているパッケージ抜きでパッケージをインストールし ようとすると、パッケージ管理ソフトウェアは警告を発する。 Suggests: パッケージのリスト このパッケージと関係があり、利便性を向上させることができるが、インストールしなくて も構わないパッケージのリスト。 Depends, Pre-Depends, Recommends, Suggests フィールドは、代替パッケージグループのリストで ある。各代替パッケージグループは、パッケージを縦棒(`パイプ')記号 `|' で区切ったリストで表 現する。代替パッケージグループ間はコンマで区切る。コンマは `AND'、パイプは `OR' で、パイプ の優先度が高いという理解でよい。各パッケージ名の後に、括弧で囲んでバージョン番号の指定を行 うこともできる。 バージョン番号が `>>' で始まる場合は、それより新しいバージョンすべてにマッチする。バージョ ン番号には、(ハイフンに続けて) Debian パッケージリビジョンを指定することもできるが、省略し ても構わない。「より新しい」を意味する ">>"、「より古い」を意味する "<<"、「同じか新し い」を意味する ">="、「同じか古い」を意味する "<="、「同じ」を意味する "=" を使用できる。 Breaks: パッケージのリスト パッケージが依存している機能のバグを顕在化させてしまうなどで、パッケージを機能不全 に陥れてしまうパッケージのリスト。パッケージ管理ソフトウェアは、こうしたパッケージ を設定できないようにしている。一般的には、Breaks フィールドに設定されているパッケー ジのアップグレードが解決策となる。 Conflicts: パッケージのリスト 同じ名前のファイルが存在しているなどで、このパッケージと競合するパッケージのリス ト。パッケージ管理ソフトウェアは、競合しているパッケージを同時にインストールできな いようにしている。競合しているパッケージ同士は、互いに相手を Conflicts 行に設定して おくべきである。 Replaces: パッケージのリスト このパッケージによって置き換えられるファイルを含むパッケージのリスト。このパッケー ジと競合するパッケージに同じ名前のファイルが含まれている際に、他のパッケージのファ イルを上書きできるようにするために用いられる。通常、他のパッケージを強制的に削除す るため Conflicts フィールドも併せて設定される。 Provides: パッケージのリスト このパッケージが提供する仮想パッケージのリスト。通常、仮想パッケージは複数パッケー ジが同一のサービスを提供している場合に用いられる。例えば、sendmail と exim は共に メールサーバの機能を提供しているので、共通のパッケージ (`mail-transport-agent') を 提供した上で、他のパッケージがこれに依存するように設定する。これにより、sendmail で も exim でも依存関係を満たすような設定が可能となり、メールサーバに依存するパッケー ジが、メールサーバとして機能するパッケージをすべて把握した上で、`|' を用いて列挙す るといった必要がなくなる。 Breaks, Conflicts, Replaces, Provides は、コンマで区切られた (空白文字があってもよい) パッ ケージ名のリストである。 Breaks および Conflicts フィールドにおけるコンマは `OR' と解釈で きる。Breaks, Conflicts, Replaces フィールドでは、前述した記法で、バージョンを指定すること もできる。 Built-Using: パッケージのリスト このフィールドには、このバイナリパッケージのビルドに用いられる別のソースパッケージ を列挙する。これは、このバイナリパッケージをメンテナンスし続ける限り、別のソース パッケージも維持しなければならないことをアーカイブメンテナンスソフトウェアに通知す るために用いられる。このフィールドには、(= を用いて) バージョン番号を明示したソース パッケージ名を列挙しなければならない。アーカイブメンテナンスソフトウェアは、アーカ イブ内で解決できないような依存関係が Built-Using で指定された場合に、アップロードを 拒否する可能性があるという点に留意すること。
例
# Comment Package: grep Essential: yes Priority: required Section: base Maintainer: Wichert Akkerman <wakkerma@debian.org> Architecture: sparc Version: 2.4-1 Pre-Depends: libc6 (>= 2.0.105) Provides: rgrep Conflicts: rgrep Description: GNU grep, egrep and fgrep. The GNU family of grep utilities may be the "fastest grep in the west". GNU grep is based on a fast lazy-state deterministic matcher (about twice as fast as stock Unix egrep) hybridized with a Boyer-Moore-Gosper search for a fixed string that eliminates impossible text from being considered by the full regexp matcher without necessarily having to look at every character. The result is typically many times faster than Unix grep or egrep. (Regular expressions containing backreferencing will run more slowly, however).
関連項目
deb(5), deb-version(5), debtags(1), dpkg(1), dpkg-deb(1).
翻訳者
高橋 基信 <monyo@monyo.com>. 喜瀬 浩 <kise@fuyuneko.jp>. 関戸 幸一 <sekido@mbox.kyoto- inet.or.jp>. 鍋谷 栄展 <nabe@debian.or.jp>. 倉澤 望 <nabetaro@debian.or.jp>. 石川 睦 <ishikawa@linux.or.jp>. 鵜飼 文敏 <ukai@debian.or.jp>. 中野 武雄 <nakano@apm.seikei.ac.jp>.
翻訳校正
Debian JP Documentation ML <debian-doc@debian.or.jp>.