dpkg
Original author(s) | Ian Murdock |
---|---|
Developer(s) | TheDebianProject |
Initial release | January 1994[1] |
Stable release | 1.21.22[2]
/ 24 May 2023 |
Preview release | 1.22.7[3]
/ 17 July 2024 |
Repository | |
Written in | C,C++,Perl[4] |
Operating system | Unix-like |
Available in | 42 languages[5] |
Type | Package manager |
License | GPLv2 |
Website | wiki |
dpkgis thesoftwareat the base of the package management system in thefreeoperating systemDebianand its numerousderivatives.dpkg
is 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 thandpkg
as 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 thedpkg
program, as well as several other programs necessary for run-time functioning of the packaging system, includingdpkg-deb
,dpkg-split
,dpkg-query
,dpkg-statoverride
,dpkg-divert
anddpkg-trigger
.[6]It also includes the programs such asupdate-alternatives
andstart-stop-daemon
.Theinstall-info
program 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[update],the most recent release of the software was in 2015.[18]
See also
[edit]- Advanced Packaging Tool
- Alien (file converter)
- Debian build toolchain
- Deb file format
- RPM,forRedHat-derived systems
- List of software package management systems
- Package manager
- List of installation software
References
[edit]- ^ab"dpkg Shell implementation".Dpkg Developers.Retrieved2017-08-30.
- ^Guillem Jover (3 September 2023)."Release 1.21.22".Retrieved3 September2023.
- ^Guillem Jover (17 July 2024)."Release 1.22.7".Retrieved17 July2024.
- ^"dpkg on git.dpkg.org".Dpkg Developers. 2018-07-15.Retrieved2018-07-15.
- ^"po/LINGUAS".Dpkg Developers. 2022-11-22.
- ^"dpkg package file list".Debian project.Retrieved2015-03-09.
- ^Jover, Guillem."Removal of install-info from dpkg".Debian project.Retrieved2015-03-09.
- ^"GNU Texinfo project".GNU project.Retrieved9 March2015.
- ^"Linux in the Trenches".Linux Journal.
- ^The dpkg shell implementation
- ^"StopAlop 0.6 packaging/Installation facility available".
- ^"dpkg perl implementation".git (Dpkg Developers).Retrieved2015-03-09.
- ^"dpkg C implementation".git (Dpkg Developers).Retrieved2015-03-09.
- ^Akkerman, Wichert."dpkg history".Archived fromthe originalon 2015-02-07.Retrieved2017-08-29.
- ^ab"dpkg".Debian. 2012-06-05.Retrieved2014-06-18.
- ^"dpkg-dev package file list".Debian project.Retrieved2015-03-09.
- ^Fox, Richard (7 October 2014). "13.4.3: APT".Linux with Operating System Concepts.Routledge. p. 544.ISBN978-1482235890.
- ^ab"A Build System with wpkg".Alexis Wilke. 2013-11-06.Retrieved2013-08-28.
- ^"wpkg --repository..."Alexis Wilke. 2012-12-05.Retrieved2013-08-28.
- ^"A Unix Packager For MS-Windows Systems".Alexis Wilke.Retrieved2018-11-05.