dpkg

From Wikipedia, the free encyclopedia
Jump to: navigation, search
dpkg
Original author(s) Ian Murdock
Developer(s) The dpkg team
Stable release 1.16.15 / June 5, 2014; 48 days ago (2014-06-05)
Preview release 1.17.10 / June 5, 2014; 48 days ago (2014-06-05)
Written in C, C++, Perl[1]
Operating system Unix-like, POSIX
Type Package management system
License GNU General Public License
Website wiki.debian.org/Teams/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.

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. Tools like aptitude or synaptic are more commonly used than dpkg on its own, as they have 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 other programs necessary for run-time functioning of the packaging system, including dpkg-statoverride, dpkg-divert, dpkg-trigger and update-alternatives.[2] It also includes the programs such as start-stop-daemon and install-info, and the latter is kept mostly due to backwards compatibility[3] (it is developed and distributed separately nowadays). The Debian package "dpkg-dev" includes the numerous build tools described below.

History[edit]

dpkg was originally created by Matt Welsh, Carl Streeter and Ian Murdock, first as a Perl program,[4] and then later the main part was rewritten in C by Ian Jackson in 1994.[5][6] 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[edit]

To install a .deb package:

dpkg -i debFileName

where debFileName is the name of the Debian software package.

The list of installed packages can be obtained with:

dpkg -l [optional pattern]

To remove an installed package:

dpkg -r packagename

Development tools[edit]

dpkg-dev contains a series of development tools required to unpack, build and upload Debian source packages.[7] These include:

  • dpkg-source packs and unpacks the source files of a Debian package.
  • 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[edit]

References[edit]

  1. ^ "dpkg on alioth". Alioth (Debian). 2012-04-11. Retrieved 2012-03-20. 
  2. ^ "dpkg package file list". Debian project. Retrieved 21 July 2013. 
  3. ^ Jover, Guillem. "Removal of install-info from dpkg". Debian project. Retrieved 21 July 2013. 
  4. ^ "dpkg perl implementation". git (Debian project). Retrieved 21 July 2013. 
  5. ^ "dpkg C implementation". git (Debian project). Retrieved 21 July 2013. 
  6. ^ Akkerman, Wichert. "dpkg history". Retrieved 21 July 2013. 
  7. ^ "dpkg-dev package file list". Debian project. Retrieved 21 July 2013. 

External links[edit]