deb(5)

名前
deb - Debian バイナリパッケージ形式

書式
filename.deb

説明
The .deb format is the Debian binary package file format. It is understood since dpkg 0.93.76, and is generated by default since dpkg 1.2.0 and 1.1.1elf (i386/ELF builds).

このマニュアルで説明する形式は Debian 0.93 から使用されている。古い形式の詳細については deb-old(5) を参照のこと。

フォーマット
このファイルは !<arch> というマジックナンバーを持つ ar アーカイブである。一般的な ar アーカイブ形式のみがサポートされているため長いファイル名はサポートされていないが、ファイル名が (本来許可されている 16 文字のうち) 15 文字以内の場合、末尾にスラッシュを付けることができる。ファイルサイズは、ASCII の 10 進数で 10 桁以内となっており、約 9536.74 MiB のメンバファイルを扱うことができる。

現在使用できる tar アーカイブの形式は、old-style (v7) 形式、POSIX 以前の ustar 形式、GNU 形式のサブセット (新しい形式の長いパス名とリンク名のみ。dpkg 1.4.1.17 以降でサポート)、POSIX ustar 形式 (長いパス名については dpkg 1.15.0 以降でサポート) である。認識されないtar の typeflag はエラーとなる。

アーカイブの 1 番目のファイルは debian-binary である。このファイルは、改行で区切られた何行かからなるが、本マニュアルページが書かれた時点では、形式のバージョン番号である 2.0 が書かれた 1 行のみが存在している。新しい形式のアーカイブを読み込むプログラムは、マイナーバージョン番号の増加や、新しい行の追加に対応すべきである。その際には、これらを無視すること。

メジャーバージョン番号が変更されている場合は、互換性のない変更がされているとみなし、プログラムは停止すべきである。メジャーバージョンが変更されていない場合は、以下で説明するように、アーカイブに予期しないファイルが含まれていない限り (アーカイブ末尾に含まれる場合を除く)、プログラムは安全に実行を継続できる必要がある。

2 番目の必須ファイルは control.tar.gz である。このファイルは、パッケージ制御情報が格納されたテキストファイルからなる gzip で圧縮された tar アーカイブである。control ファイル (制御情報ファイル) は必須であり、中心となる制御情報が含まれる。アーカイブには、カレントディレクトリを意味する `.' のエントリがあってもよい。

3 番目となる最後の必須ファイルは data.tar である。このファイルは、ファイルシステムツリーが格納された tar アーカイブである。ファイルは、gzip (拡張子 .gz)、xz (拡張子 .xz 、dpkg 1.15.6以降でサポート)、bzip2 (拡張子 .bz2、dpkg 1.10.24以降でサポート)、lzma (拡張子 .lzma、dpkg 1.13.25 以降でサポート) により圧縮される場合もあるが、非圧縮のまま (dpkg 1.10.24 以降でサポート) の場合もある。

これらのファイルはこの通りの順序でアーカイブされていなければならない。現在の実装では、data.tar より後に追加されているファイルを無視すべきである。将来的に追加のファイルが定義された場合は、(やむを得ない場合を除き) これら 3 つのファイルより後にアーカイブされることになるだろう。data.tar の前に何らかのファイルを追加する必要が発生した際に、それらを古いプログラムから安全に無視させるには、アンダースコア `_' から始まる名前を付ければよい。

安全に無視させることのできない、アンダースコア以外の文字で始まる名前のファイルが data.tar の前に追加されるかも知れないが、その場合は、(おそらく) メジャーバージョンアップとなるだろう。

関連項目
deb-old(5), dpkg-deb(1), deb-control(5).

翻訳者
高橋 基信 <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>.