Dpkg

Last updated

dpkg
Original author(s) Ian Murdock
Developer(s) The Debian Project
Initial releaseJanuary 1994;31 years ago (1994-01) [1]
Stable release
1.22.18 [2]   OOjs UI icon edit-ltr-progressive.svg / 9 March 2025
Repository
Written in C, C++, Perl [3]
Operating system Unix-like
Available in42 languages [4]
Type Package manager
License GPLv2
Website wiki.debian.org/Teams/Dpkg

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.

Contents

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. [5] It also includes the programs such as update-alternatives and start-stop-daemon. 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. [6] [7] [8] dpkg was originally created by Ian Murdock in January 1994 as a Shell script. [1] Matt Welsh, Carl Streeter and Ian Murdock then rewrote it in Perl, [9] and then later the main part was rewritten in C by Ian Jackson in 1994. [10] [11] 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.

Development tools

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

dselect

The dpkg source package also contains dselect, a frontend software. [13]

install-info

The install-info program used to be included in the dpkg software package, but was later removed [14] as it became developed and distributed separately, as part of GNU Texinfo. [15]

wpkg

wpkg was created as a dpkg look-alike that would run under the Microsoft Windows operating system. [16] It retained .deb file format compatibility. [17] 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. [18] [19] As of March 2024, the most recent release of the software was in 2015. [18]

See also

References

  1. 1 2 "dpkg Shell implementation". Dpkg Developers. Retrieved 2017-08-30.
  2. Guillem Jover (9 March 2025). "Release 1.22.18" . Retrieved 15 March 2025.
  3. "dpkg on git.dpkg.org". Dpkg Developers. 2018-07-15. Retrieved 2018-07-15.
  4. "po/LINGUAS". Dpkg Developers. 2022-11-22.
  5. "dpkg package file list". Debian project. Retrieved 2015-03-09.
  6. "Linux in the Trenches". Linux Journal.
  7. The dpkg shell implementation
  8. "StopAlop 0.6 packaging/Installation facility available".
  9. "dpkg perl implementation". git (Dpkg Developers). Retrieved 2015-03-09.
  10. "dpkg C implementation". git (Dpkg Developers). Retrieved 2015-03-09.
  11. Akkerman, Wichert. "dpkg history". Archived from the original on 2015-02-07. Retrieved 2017-08-29.
  12. "dpkg-dev package file list". Debian project. Retrieved 2015-03-09.
  13. Siever, Ellen; et al. (2005). Linux in a Nutshell. O'Reilly. p. 620. ISBN   9780596529499.
  14. Jover, Guillem. "Removal of install-info from dpkg". Debian project. Retrieved 2015-03-09.
  15. "GNU Texinfo project". GNU project. Retrieved 9 March 2015.
  16. Fox, Richard (7 October 2014). "13.4.3: APT". Linux with Operating System Concepts. Routledge. p. 544. ISBN   978-1482235890.
  17. "A Unix Packager For MS-Windows Systems". Alexis Wilke. Retrieved 2018-11-05.
  18. 1 2 "A Build System with wpkg". Alexis Wilke. 2013-11-06. Retrieved 2013-08-28.
  19. "wpkg --repository ..." Alexis Wilke. 2012-12-05. Retrieved 2013-08-28.