deb − Debian binary package format
The .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.
The format described here is used since Debian 0.93; details of the old format are described in deb-old(5).
The file is an ar archive with a magic value of !<arch>. The file names might contain a trailing slash.
The tar 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 22.214.171.124),
and the POSIX ustar format (long names supported since dpkg 1.15.0). Unrecognized tar typeflags are con-
sidered an error.
The first member is named debian-binary and contains a series of lines, separated by newlines. Currently
only one line is present, the format version number, 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.
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.
The second required member is named control.tar.gz. It is a gzipped tar archive containing the package
control information, as a series of plain files, of which the file control is mandatory and contains the core
control information. The control tarball may optionally contain an entry for ‘.’, the current directory.
The third, last required member is named data.tar. It contains the filesystem as a tar archive, either not
compressed (supported since dpkg 1.10.24), or compressed with gzip (with .gz extension), xz (with .xz
extension, supported since