Deb (file format)
Encyclopedia
deb is the extension
of the Debian
software package
format and the most often used name for such binary package
s. Like the "Deb" part of the term Debian, it originates from the name of Debra, erstwhile girlfriend and now ex-wife of Debian's founder Ian Murdock
.
Debian packages are also used in distributions based on Debian, such as Ubuntu
and others.
Debian packages are standard Unix
ar archives
that include two gzip
ped, bzipped
or lzma
ed tar
archives: one that holds the control information and another that contains the data.
The accepted program for handling these packages is dpkg
, most commonly via other programs such as apt
/aptitude or Gdebi.
Debian packages can be converted into other packages and vice versa using alien, and created from source code using CheckInstall
or Debian Package Maker.
Some core Debian packages are available as udebs (“micro debs”), and are typically used only for bootstrapping a Debian installation. Although these files use the udeb filename extension, they adhere to the same structure specification as ordinary deb files. However, unlike their deb counterparts, udeb packages contain only essential functional files. In particular, documentation files are normally omitted. udeb packages are not installable on a standard Debian system.
archive. Canonical contents of this archive are three files:
The debian-binary file must be the first entry in the archive, otherwise it will not be recognized as a Debian package.
Filename extension
A filename extension is a suffix to the name of a computer file applied to indicate the encoding of its contents or usage....
of the Debian
Debian
Debian is a computer operating system composed of software packages released as free and open source software primarily under the GNU General Public License along with other free software licenses. Debian GNU/Linux, which includes the GNU OS tools and Linux kernel, is a popular and influential...
software package
Software package (installation)
In package management systems, which are commonly used with Linux-based operating systems, a package is a specific piece of software which the system can install and uninstall....
format and the most often used name for such binary package
Binary file
A binary file is a computer file which may contain any type of data, encoded in binary form for computer storage and processing purposes; for example, computer document files containing formatted text...
s. Like the "Deb" part of the term Debian, it originates from the name of Debra, erstwhile girlfriend and now ex-wife of Debian's founder Ian Murdock
Ian Murdock
Ian Murdock is the founder of the Debian distribution and Progeny Linux Systems, a commercial Linux company.- Life and career :Murdock was born in Konstanz, Germany....
.
Debian packages are also used in distributions based on Debian, such as Ubuntu
Ubuntu (operating system)
Ubuntu is a computer operating system based on the Debian Linux distribution and distributed as free and open source software. It is named after the Southern African philosophy of Ubuntu...
and others.
Debian packages are standard Unix
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...
ar archives
Ar (Unix)
The archiver is a Unix utility that maintains groups of files as a single archive file. Today, ar is generally used only to create and update static library files that the link editor or linker uses; it can be used to create archives for any purpose, but has been largely replaced by tar for...
that include two gzip
Gzip
Gzip is any of several software applications used for file compression and decompression. The term usually refers to the GNU Project's implementation, "gzip" standing for GNU zip. It is based on the DEFLATE algorithm, which is a combination of Lempel-Ziv and Huffman coding...
ped, bzipped
Bzip2
bzip2 is a free and open source implementation of the Burrows–Wheeler algorithm. It is developed and maintained by Julian Seward. Seward made the first public release of bzip2, version 0.15, in July 1996.-Compression efficiency:...
or lzma
LZMA
The Lempel–Ziv–Markov chain algorithm is an algorithm used to perform data compression. It has been under development since 1998 and was first used in the 7z format of the 7-Zip archiver...
ed tar
Tar (file format)
In computing, tar is both a file format and the name of a program used to handle such files...
archives: one that holds the control information and another that contains the data.
The accepted program for handling these packages is dpkg
Dpkg
dpkg is the software at the base of the Debian package management system. dpkg is used to install, remove, and provide information about .deb packages....
, most commonly via other programs such as apt
Advanced Packaging Tool
The Advanced Packaging Tool, or APT, is a free user interface that works with core libraries to handle the installation and removal of software on the Debian GNU/Linux distribution and its variants...
/aptitude or Gdebi.
Debian packages can be converted into other packages and vice versa using alien, and created from source code using CheckInstall
CheckInstall
CheckInstall is a computer program for Unix-like operating systems which eases the installation and uninstallation of software compiled from source by making use of package management systems...
or Debian Package Maker.
Some core Debian packages are available as udebs (“micro debs”), and are typically used only for bootstrapping a Debian installation. Although these files use the udeb filename extension, they adhere to the same structure specification as ordinary deb files. However, unlike their deb counterparts, udeb packages contain only essential functional files. In particular, documentation files are normally omitted. udeb packages are not installable on a standard Debian system.
Implementation
Since Debian 0.93, a deb file is implemented as an arAr (Unix)
The archiver is a Unix utility that maintains groups of files as a single archive file. Today, ar is generally used only to create and update static library files that the link editor or linker uses; it can be used to create archives for any purpose, but has been largely replaced by tar for...
archive. Canonical contents of this archive are three files:
- debian-binary: deb format version number. This is "2.0" for current versions of Debian.
- control.tar.gz: all package meta-information.
- data.tar, data.tar.gz, data.tar.bz2, data.tar.lzma or data.tar.xz: the actual installable files.
The debian-binary file must be the first entry in the archive, otherwise it will not be recognized as a Debian package.
See also
- List of archive formats
- AppStreamAppStreamAppStream is an agreement between major GNU/Linux vendors to create a common application installer for Linux and one unified application installation GUI and sharing of metadata....
- DebianDebianDebian is a computer operating system composed of software packages released as free and open source software primarily under the GNU General Public License along with other free software licenses. Debian GNU/Linux, which includes the GNU OS tools and Linux kernel, is a popular and influential...
- GetdebGetdebGetDeb is an Ubuntu software portal with ready-to-install applications in Ubuntu's default package format. It was created to simplify the installation of new software for Ubuntu users...
- dpkgDpkgdpkg is the software at the base of the Debian package management system. dpkg is used to install, remove, and provide information about .deb packages....
- PackageKitPackageKitPackageKit is an open source and free suite of software applications designed to provide a consistent and high-level front end for a number of different package management systems...
- RPM Package ManagerRPM Package ManagerRPM Package Manager is a package management system. The name RPM variously refers to the .rpm file format, files in this format, software packaged in such files, and the package manager itself...
- CheckInstallCheckInstallCheckInstall is a computer program for Unix-like operating systems which eases the installation and uninstallation of software compiled from source by making use of package management systems...
- SuperDeb
- jigdoJigdoJigdo is a download utility initially designed around the Debian distribution of GNU/Linux that downloads files from several mirrors in order to build an optical disk image. Jigdo is free software, released under the GNU General Public License...
External links
- Debian Policy Manual
- Debian FAQ: Basics of the Debian package management system
- Article on what to do with deb files
- JDeb Cross platform Ant taskApache AntApache Ant is a software tool for automating software build processes. It is similar to Make but is implemented using the Java language, requires the Java platform, and is best suited to building Java projects....
and Maven pluginApache MavenMaven is a build automation and software comprehension tool. While primarily used for Java programming, it can also be used to build and manage projects written in C#, Ruby, Scala, and other languages. Maven serves a similar purpose to the Apache Ant tool, but it is based on different concepts and...
to build Debian packages. - ant-deb-task An Ant taskApache AntApache Ant is a software tool for automating software build processes. It is similar to Make but is implemented using the Java language, requires the Java platform, and is best suited to building Java projects....
that allows you to create Debian .deb packages on any platform where Java is available. - How to create / manipulate a .deb file of a compiled application
- How to make deb packages
- Debian Binary Package Building HOWTO
- Building Debian packages
- Debian binary package and unofficial repository howto