dpkg è simile a RPM, in quanto è usato per installare, disinstallare ed ottenere informazioni sui pacchetti .deb. dpkg però è un tool di cosiddetto basso livello in quanto non risolve le dipendenze dei pacchetti; allo scopo venne sviluppato l'Advanced Packaging Tool APT, che può essere usato anche per scaricare pacchetti da computer remoti e per gestire complesse relazioni tra pacchetti.
Debian offre inoltre il programma dpkg, come pure molti altri, necessari per il funzionamento del gestore di pacchetti. Tra i principali programmi vi sono dpkg-statoverride, dpkg-divert e update-alternatives. Sono anche inclusi programmi come start-stop-daemon e install-info (ora sviluppato e distribuito a parte).
Il pacchetto "dpkg-dev" invece comprende numerosi strumenti come descritto in seguito.
Utilizzo
Per installare un pacchetto, si utilizza la seguente sintassi:
dpkg -i <nome pacchetto(file)>.deb
Per disinstallarlo, invece, si utilizza:
dpkg -r <nome pacchetto>
Per ulteriori dettagli si consiglia di consultare il manuale direttamente dalla shell di Linux (digitando man dpkg).
La compilazione
I pacchetti debian sono solitamente costruiti da dpkg -b, che legge vari files per acquisire le necessarie informazioni per la compilazione. Questi file si trovano nella sotto-directorydebian.
Vi sono quattro file necessari. Il file copyright contiene la licenza. Il file control contiene il nome del pacchetto, la sua descrizione e le dipendenze. Il file rules è un Makefile che contiene le regole su come compilare un pacchetto debian. Si fa spesso riferimento in questo file a pacchetti appartenenti alla suite debhelper.
Inoltre, alcuni pacchetti comprendono parti del CDBS per semplificare il file rules. Infine vi è il file changelog, che contiene la cronologia delle modifiche del pacchetto. Possono essere presenti anche altri file, per ulteriori funzionalità.
Una volta compilato il pacchetto debian, può essere controllato per problemi comuni grazie allo strumento lintian.
Strumenti
Debian ha una serie di strumenti che possono essere usati per la compilazione di un pacchetto:
dpkg-source comprime e decomprime i file sorgenti di un pacchetto Debian.
dpkg-deb comprime e decomprime i pacchetti binari.
dpkg-gencontrol legge le informazioni dalla struttura ad albero di un pacchetto e crea un pacchetto binario di controllo, aggiungendolo in debian/files.
dpkg-shlibdeps calcola le dipendenze a seconda delle librerie.
dpkg-genchanges legge le informazioni dalla struttura ad albero di un pacchetto e crea il file di controllo .changes.
dpkg-buildpackage è uno script di controllo che può essere usato per costruire il pacchetto automaticamente.
dpkg-distaddfile aggiunge un file in debian/files.
dpkg-parsechangelog legge il changelog di un pacchetto e crea un output formattato con le informazioni sui cambiamenti.
Altri strumenti utili per la gestione dei pacchetti .deb sono: apt, aptitude, dselect, alien.