Dpkg
dpkg är mjukvaran som ligger till grund för pakethanteringssystemet i det kostnadsfria operativsystemet Debian och dess många utgåvor. dpkg
används för att installera, ta bort och tillhandahålla information om .deb- paket.
dpkg
(Debian Package) självt är ett lågnivå-verktyg. APT (Advanced Package Tool) är ett verktyg på högre nivå, som används oftare än dpkg
. Detta eftersom APT kan hämta paket från andra platser och hantera komplexa paketrelationer, till exempel beroendehantering. Frontends för APT, som aptitude (ncurses) och synaptic (GTK), används för sina mer lättanvända gränssnitt.
Debian-paketet "dpkg" tillhandahåller programmet dpkg
, och flera andra program som är nödvändiga för användandet av paketsystemet, bland andra dpkg-deb
, dpkg-split
, dpkg-query
, dpkg-statoverride
, dpkg-divert
och dpkg-trigger
.[1] Det inkluderar också program som update-alternatives
och start-stop-daemon
. install-info
programmet brukade också inkluderas, men togs senare bort[2] eftersom det nu utvecklas och distribueras separat.[3] Debian-paketet "dpkg-dev" innehåller de många byggverktyg som beskrivs nedan.
Historia
dpkg skapades ursprungligen av Ian Murdock januari 1994 som ett Shell-script.[4] Matt Welsh, Carl Streeter och Ian Murdock skrev sedan om det i Perl,[5] och 1994 skrevs huvuddelen om i C av Ian Jackson.[6][7] Namnet dpkg var ursprungligen en förkortning av "Debian-paketet", men innebörden av den frasen har utvecklats avsevärt, eftersom programvaran dpkg är ortogonal mot deb-paketformatet samt Debian Policy Manual, som definierar hur Debian-paket beter sig i Debian.
Exempel på användning
Så här installerar du ett .deb-paket:
dpkg -i filnamn.deb
där filnamn.deb är namnet på Debian-paketet (t.ex. pkgname_0.00-1_amd64.deb ).
Listan över installerade paket kan hämtas med:
dpkg -l [valfritt mönster]
Så här tar du bort ett installerat paket:
dpkg -r paketnamn
Utvecklingsverktyg
dpkg-dev innehåller en rad utvecklingsverktyg som krävs för att packa upp, bygga och ladda upp Debian-källpaket.[8] Dessa inkluderar:
- dpkg-source paketerar och packar upp källfilerna i ett Debian-paket.
- dpkg-gencontrol läser informationen från ett uppackat Debian-trädkälla och genererar ett binärt paketkontrollpaket, vilket skapar en post för detta i Debian/files.
- dpkg-shlibdeps beräknar kraven för körningar med avseende på bibliotek.
- dpkg-genchanges läser informationen från en uppackad Debian-trädkälla som en gång har skapats skapar en kontrollfil (.changes).
- dpkg-buildpackage är ett kontrollskript som kan användas för att konstruera paketet automatiskt.
- dpkg-distaddfile lägger till en filinmatning i debian/files.
- dpkg-parsechangelog läser ändringsfilen (changelog) för en uppackad Debian-trädkälla och skapar en smidigt förberedd utdata med informationen för dessa ändringar.
Databas
Dpkg-databasen finns under /var/lib/dpkg
; "status"-filen innehåller listan över installerad programvara i det aktuella systemet. Det finns ingen information om programvarulager i denna databas.[9]
Referenser
- ^ ”dpkg package file list”. Debian project. https://packages.debian.org/sid/amd64/dpkg/filelist.
- ^ ”Removal of install-info from dpkg”. Debian project. https://lists.debian.org/debian-devel/2013/05/msg00243.html.
- ^ ”GNU Texinfo project”. GNU project. https://www.gnu.org/software/texinfo/.
- ^ ”dpkg Shell implementation”. Dpkg Developers. https://www.dpkg.org/history/ancient/README.
- ^ ”dpkg perl implementation”. git (Dpkg Developers). https://git.dpkg.org/cgit/dpkg/dpkg.git/plain/scripts/perl-dpkg.pl?id=1b80fb16c22db72457d7a456ffbf1f70a8dfc0a5.
- ^ ”dpkg C implementation”. git (Dpkg Developers). https://git.dpkg.org/cgit/dpkg/dpkg.git/plain/main/main.c?id=1b80fb16c22db72457d7a456ffbf1f70a8dfc0a5.
- ^ ”dpkg history”. Arkiverad från originalet den 7 februari 2015. https://web.archive.org/web/20150207151202/http://www.wiggy.net/presentations/2001/DpkgEvolution/html/mgp00005.html. Läst 11 maj 2021.
- ^ ”dpkg-dev package file list”. Debian project. https://packages.debian.org/sid/amd64/dpkg-dev/filelist.
- ^ ”dpkg”. Debian. 5 juni 2012. https://manpages.debian.org/dpkg.1.
Externa länkar
- Den här artikeln är helt eller delvis baserad på material från engelskspråkiga Wikipedia.