Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Dpkg
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Package management system}} {{Tone|date=January 2025}} {{lowercase title}} {{Infobox software | name = dpkg | title = dpkg | logo = <!-- Image name is enough --> | logo caption = | logo_size = | logo_alt = | screenshot = <!-- Image name is enough --> | caption = | screenshot_size = | screenshot_alt = | collapsible = | author = [[Ian Murdock]] | developer = The [[Debian]] Project | released = {{Start date and age|1994|01|df=yes}}<ref name="first-release" /> | discontinued = | latest release version = {{wikidata|property|preferred|references|edit|Q305892|P348|P548=Q2804309}} | latest release date = {{wikidata|qualifier|preferred|single|Q305892|P348|P548=Q2804309|P577}} | latest preview version = {{wikidata|property|preferred|references|edit|Q305892|P348|P548=Q3295609}} | latest preview date = {{wikidata|qualifier|preferred|single|Q305892|P348|P548=Q3295609|P577}} | programming language = [[C (programming language)|C]], [[C++]], [[Perl]]<ref>{{cite web | url = https://git.dpkg.org/cgit/dpkg/dpkg.git | title = dpkg on git.dpkg.org | publisher = Dpkg Developers | date = 2018-07-15 | access-date = 2018-07-15}}</ref> | operating system = [[Unix-like]] | platform = | size = | language = | language count = 42 | language footnote = <ref>{{cite web | url = https://git.dpkg.org/cgit/dpkg/dpkg.git/tree/po/LINGUAS | title = po/LINGUAS | publisher = Dpkg Developers | date = 2022-11-22 }}</ref> | genre = [[Package manager]] | license = [[GNU General Public License|GPL]]v2 | alexa = | website = {{URL|https://wiki.debian.org/Teams/Dpkg}} | standard = | AsOf = }} '''dpkg''' is the [[software]] at the base of the package management system in the [[free software|free]] operating system [[Debian]] and its numerous [[Debian family|derivatives]]. <code>dpkg</code> is used to install, remove, and provide information about [[deb (file format)|.deb]] [[Package (package management system)|package]]s. <code>dpkg</code> (Debian Package) itself is a low-level tool. [[APT (Debian)|APT]] (Advanced Package Tool), a higher-level tool, is more commonly used than <code>dpkg</code> as it can fetch packages from remote locations and deal with complex package relations, such as dependency resolution. Frontends for APT, like [[aptitude (software)|aptitude]] ([[ncurses]]) and [[synaptic (software)|synaptic]] ([[GTK]]), are used for their friendlier interfaces. The Debian package "dpkg" provides the <code>dpkg</code> program, as well as several other programs necessary for run-time functioning of the packaging system, including <code>dpkg-deb</code>, <code>dpkg-split</code>, <code>dpkg-query</code>, <code>dpkg-statoverride</code>, <code>dpkg-divert</code> and <code>dpkg-trigger</code>.<ref>{{cite web|title=dpkg package file list|url=https://packages.debian.org/sid/amd64/dpkg/filelist|publisher=Debian project|access-date=2015-03-09}}</ref> It also includes the programs such as <code>update-alternatives</code> and <code>start-stop-daemon</code>. 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 Stop[[alopecia|Alop]] by Greg Wettstein at the Roger Maris Cancer Center in Fargo, North Dakota. It provided inspiration for the creation of dpkg.<ref>{{cite magazine| url=https://linuxjournal.com/article/2804 | title=Linux in the Trenches|magazine=Linux Journal }}</ref><ref>[https://www.dpkg.org/history/ancient/README The dpkg shell implementation]</ref><ref>{{cite web | url=http://www.verycomputer.com/195_d4343843af185e14_1.htm | title=StopAlop 0.6 packaging/Installation facility available }}</ref> dpkg was originally created by [[Ian Murdock]] in January 1994 as a [[Shell script]].<ref name="first-release">{{cite web|title=dpkg Shell implementation|url=https://www.dpkg.org/history/ancient/README|publisher=Dpkg Developers|access-date=2017-08-30}}</ref> [[Matt Welsh (computer scientist)|Matt Welsh]], Carl Streeter and [[Ian Murdock]] then rewrote it in [[Perl]],<ref>{{cite web|title=dpkg perl implementation|url=https://git.dpkg.org/cgit/dpkg/dpkg.git/plain/scripts/perl-dpkg.pl?id=1b80fb16c22db72457d7a456ffbf1f70a8dfc0a5|publisher=git (Dpkg Developers)|access-date=2015-03-09}}</ref> and then later the main part was rewritten in [[C (programming language)|C]] by [[Ian Jackson (computer programmer)|Ian Jackson]] in 1994.<ref>{{cite web|title=dpkg C implementation|url=https://git.dpkg.org/cgit/dpkg/dpkg.git/plain/main/main.c?id=1b80fb16c22db72457d7a456ffbf1f70a8dfc0a5|publisher=git (Dpkg Developers)|access-date=2015-03-09}}</ref><ref>{{cite web|last=Akkerman|first=Wichert|title=dpkg history|url=http://www.wiggy.net/presentations/2001/DpkgEvolution/html/mgp00005.html|access-date=2017-08-29|url-status=dead|archive-url=https://web.archive.org/web/20150207151202/http://www.wiggy.net/presentations/2001/DpkgEvolution/html/mgp00005.html|archive-date=2015-02-07}}</ref> 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 (file format)|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.<ref>{{cite web|title=dpkg-dev package file list|url=https://packages.debian.org/sid/amd64/dpkg-dev/filelist|publisher=Debian project|access-date=2015-03-09}}</ref> 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. ==dselect== The dpkg source package also contains '''dselect''', a frontend software.<ref>{{cite book | url = https://books.google.com/books?id=uwNVAgAAQBAJ&pg=PA620 | last = Siever | first = Ellen | display-authors = etal | title = Linux in a Nutshell | publisher = O'Reilly | year = 2005 | isbn = 9780596529499 | page = 620 }}</ref> ==install-info== The <code>install-info</code> program used to be included in the dpkg software package, but was later removed<ref>{{cite web|last=Jover|first=Guillem|title=Removal of install-info from dpkg|url=https://lists.debian.org/debian-devel/2013/05/msg00243.html|publisher=Debian project|access-date=2015-03-09}}</ref> as it became developed and distributed separately, as part of [[GNU Texinfo]].<ref>{{cite web|title=GNU Texinfo project|url=https://www.gnu.org/software/texinfo/|publisher=GNU project|access-date=9 March 2015}}</ref> =={{Anchor|wpkg}}wpkg== '''wpkg''' was created as a dpkg look-alike that would run under the [[Microsoft Windows]] operating system.<ref name="Fox-book"/> It retained [[.deb]] file format compatibility.<ref name="wpkg-home">{{cite web|url=https://unigw.sourceforge.net/|title=A Unix Packager For MS-Windows Systems|publisher=Alexis Wilke |access-date=2018-11-05}}</ref> It subsequently evolved to include functionality similar to parts of the [[APT (software)|APT]] suite, improved repository management, distribution management and was ported to [[Linux]] and [[Unix-like]] systems.<ref name="wpkg-doc-build">{{cite web|url=https://unigw.sourceforge.net/documentation/build-system-wpkg.html|title=A Build System with wpkg|publisher=Alexis Wilke |date=2013-11-06|access-date=2013-08-28}}</ref><ref name="wpkg-doc-repo">{{cite web|url=https://unigw.sourceforge.net/documentation/wpkg/wpkg-repository.html|title=wpkg --repository ...|publisher=Alexis Wilke |date=2012-12-05|access-date=2013-08-28}}</ref> {{As of |March 2024}}, the most recent release of the software was in 2015.<ref name="wpkg-doc-build"/> ==See also== {{Portal|Free and open-source software}} * [[APT (software)|Advanced Packaging Tool]] * [[Alien (file converter)]] * [[Debian build toolchain]] * [[Deb (file format)|deb file format]] * [[RPM Package Manager|RPM]], for [[Red Hat Enterprise Linux|RedHat]]-derived systems * [[List of software package management systems]] * [[Package manager]] * [[List of installation software]] ==References== {{Reflist|2|refs= <ref name="Fox-book">{{cite book | title = Linux with Operating System Concepts | page = 544 | first = Richard | last = Fox | publisher = Routledge | isbn = 978-1482235890 | date = 7 October 2014 | section = 13.4.3: APT}}</ref> }} ==External links== * {{Official website|https://wiki.debian.org/Teams/Dpkg}} * [https://manpages.debian.org/dpkg.1 Manual page on the Debian Project website] * [https://lists.debian.org/debian-dpkg/ Mailing list] * [https://unigw.sourceforge.net/documentation/wpkg.html wpkg manual page] {{Package management systems}} {{Debian}} [[Category:Dpkg| ]] [[Category:Free software programmed in C]] [[Category:Software using the GNU General Public License]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Ambox
(
edit
)
Template:Anchor
(
edit
)
Template:As of
(
edit
)
Template:Cite book
(
edit
)
Template:Cite magazine
(
edit
)
Template:Cite web
(
edit
)
Template:DMCA
(
edit
)
Template:Debian
(
edit
)
Template:Infobox
(
edit
)
Template:Infobox software
(
edit
)
Template:Lowercase title
(
edit
)
Template:Main other
(
edit
)
Template:Official website
(
edit
)
Template:Package management systems
(
edit
)
Template:Portal
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Template other
(
edit
)
Template:Tone
(
edit
)