Dpkg

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Gestion des paquets (Debian/Ubuntu)
Commande dpkg
Contexte Debian, Ubuntu et dérivés — outil bas niveau, sans résolution de dépendances
Voir aussi Rpm (équivalent RHEL/CentOS)

dpkg est l'outil bas niveau de gestion des paquets .deb sous Debian/Ubuntu : installation, suppression, interrogation du contenu et de l'état des paquets déjà installés. Il ne résout pas les dépendances ni ne télécharge quoi que ce soit depuis un dépôt — c'est le rôle de apt/apt-get, qui s'appuie sur dpkg pour le travail effectif d'installation. En pratique : apt install au quotidien, dpkg pour inspecter un .deb local ou dépanner un paquet déjà en place.

Installer / désinstaller

dpkg -i toto.deb                    # installer un paquet local
dpkg -i --force-overwrite toto.deb  # forcer malgré un conflit de fichiers déjà présents

dpkg -r toto                        # désinstaller (garde les fichiers de configuration)
dpkg --purge toto                   # désinstaller et supprimer aussi les fichiers de conf

Si dpkg -i échoue faute de dépendances manquantes, apt-get install -f (ou apt --fix-broken install) les récupère et termine la configuration.

Interroger un paquet

dpkg -l                    # lister tous les paquets installés
dpkg -l 'toto*'            # filtrer par motif

dpkg -s toto               # état détaillé d'un paquet installé (Status, Version, Depends...)
dpkg -I toto.deb           # infos d'un .deb pas encore installé (équivalent -s hors installation)

dpkg -L toto               # fichiers installés par un paquet déjà en place
dpkg -c toto.deb           # contenu d'un .deb pas encore installé (équivalent -L hors installation)

dpkg -S /usr/bin/toto      # trouver quel paquet possède ce fichier (sens inverse de -L)

-L/-S sont l'un l'inverse de l'autre : -L part du paquet pour lister ses fichiers, -S part d'un fichier pour retrouver son paquet.

Extraction et reconfiguration

dpkg -x toto.deb repertoire/   # extraire les fichiers d'un .deb sans l'installer

dpkg --configure toto          # terminer la configuration d'un paquet resté à moitié installé
dpkg --configure -a            # idem pour tous les paquets en attente (après une coupure apt)

dpkg-reconfigure toto          # rejouer les questions de configuration (debconf) d'un paquet déjà installé

dpkg --configure -a est le premier réflexe après un apt interrompu (paquets affichés en état iF ou iU dans dpkg -l).

Sauvegarder / restaurer la liste des paquets

dpkg --get-selections > paquets.txt    # exporter la liste des paquets installés

dpkg --set-selections < paquets.txt    # réimporter la sélection sur une autre machine
apt-get dselect-upgrade                # puis installer effectivement la sélection importée

Les dépôts eux-mêmes (URLs des miroirs) sont déclarés dans /etc/apt/sources.list (et /etc/apt/sources.list.d/) — dpkg ne s'en occupe pas, c'est la couche apt.

Voir aussi

  • Rpm — équivalent RHEL/CentOS (dpkg/apt côté Debian correspond à rpm/yum côté RHEL)
  • Yum — équivalent RHEL/CentOS de apt/apt-get