.TH deb 5 "2011-08-14" "Debian Project" "Debian"
.SH NAME
deb \- Debian binary package format
.SH SYNOPSIS
.IB filename .deb
.SH DESCRIPTION
The
.B .deb
format is the Debian binary package file format. It is understood by
dpkg 0.93.76 and later, and is generated by default by all versions
of dpkg since 1.2.0 and all i386/ELF versions since 1.1.1elf.
.PP
The format described here is used since Debian 0.93; details of the
old format are described in
.BR deb\-old (5).
.SH FORMAT
The file is an
.B ar
archive with a magic value of
.BR !<arch> .
The file names might contain a trailing slash.
.PP
The \fBtar\fP archives currently allowed are, the old-style (v7) format,
the pre-POSIX ustar format, a subset of the GNU format (only the new
style long pathnames and long linknames, supported since dpkg 1.4.1.17),
and the POSIX ustar format (long names supported since dpkg 1.15.0).
Unrecognized tar typeflags are considered an error.
.PP
The first member is named
.B debian\-binary
and contains a series of lines, separated by newlines. Currently only
one line is present, the format version number,
.BR 2.0
at the time this manual page was written.
Programs which read new-format archives should be prepared for the
minor number to be increased and new lines to be present, and should
ignore these if this is the case.
.PP
If the major number has changed, an incompatible change has been made
and the program should stop. If it has not, then the program should
be able to safely continue, unless it encounters an unexpected member
in the archive (except at the end), as described below.
.PP
The second required member is named
.BR control.tar.gz .
It is a gzipped tar archive containing the package control information,
as a series of plain files, of which the file
.B control
is mandatory and contains the core control information. The control
tarball may optionally contain an entry for
.RB ` . ',
the current directory.
.PP
The third, last required member is named
.BR data.tar .
It contains the filesystem as a tar archive, either
not compressed (supported since dpkg 1.10.24), or compressed with
gzip (with \fB.gz\fP extension),
xz (with \fB.xz\fP extension, supported since dpkg 1.15.6),
bzip2 (with \fB.bz2\fP extension, supported since dpkg 1.10.24) or
lzma (with \fB.lzma\fP extension, supported since dpkg 1.13.25).
.PP
These members must occur in this exact order. Current implementations
should ignore any additional members after
.BR data.tar .
Further members may be defined in the future, and (if possible) will be
placed after these three. Any additional members that may need to be
inserted before
.B data.tar
and which should be safely ignored by older programs, will have names
starting with an underscore,
.RB ` _ '.
.PP
Those new members which won't be able to be safely ignored will be
inserted before
.B data.tar
with names starting with something other than underscores, or will
(more likely) cause the major version number to be increased.
.SH SEE ALSO
.BR deb\-old (5),
.BR dpkg\-deb (1),
.BR deb\-control (5).
