Jump to content

dpkg

From Wikipedia, the free encyclopedia
(Redirected fromWpkg)
dpkg
Original author(s)Ian Murdock
Developer(s)TheDebianProject
Initial releaseJanuary 1994;30 years ago(1994-01)[1]
Stable release
1.21.22[2]Edit this on Wikidata / 24 May 2023
Preview release
1.22.6[3]Edit this on Wikidata / 10 April 2024
Repository
Written inC,C++,Perl[4]
Operating systemUnix-like
Available in42 languages[5]
TypePackage manager
LicenseGPLv2
Websitewiki.debian.org/Teams/Dpkg

dpkgis thesoftwareat the base of the package management system in thefreeoperating systemDebianand its numerousderivatives.dpkgis used to install, remove, and provide information about.debpackages.

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

The Debian package "dpkg" provides thedpkgprogram, as well as several other programs necessary for run-time functioning of the packaging system, includingdpkg-deb,dpkg-split,dpkg-query,dpkg-statoverride,dpkg-divertanddpkg-trigger.[6]It also includes the programs such asupdate-alternativesandstart-stop-daemon.Theinstall-infoprogram used to be included as well, but was later removed[7]as it is now developed and distributed separately.[8]The Debian package "dpkg-dev" includes the numerous build tools described below.

History[edit]

The first attempt at a package management system for Linux was possibly the development of StopAlopby Greg Wettstein at the Roger Maris Cancer Center in Fargo, North Dakota. It provided inspiration for the creation of dpkg.[9][10][11] dpkg was originally created byIan Murdockin January 1994 as aShell script.[1]Matt Welsh,Carl Streeter andIan Murdockthen rewrote it inPerl,[12]and then later the main part was rewritten inCbyIan Jacksonin 1994.[13][14]The namedpkgwas originally a shortening of "Debian package", but the meaning of that phrase has evolved significantly, as dpkg the software is orthogonal to thedeb package formatas well as the Debian Policy Manual which defines how Debian packages behave in Debian.

Example use[edit]

To install a.deb package:[15]

dpkg -ifilename.deb

wherefilename.debis the name of the Debian package (such aspkgname_0.00-1_amd64.deb).

The list of installed packages can be obtained with:

dpkg -l[optional pattern]

To remove an installed package:

dpkg -rpackagename

Development tools[edit]

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

  • dpkg-sourcepacks and unpacks the source files of a Debian package.
  • dpkg-gencontrolreads the information from an unpacked Debian tree source and generates a binary package control package, creating an entry for this in Debian/files.
  • dpkg-shlibdepscalculates the dependencies of runs with respect to libraries.
  • dpkg-genchangesreads the information from an unpacked Debian tree source that once constructed creates a control file (.changes).
  • dpkg-buildpackageis a control script that can be used to construct the package automatically.
  • dpkg-distaddfileadds a file input to debian/files.
  • dpkg-parsechangelogreads the changes file (changelog) of an unpacked Debian tree source and creates a conveniently prepared output with the information for those changes.

Database[edit]

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 aboutrepositoriesin this database.[15]

wpkg packager for Windows[edit]

wpkgwas created as a dpkg look-alike that would run under theMicrosoft Windowsoperating system.[17]It subsequently evolved to include functionality similar to parts of theAPTsuite, improved repository management, distribution management and was ported toLinuxandUnix-likesystems, includingCygwin,Mingw32,macOS,OpenSolarisandFreeBSD.[18][19]It retains.debfile format compatibility[20]and is supplied with the ready-to-use executablewpkg.exe.As of March 2024,the most recent release of the software was in 2015.[18]

See also[edit]

References[edit]

  1. ^ab"dpkg Shell implementation".Dpkg Developers.Retrieved2017-08-30.
  2. ^Guillem Jover (3 September 2023)."Release 1.21.22".Retrieved3 September2023.
  3. ^Guillem Jover (10 March 2024)."Release 1.22.6".Retrieved10 March2024.
  4. ^"dpkg on git.dpkg.org".Dpkg Developers. 2018-07-15.Retrieved2018-07-15.
  5. ^"po/LINGUAS".Dpkg Developers. 2022-11-22.
  6. ^"dpkg package file list".Debian project.Retrieved2015-03-09.
  7. ^Jover, Guillem."Removal of install-info from dpkg".Debian project.Retrieved2015-03-09.
  8. ^"GNU Texinfo project".GNU project.Retrieved9 March2015.
  9. ^"Linux in the Trenches".Linux Journal.
  10. ^The dpkg shell implementation
  11. ^"StopAlop 0.6 packaging/Installation facility available".
  12. ^"dpkg perl implementation".git (Dpkg Developers).Retrieved2015-03-09.
  13. ^"dpkg C implementation".git (Dpkg Developers).Retrieved2015-03-09.
  14. ^Akkerman, Wichert."dpkg history".Archived fromthe originalon 2015-02-07.Retrieved2017-08-29.
  15. ^ab"dpkg".Debian. 2012-06-05.Retrieved2014-06-18.
  16. ^"dpkg-dev package file list".Debian project.Retrieved2015-03-09.
  17. ^Fox, Richard (7 October 2014). "13.4.3: APT".Linux with Operating System Concepts.Routledge. p. 544.ISBN978-1482235890.
  18. ^ab"A Build System with wpkg".Alexis Wilke. 2013-11-06.Retrieved2013-08-28.
  19. ^"wpkg --repository..."Alexis Wilke. 2012-12-05.Retrieved2013-08-28.
  20. ^"A Unix Packager For MS-Windows Systems".Alexis Wilke.Retrieved2018-11-05.

External links[edit]