kids encyclopedia robot

dpkg facts for kids

Kids Encyclopedia Facts
dpkg
Original author(s) Ian Murdock
Developer(s) The Debian Project
Initial release January 1994; 30 years ago (1994-01)
Stable release
1.21.22 Edit this on Wikidata / 24 May 2023
Preview release
Lua error in Module:Wd at line 1575: attempt to index field 'wikibase' (a nil value). / 17 July 2024
Written in C, C++, Perl
Operating system Unix-like
Available in 42 languages
Type Package manager
License GPLv2

dpkg is the software at the base of the package management system in the free operating system Debian and its numerous derivatives. dpkg is used to install, remove, and provide information about .deb packages.

dpkg (Debian Package) itself is a low-level tool. APT (Advanced Package Tool), a higher-level tool, is more commonly used than dpkg as it can fetch packages from remote locations and deal with complex package relations, such as dependency resolution. Frontends for APT, like aptitude (ncurses) and synaptic (GTK), are used for their friendlier interfaces.

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-deb, dpkg-split, dpkg-query, dpkg-statoverride, dpkg-divert and dpkg-trigger. It also includes the programs such as update-alternatives and start-stop-daemon. The install-info program used to be included as well, but was later removed as it is now developed and distributed separately. The Debian package "dpkg-dev" includes the numerous build tools described below.

History

The first attempt at a package management system for Linux was possibly the development of StopAlop by Greg Wettstein at the Roger Maris Cancer Center in Fargo, North Dakota. It provided inspiration for the creation of dpkg. dpkg was originally created by Ian Murdock in January 1994 as a Shell script. Matt Welsh, Carl Streeter and Ian Murdock then rewrote it in Perl, and then later the main part was rewritten in C by Ian Jackson in 1994. The name dpkg was originally a shortening of "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 Manual which defines how Debian packages behave in Debian.

Example use

To install a .deb package: dpkg -i filename.deb

where filename.deb is the name of the Debian package (such as pkgname_0.00-1_amd64.deb).

The list of installed packages can be obtained with: dpkg -l [optional pattern]

To remove an installed package: dpkg -r packagename

Development tools

dpkg-dev contains a series of development tools required to unpack, build and upload Debian source packages. 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.

Database

The dpkg database is located under/var/lib/dpkg; the "status" file contains the list of installed software on the current system. There is no information about repositories in this database.

wpkg packager for Windows

wpkg was created as a dpkg look-alike that would run under the Microsoft Windows operating system. It subsequently evolved to include functionality similar to parts of the APT suite, improved repository management, distribution management and was ported to Linux and Unix-like systems, including Cygwin, Mingw32, macOS, OpenSolaris and FreeBSD. It retains .deb file format compatibility and is supplied with the ready-to-use executable wpkg.exe. As of March 2024, the most recent release of the software was in 2015.

See also

Kids robot.svg In Spanish: Dpkg para niños