dpkg is the
software
Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work.
At the lowest programming level, executable code consists ...
at the base of the package management system in the
free operating system
Debian
Debian (), also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software, developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. The first version of D ...
and its numerous
derivatives
The derivative of a function is the rate of change of the function's output relative to its input value.
Derivative may also refer to:
In mathematics and economics
* Brzozowski derivative in the theory of formal languages
* Formal derivative, an ...
.
dpkg
is used to install, remove, and provide information about
.deb
deb is the format, as well as extension of the software package format for the Debian Linux distribution and its derivatives.
Design
Debian packages are standard Unix ar archives that include two tar archives. One archive holds the cont ...
packages.
dpkg
(Debian Package) itself is a low-level tool.
APT
Apt. is an abbreviation for apartment.
Apt may also refer to:
Places
* Apt Cathedral, a former cathedral, and national monument of France, in the town of Apt in Provence
* Apt, Vaucluse, a commune of the Vaucluse département of France
* A ...
(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
An aptitude is a component of a competence to do a certain kind of work at a certain level. Outstanding aptitude can be considered "talent". Aptitude is inborn potential to perform certain kinds of activities, whether physical or mental, and ...
(
ncurses
ncurses (new curses) is a programming library providing an application programming interface (API) that allows the programmer to write text-based user interfaces (TUI) in a terminal-independent manner. It is a toolkit for developing "GUI-like" ...
) and
synaptic (
GTK
GTK (formerly GIMP ToolKit and GTK+) is a free and open-source cross-platform widget toolkit for creating graphical user interfaces (GUIs). It is licensed under the terms of the GNU Lesser General Public License, allowing both free and propriet ...
), 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 possibly first attempt at a package management system was the development of Stop
Alop 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
Ian Ashley Murdock (April28, 1973 – December 28, 2015) was an American software engineer, known for being the founder of the Debian project and Progeny Linux Systems, a commercial Linux company.
Life and career
Although Murdock's parents were ...
in January 1994 as a
Shell script
A shell script is a computer program designed to be run by a Unix shell, a command-line interpreter. The various dialects of shell scripts are considered to be scripting languages. Typical operations performed by shell scripts include file manip ...
.
Matt Welsh
Matthew James Welsh (born 18 November 1976) is an Australian swimmer who is the former world champion in the backstroke and butterfly. He took two golds in 50-meter butterfly and 50-meter backstroke, during one hour, at the World Championship ...
, Carl Streeter and
Ian Murdock
Ian Ashley Murdock (April28, 1973 – December 28, 2015) was an American software engineer, known for being the founder of the Debian project and Progeny Linux Systems, a commercial Linux company.
Life and career
Although Murdock's parents were ...
then rewrote it in
Perl
Perl is a family of two high-level, general-purpose, interpreted, dynamic programming languages. "Perl" refers to Perl 5, but from 2000 to 2019 it also referred to its redesigned "sister language", Perl 6, before the latter's name was offici ...
, and then later the main part was rewritten in
C by
Ian Jackson
Ian Jackson is a longtime free software author and Debian developer. Jackson wrote dpkg (replacing a more primitive Perl tool with the same name), SAUCE (Software Against Unsolicited Commercial Email), userv and debbugs. He used to maintain the ...
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 ''
ptional 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
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
operating system.
It subsequently evolved to include functionality similar to parts of the
APT
Apt. is an abbreviation for apartment.
Apt may also refer to:
Places
* Apt Cathedral, a former cathedral, and national monument of France, in the town of Apt in Provence
* Apt, Vaucluse, a commune of the Vaucluse département of France
* A ...
suite, improved repository management, distribution management and was ported to
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
and
Unix-like
A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
systems, including
Cygwin
Cygwin ( ) is a POSIX-compatible programming and runtime environment that runs natively on Microsoft Windows. Under Cygwin, source code designed for Unix-like operating systems may be compiled with minimal modification and executed.
The Cygwin in ...
,
Mingw32
MinGW ("Minimalist GNU for Windows"), formerly mingw32, is a free and open source software development environment to create Microsoft Windows applications.
MinGW includes a port of the GNU Compiler Collection (GCC), GNU Binutils for Windows ...
,
macOS
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
,
OpenSolaris
OpenSolaris () is a discontinued open-source computer operating system based on Solaris and created by Sun Microsystems. It was also, perhaps confusingly, the name of a project initiated by Sun to build a developer and user community around th ...
and
FreeBSD
FreeBSD is a free and open-source Unix-like operating system descended from the Berkeley Software Distribution (BSD), which was based on Research Unix. The first version of FreeBSD was released in 1993. In 2005, FreeBSD was the most popular ...
.
It retains
.deb
deb is the format, as well as extension of the software package format for the Debian Linux distribution and its derivatives.
Design
Debian packages are standard Unix ar archives that include two tar archives. One archive holds the cont ...
file format compatibility
and is supplied with the ready-to-use executable wpkg.exe. , the most recent release of the software was in 2015.
See also
*
Advanced Packaging Tool
Advanced package tool, or APT, is a free-software user interface that works with core libraries to handle the installation and removal of software on Debian, and Debian-based Linux distributions. APT simplifies the process of managing softw ...
*
Alien (file converter)
Alien is a computer program that converts between different Linux package formats, created by Joey Hess and presently maintained by Kyle Barry.
Features
Alien supports conversion between Linux Standard Base (LSB), LSB-compliant .rpm packages, ...
*
Debian build toolchain
The Debian build toolchain is a collection of software utilities used to create Debian source packages (.dsc) and Debian binary packages (.deb files) from upstream source tarballs.
These tools are used in the Debian project and also in Debi ...
*
Deb file format
*
RPM
Revolutions per minute (abbreviated rpm, RPM, rev/min, r/min, or with the notation min−1) is a unit of rotational speed or rotational frequency for rotating machines.
Standards
ISO 80000-3:2019 defines a unit of rotation as the dimensionl ...
, for
RedHat-derived systems
*
opkg
opkg (''open package management'') is a lightweight package management system based upon ipkg. It is written in C and resembles Advanced Package Tool (APT)/ dpkg in operation. It is intended for use on embedded Linux devices and is used in this ...
, for storage-constrained Linux installations.
*
List of software package management systems
*
Package management system
A package manager or package-management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer in a consistent manner.
A package manager deals w ...
*
List of installation software
The following is a list of applications for building installation programs, organized by platform support.
Cross-platform
Linux
Windows
macOS
AmigaOS
See also
* List of software package management systems
References
{{Reflist
...
References
External links
*
Mailing listwpkg manual page
{{Debian
Free software programmed in C