dpkg
Developer(s) | the dpkg team |
---|---|
Repository | |
Type | Package management system |
Website | wiki |
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.
dpkg
itself is a low level tool; higher level tools, such as APT, are used to fetch packages from remote locations or deal with complex package relations. End users are encouraged to use tools like aptitude or synaptic, having a more sophisticated way of dealing with package relationships and a friendlier interface.
The Debian package "dpkg" provides the dpkg
program, as well as several others necessary for run-time functioning of the packaging system, including dpkg-statoverride
, dpkg-divert
and update-alternatives
. It also includes the programs such as start-stop-daemon and install-info, and the latter is kept mostly due to backwards compatibility (it is developed and distributed separately nowadays). The Debian package "dpkg-dev" includes the numerous build tools described below.
History
dpkg was originally created by Ian Jackson in 1993, first as a Perl program, and then later the main part was rewritten in C. The name dpkg was originally the short for "Debian package", but the meaning of that phrase has evolved significantly, as dpkg the software is orthogonal to the deb package format as well as the Debian Policy which defines how Debian packages behave.
Example use
To install a .deb package:
dpkg -i deb file name
The list of installed packages can be obtained with:
dpkg -l [optional pattern]
To remove an installed package:
dpkg -r package name
Development tools
dpkg-dev contains a series of tools that have to be called to construct a package. They are the following:
- dpkg-source packs and unpacks the source files of a Debian package.
- dpkg-deb packs and unpacks binary packages
- dpkg-gencontrol reads the information from an unpacked Debian tree source and generates a binary package control package, creating an entry for this in Debian/files.
- dpkg-shlibdeps calculates the dependencies of runs with respect to libraries.
- dpkg-genchanges reads the information from an unpacked Debian tree source that once constructed creates a control file (.changes).
- dpkg-buildpackage is a control script that can be used to construct the package automatically.
- dpkg-distaddfile adds a file input to debian/files.
- dpkg-parsechangelog reads the changes file (changelog) of an unpacked Debian tree source and creates a conveniently prepared output with the information for those changes.
See also
Compare
- dpkg is similar to RPM.
- ipkg is a dpkg-inspired package management system for storage-constrained Linux installations.