dpkg

From Wikipedia, the free encyclopedia
(Redirected from Dselect)
Jump to navigation Jump to search
dpkg
Original authorIan Murdock
DeveloperThe Debian Project
Initial releaseJanuary 1994; 32 years ago (1994-01)[1]
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Written inC, C++, Perl[2]
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemUnix-like
    Available in42 languages[3]
    TypePackage manager
    LicenseGPLv2

    dpkg is the software at the base of the package management system in the free operating system Debian and its many derivatives. dpkg is used to install, remove, and provide information about .deb packages.

    dpkg (Debian Package) itself is a low-level tool. Advanced Package Tool (APT), 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, and several other programs needed for runtime functioning of the packaging system, including dpkg-deb, dpkg-split, dpkg-query, dpkg-statoverride, dpkg-divert and dpkg-trigger.[4] It also includes the programs such as update-alternatives and start-stop-daemon. The Debian package "dpkg-dev" includes the many build tools described below.

    History

    [edit | edit source]

    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 to create dpkg.[5][6][7] 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,[8] and then later the main part was rewritten in C by Ian Jackson in 1994.[9][10] 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 and the Debian Policy Manual which defines how Debian packages behave in Debian.

    Development tools

    [edit | edit source]

    dpkg-dev contains a series of development tools needed to unpack, build, and upload Debian source code packages.[11] 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

    [edit | edit source]

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

    install-info

    [edit | edit source]

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

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

    See also

    [edit | edit source]

    Lua error in mw.title.lua at line 392: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').

    References

    [edit | edit source]
    1. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    6. ^ The dpkg shell implementation
    7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    11. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    12. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    13. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    14. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    15. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    16. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    17. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    18. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]