Dpkg

dpkg er pakkesystemet i Linuxdistribusjonen Debian og alle dens tallrike derivater.

Selve dpkg er et underliggende verktøy eller en back end. Det benyttes av andre verktøy på høyere nivåer. Advanced Packaging Tool (APT) er presentasjonslaget til dpkg.

Første versjon ble lansert i januar 1994. Siste versjon er 1.22.21 som ble lansert 2. juli 2025. 

Debianpakken dpkg-dev inkluderer verktøyene som kreves for å lage .deb-pakker og beskrives under:

Historie
Det første pakkesystemet for Linux var StopAlop. Det ble laget av Greg Wettstein ved Roger Maris Cancer Center i Fargo, Nord-Dakota. Det ga inspirasjon til skapelsen av dpkg.The dpkg shell implementation

dpkg ble laget av Ian Murdock (1973–2015) i januar 1994 som et skallskript. 

Senere i 1994 ble det omskrevet av Matt Welsh, Carl Streeter og Ian Murdock i  programmeringsspråket Perl.

Enda senere i 1994 ble mesteparten omskrevet i programmeringsspråket C av Ian Jackson.

Etymologi
dpkg var opprinnelig en forkortelse for Debian Package, men kan også stå for filetternavnet .deb og for Debian Policy Manual.

 Utbredelse 
Det finnes mange pakkesystemer for Linux. Dkpg er et av de mest utbredte. Det benyttes av distribusjonen Debian og dens tallrike derivater.

Pakkesystemet dpkg brukes blant annet av distribusjonene Ubuntu, Linux Mint, Tails, Proxmox, Kali Linux, Pardus og Astra Linux. Nettstedet DistroWatch oppramset 23. januar 2026 hele 511 nåværende og tidligere Linuxdistribusjoner som bruker eller har brukt pakkesystemet dpkg.Search Distributions DEB, DistroWatch, 8. juni 2025

Et annet utbredt pakkesystem er RPM Package Manager (RPM). Det ble utviklet av Red Hat for Red Hat Linux, og benyttes idag av Fedora, Red Hat Enterprise Linux, og deriverte distribusjoner som SUSE Linux og OpenMandriva Lx. Nettstedet DistroWatch oppramset 23. januar 2026 hele 230 nåværende og tidligere Linuxdistribusjoner som bruker eller har brukt pakkesystemet RPM.Search Distributions RPM, DistroWatch, 8. juni 2025

Liksom dpkg har sin opprinnelse i StopAlop, slik er RMP en videreutvikling av pms. Og slik dpkg har APT som presentasjonslag, slik er DNF presentasjonslaget til RMP.

 Tilleggsprogrammer
Flere tilleggsprogrammer er nødvendige for å gi dpkg kjøretidsfunksjonalitet. Av disse kan nevnes dpkg-statoverride, dpkg-divert og update-alternatives.baeldung: The update-alternatives Command in Linux, baeldung.com, 24. juli 2024

Det omfatter også programmer som start-stop-daemon start-stop-daemon (8), man7.org, Linux manual page og install-info. Det siste beholdes mest for bakoverkompatibilitet. Det utvikles og distribueres separat i dag.install-info (6.5.0.dfsg.1-4+b1), packages.debian.orgINSTALL-INFO (1), unix.com [debian man page]

 Å lage .deb-filer 

.deb-filer bygges vanligvis ved å kalle dpkg-buildpackage. dpkg-buildpackage leser flere filer for å finne ut hvordan pakken skal bygges. Disse filene finnes i debian underkatalogen av kildetreet.

Det er fire filer som kreves, copyright-filen inneholder lisensbetingelsene. control-filen inneholder pakkenavnet, -beskrivelse, og avhengigheter. rules-filen er en Makefile som har regler for å bygge debianpakken. Programmer fra debhelper programpakken blir ofte kalt i rules-filen. I tillegg inkluderer noen pakker Makefile-linjer fra CDBS, for å forenkle rules-filen. Til slutt er changelog-filen, som burde inneholde en logg over forandringene. Det fleste pakkene inkluderer også andre filer for å gjøre forskjellige ting.

Så snart en debianpakke blir bygget, kan den bli sjekket for vanlige problemer ved hjelp av et lintian verktøy.

 dpkg kompileringsverktøy 
Debian har en rekke verktøy som kalles for å bygge en pakke. De er følgende: 
dpkg-source pakker og pakker ut kildekode filene fra en debianpakke.
dpkg-deb pakker og pakker ut binærpakker.
dpkg-gencontrol leser informasjon fra en ikke utpakket debian-trekilde og generer en binær pakke-kontroll pakke, som lager en innføring i Debian/files.
dpkg-shlibdeps kalkulerer avhengighetene og kjører med hensyn til bibliotekene.
dpkg-genchanges leser informasjon fra et utpakket Debian-trekilde som med en gang den er laget, lager en kontrollfil. (.changes). 
dpkg-buildpackage er et kontrollskript som kan brukes til å konstruere pakken automatisk. 
dpkg-distaddfile legger en fils input til debian/files. 
dpkg-parsechangelog leser changes''-filen (endringsloggen) til et utpakket Debian-trekilde og lager passelig forberedt utdata med informasjon for disse endringene.

 Avarter 
 ipkg
ipkg er en avart av dpkg. Det er et pakkesystem for Linux-installasjoner med begrenset harddiskplass.

wpkg

wpkg er en avart for Microsoft Windows. Den utviklet senere funksjonalitet som lignet på APT, fikk forbedret håndtering av programvarelageret og distribuering og ble portert til Linux og Unix-liknende systemer, deriblant Cygwin, Mingw32, macOS, OpenSolaris og FreeBSD.

Det beholder kompatibilitet med filformatet .deb og er utstyrt med den eksekverbare filen wpkg.exe'''. Versjon 1.0 ble lansert 17. september 2015. Det er ikke kommet senere versjoner.

Se også
 RPM Package Manager
 alien (programvare)
 Linux
 APT
 Ubuntu
 Debian

Referanser

Eksterne lenker

 Debian's dpkg package
 Debian dpkg epostliste


Kategori:Programvare fra 1994
Kategori:1994 i USA