Packages generally contain all of the files necessary to implement a set of related commands or features. There are two types of Debian packages:
Installation of software by the package system uses "dependencies"
which are carefully designed by the package maintainers. These dependencies
are documented in the control file associated with each package.
For example, the package containing the GNU C compiler (gcc
)
"depends" on the package binutils
which includes the
linker and assembler. If a user attempts to install gcc
without
having first installed binutils
, the package management system
(dpkg) will send an error message that it also needs binutils
, and
stop installing gcc
. (However, this facility can be overridden by
the insistent user, see dpkg(8)
.) See more in What is meant by saying that a package
Depends/Recommends/Suggests/Conflicts/Replaces/Provides another package?,
Section 6.9 below.
Debian's packaging tools can be used to:
A Debian "package", or a Debian archive file, contains the executable files, libraries, and documentation associated with a particular suite of program or set of related programs. Normally, a Debian archive file has a filename that ends in .deb.
The internals of this Debian binary packages format are described in the
deb(5)
manual page. This internal format is subject to change
(between major releases of Debian GNU/Linux), therefore please always use
dpkg-deb(8)
for manipulating .deb files.
The Debian binary package file names conform to the following convention: <foo>_<VersionNumber>-<Debi