deb(5)

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

書式
filename.deb

説明
.deb フォーマットは Debian バイナリパッケージのファイル形式であり、dpkg 0.93.76 以降で扱うことができる。dpkg 1.2.0 以降のすべてのバージョンと i386/ELF 1.1.1elf 以降のすべてのバージョンでは、デフォルトでこの形式が作成される。

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

フォーマット
The file is an ar archive with a magic value of !<arch>. Only the common ar archive format is supported, with no long file name extensions, but with file names containing an optional trailing slash, which limits their length to 15 characters (from the 16 allowed). File sizes are limited to 10 ASCII decimal digits, allowing for up to approximately 9536.74 MiB member files.

現在使用できる 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.gz の前に追加されるかも知れないが、その場合は、(おそらく) メジャーバージョンアップとなるだろう。

関連項目
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>.