Table des matières

dpkg et dpkg-deb

Présentation

dpkg est un outil de manipulation des paquets de niveau intermédiaire, il permet entre autre la création, l'installation et la désinstallation de paquets sur Debian.

Il se contrôle entièrement en ligne de commande et contrairement à apt-get ou aptitude il ne peut pas installer de paquet en provenance de dépôts2) internet et ne gére pas automatiquement les dépendances entre les paquets.
À cause de cette dernière caractéristique, il ne faut pas l'utiliser en temps normal pour installer et désinstaller des paquets.

Si dans une utilisation normale, on doit privilégier l'utilisation d'un gestionnaire de paquets (aptitude, apt, synaptic), la commande dpkg est bien souvent le seul moyen d'installer des paquets qui ne sont pas présents dans les dépôts Debian et que l'on a téléchargés ailleurs.

Petit rappel : il faut vraiment avoir besoin d'un paquet qui ne se trouve pas sur un dépôt Debian pour vouloir l'installer et savoir ce que l'on fait. Il en va de l'intégrité et de la stabilité de sa distribution.

Reconfigurer vos locales

dpkg-reconfigure locales -plow

Et ne cocher que celles qui vous intéressent.

Option -l

L'option -l liste tous les paquets installés avec beaucoup d'informations.
Pour faire une recherche spécifique sur un paquet, par exemple firefox-esr, utiliser grep ainsi :

dpkg -l | grep firefox-esr

Option -S

Pour rechercher de quel paquet provient un fichier :

dpkg -S fichier

Exemple :

dpkg -S /usr/bin/glxinfo

Indiquera de quel paquet ce fichier provient :

retour de la commande
mesa-utils: /usr/bin/glxinfo

Donc du paquet mesa-utils.

Le paquet apt-file est capable de réaliser la même fonction

Installer un paquet .deb

Comme nous l'avons mentionné, dpkg ne gère pas les dépendances. Aussi, la plupart du temps, l'installation d'un paquet ne se limite pas uniquement à ce dernier. Il faut installer tous les paquets qui dépendant l'un de l'autre.

Prenons un cas simple soit vouloir installer un paquet, paquet1, qui a une seule autre dépendance, paquet2. On commence donc par télécharger les deux paquets en question dans un répertoire donné. Une fois cela fait, on ouvre un terminal et on se place dans le répertoire où se trouvent nos deux paquets .deb. Il ne reste plus alors qu'à taper, en root, la commande suivante :

dpkg -i *.deb

et les paquets seront installés.

Si certains .deb sont dans des sous-répertoires, descendez dans ces sous-répertoire et relancer

dpkg -i *.deb.

Effacer le répertoire de téléchargement des paquets .deb, il ne sert plus à rien.

Astuce :

Cette ligne de commande traite en une seule passe les .deb du répertoire /dossier/contenant/les/paquets ainsi que ceux des sous-répertoires suivants :

dpkg -R -i /dossier/contenant/les/paquets/

Extraire un .deb

On peut extraire un .deb grace à la commande :

dpkg -x /mon/paquet.deb /répertoire/cible

Option --get-selections

Cette option liste l'ensemble des paquetages installés.

Une utilisation intéressante de ce listage, c'est de créer une liste d'installation reproductible sur ce pc comme sur d'autres en la récupérant aussi sur un support amovible !

Créer la liste des paquetages installés

dpkg --get-selections > /chemin/de/mes_paquetages

Remplacer :

 /chemin/de/

par le chemin réel sur votre machine. ;-)

Récupérer la liste

dpkg --set-selections < /chemin/de/mes_paquetages

Installer la liste

apt-get dselect-upgrade

Nota :

La commande :

dpkg -l

retourne bien la liste des paquets installés mais avec plus d'informations, cependant il n'est pas possible de l'utiliser pour installer une liste de paquets.

aptitude-create

Voir :

Liens et remerciement

Merci à ce site pour toutes les informations pertinentes qu'il propose :

Et à tux12 de nous l'avoir rappelé sur le forum.

1)
N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
2)
Voir : apt