Deb (file format)

Debian packages (file extension: . Deb ) are used for software installation on Debian - based operating systems. They contain the programs to install in compressed form. The packet format was developed by Ian Murdock, the abbreviation Deb derives this from the first part of the name of the Debian distribution, which in turn by the name " Debra " ( the first name Murdock's former girlfriend) and " Ian " is derived.

There are two types of Debian packages: binary packages and source packages.

An Debian package file consists of a once ar archive, which contains in turn with gzip, bzip2 or LZMA compressed tar archives. These contain the actual program files and meta-information, such as version information of the program contained and dependencies on other packages which need this program to run or improve function.

In order to use and manage this information can, Murdock also designed the Debian package manager (dpkg short). Then turn builds APT ( command line program ) or its frontends aptitude (text menu) or synaptic ( graphical) on which automatically installed additional packages needed for the program package.

Binary packages

Binary packages can be installed directly from the tools of the Debian package management.

Unpacking the Debian package and the execution of various scripts and helper programs with the privileges of the system administrator, as well as with the package administrations of other operating systems.

Some packages are also available as udeb packages. These are mainly used to load a minimal Debian system for the installation. They offer only a fraction of the normal functions of a deb package and will only be used by the Debian installer, not in an installed Debian system.

Building in detail

Each binary package consists of three files that can be ar using the UNIX commands or the specific command unpacks debian dpkg -deb (eg acres x file.deb ):

  • Debian- binary: a text file with the version number of the packet format used currently is version 2.0.
  • Control.tar.gz: a packed using tar and gzip archive contains files that are used to install or list dependencies. The listed here are just a few examples. A detailed description is to be found at, for example, in the official Debian FAQ. Deb packages. control contains a short description of the package as well as other information such as its dependencies.
  • Md5sums contains MD5 checksums of all files in the package to detect distortions can or the automatic update of configuration files (so called conffiles ) allow.
  • Conffiles lists the files in the package, which should be treated as configuration files. Configuration files are not overwritten during an update and only a complete removal (purge ) the packet away.
  • Preinst, postinst, prerm, postrm are optional scripts that run before or after installing, updating, or removing the package. They are executed with the privileges of the user root.
  • Config is an optional script supports debconf mentioned configuration mechanism. The templates file contains the necessary meta-information to the debconf database.
  • Shlibs lists the libraries may be provided.

Source packages

Source packages contain uncompiled program data, the source code of the programs. They consist of an archive with the original source files (extension. Orig.tar.gz ), a ( compressed ) diff file with Debian-specific modifications (. Diff.gz ) and a description file (. Dsc ).

Source packages can not be installed directly. It must first compile the source code and then possibly an installable binary package is created from it.

Complete file name

The file name of a Debian package follows a set pattern: The name of the software (possibly with prefixes such as lib for libraries or postfixes such as -doc for documentation or -dev for development-specific packages), an underscore, the version number of the software, possibly a dash and a Debian internal revision number, then another underscore, an abbreviation for the processor architecture ( all for platform-independent ) and the file name extension. deb ( eg beispiel_10.2 - 5_powerpc.deb ).


Debian packages are not compatible with RPM packages, but can be converted ( eg PowerPC or x86 based systems ) using the program alien within an architecture. Some file managers, such as Konqueror or Midnight Commander, allow the display of the package contents and the control information without installing the package.


Due to the easy portability of APT and dpkg, the Debian package format has also been introduced in many other operating systems.

  • BSD - in distributions like Debian GNU / kFreeBSD.
  • GNU HURD - Debian GNU / HURD.
  • GNU / Linux - various distributions, including Debian and Ubuntu.
  • Mac OS X - using Fink, as well as iPhones, iPods and iPads with jailbreak.
  • OpenSolaris - Nexenta OS.