Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
dpkg [Le 29/10/2017, 19:30]
Toobuntu ancienne révision (Le 03/06/2017, 15:55) restaurée, ??? pourquoi tant de haine
dpkg [Le 03/05/2023, 18:05] (Version actuelle)
bcag2 [Suppression] les paquets avec rc
Ligne 1: Ligne 1:
-{{tag>Xenial Trusty ​administration système apt}}+{{tag>Focal administration système apt}}
  
 ====== dpkg : le gestionnaire de paquets bas niveau de Ubuntu ====== ====== dpkg : le gestionnaire de paquets bas niveau de Ubuntu ======
  
 **dpkg** (pour **D**ebian **p**ac**k**a**g**e) est l'​outil de bas niveau gérant les paquets des distributions basées sur Debian. Indispensable au bon fonctionnement d'​Ubuntu,​ cet outil est intégré de base dans toutes ses [[:​versions]] et [[:​variantes]].\\ **dpkg** (pour **D**ebian **p**ac**k**a**g**e) est l'​outil de bas niveau gérant les paquets des distributions basées sur Debian. Indispensable au bon fonctionnement d'​Ubuntu,​ cet outil est intégré de base dans toutes ses [[:​versions]] et [[:​variantes]].\\
-Utilisable en [[commande_shell|ligne de commande]], il est chargé de l'​installation, ​la création, ​la suppression et la gestion des paquets Debian (//.deb//), le type de paquets traités par Ubuntu. Il permet aussi la gestion de paquets Debian en provenance de sources extérieures aux [[:​depots|dépôts APT]].  +Utilisable en [[commande_shell|ligne de commande]], il est chargé de l'​installation, ​ la suppression et la gestion des paquets Debian (//.deb//), le type de paquets traités par Ubuntu. Il permet aussi la gestion de paquets Debian en provenance de sources extérieures aux [[:​depots|dépôts APT]]. ​
- +
-===== Pré-requis ===== +
-  * Disposer des [[:​sudo|droits d'​administration]]. +
-  * Disposer d'une connexion à Internet configurée et activée. +
-  * Disposer de quelques notions d'​utilisation d'un [[:terminal]]. +
  
 ===== Utilisation ===== ===== Utilisation =====
  
-À la différence de la commande [[:​apt-get]],​ de la [[:software-center|Logithèque]],​ ou de [[:GDebi]], **dpkg** est un outil qui ne gère pas les dépendances. Ainsi en cas de conflit ou bien lorsque seuls certains paquets impliquant trop de dépendances font défaut, l'​utilisation de cet outil devient presque indispensable. [[:​Synaptic]] et d'​autres [[:​gestionnaire de paquets|gestionnaires de paquets]] utilisent justement cet outil pour résoudre certains problèmes caractéristiques.\\+À la différence de la commande [[:​apt-get]],​ de la [[:gnome-software|Logithèque]],​ ou de [[:GDebi]], **dpkg** est un outil qui ne gère pas les dépendances. Ainsi en cas de conflit ou bien lorsque seuls certains paquets impliquant trop de dépendances font défaut, l'​utilisation de cet outil devient presque indispensable. [[:​Synaptic]] et d'​autres [[:​gestionnaire de paquets|gestionnaires de paquets]] utilisent justement cet outil pour résoudre certains problèmes caractéristiques.\\
 Il permet donc de '​jouer'​ sur un seul paquet (installation,​ suppression,​ reconfiguration ) sans bouleverser les dépendances. Il permet donc de '​jouer'​ sur un seul paquet (installation,​ suppression,​ reconfiguration ) sans bouleverser les dépendances.
  
 Parmi ses autres fonctions, **dpkg** permet aussi d'​avoir des informations précises telles que l'​état ou la description détaillée,​ des paquets disponibles. Parmi ses autres fonctions, **dpkg** permet aussi d'​avoir des informations précises telles que l'​état ou la description détaillée,​ des paquets disponibles.
- 
 ==== Installation de paquets==== ==== Installation de paquets====
 Quelques [[:​commande_shell|commandes]] utilisées pour installer les paquets: Quelques [[:​commande_shell|commandes]] utilisées pour installer les paquets:
   * L'​option %%-i%%, ou %%--install%%,​ installe le ou les paquets indiqués, au format .deb.  <​code>​sudo dpkg -i <​paquet.deb></​code>​   * L'​option %%-i%%, ou %%--install%%,​ installe le ou les paquets indiqués, au format .deb.  <​code>​sudo dpkg -i <​paquet.deb></​code>​
   * L'​option %%-R%%, ou %%--recursive%% (associée à %%-i%%), installe tous les paquets se trouvant dans le répertoire de travail et ses sous-répertoires:​ <​code>​sudo dpkg -i -R *.deb</​code>​   * L'​option %%-R%%, ou %%--recursive%% (associée à %%-i%%), installe tous les paquets se trouvant dans le répertoire de travail et ses sous-répertoires:​ <​code>​sudo dpkg -i -R *.deb</​code>​
-**dpkg** ne gère pas les dépendances,​ il faut ensuite, pour compléter l'​installation d'une application possédant des dépendances,​ exécuter dans un [[:​terminal]] la [[:​commande_shell|commande]]:<​code>​sudo apt-get -f install</​code>​ Cette [[:​commande_shell|commande]] installera les dépendances. et terminera l'​installation du programme.+ **dpkg** ne gère pas les dépendances,​ il faut ensuite, pour compléter l'​installation d'une application possédant des dépendances,​ exécuter dans un [[:​terminal]] la [[:​commande_shell|commande]]:<​code>​sudo apt-get -f install</​code>​ Cette [[:​commande_shell|commande]] installera les dépendances. et terminera l'​installation du programme.
  
 ==== Installer un programme dans un dossier spécifique à partir de paquets standards==== ==== Installer un programme dans un dossier spécifique à partir de paquets standards====
Ligne 36: Ligne 30:
 ==== Suppression ==== ==== Suppression ====
  
-  * <​code>​sudo dpkg -r nom_du_paquet</​code>​ L'​option %%-r%% ou %%--remove%% supprime le (ou les) paquet(s) indiqué(s) mais pas les fichiers de configuration associés au(x) paquet(s). +  * <​code ​bash>sudo dpkg -r nom_du_paquet</​code>​ L'​option %%-r%% ou %%--remove%% supprime le (ou les) paquet(s) indiqué(s) mais pas les fichiers de configuration associés au(x) paquet(s). 
-  * <​code>​sudo dpkg -P nom_du_paquet</​code>​ L'​option %%-P%% ou %%--purge%% permet de supprimer les fichiers de configuration associés en même temps que le paquet indiqué. +  * <​code ​bash>sudo dpkg -P nom_du_paquet</​code>​ L'​option %%-P%% ou %%--purge%% permet de supprimer les fichiers de configuration associés en même temps que le paquet indiqué. 
-  * <​code>​sudo dpkg --force-all --purge nom_du_paquet</​code>​ L'​usage des options %%--force-all%% et %%--purge%% permet de forcer la désinstallation du paquet et de supprimer les fichiers de configuration associés.+  * <​code ​bash>​sudo apt -y purge ` dpkg -l | grep "​^rc"​ | awk '​{print $2}' `</​code>​supprime tous les paquets avec les options //rc// (//remove// et //​config-files//,​ cf. plus bas la signification) 
 +  * <code bash>sudo dpkg --force-all --purge nom_du_paquet</​code>​ L'​usage des options %%--force-all%% et %%--purge%% permet de forcer la désinstallation du paquet et de supprimer les fichiers de configuration associés.
  
 <note tip> <note tip>
Ligne 57: Ligne 52:
 <​code>​dpkg -l *office*</​code>​ liste tous les paquets liés à libreoffice et openoffice <​code>​dpkg -l *office*</​code>​ liste tous les paquets liés à libreoffice et openoffice
  
-Les deux premiers caractères à gauche vous donnent des indications sur l'​état du paquet\\  +Les deux premiers caractères à gauche vous donnent des indications sur l'​état du paquet 
-__Première colonne__ : souhait\\  +__Première colonne__ : souhait 
-i : Install (à installer)\\  +i : Install (à installer) 
-r : Remove (à supprimer)\\  +r : Remove (à supprimer) 
-u : Unknown (inconnu)\\  +u : Unknown (inconnu) 
-p : Purge (à supprimer avec les fichiers de configuration)\\  +p : Purge (à supprimer avec les fichiers de configuration) 
-h : Hold (à conserver)\\  +h : Hold (à conserver) 
-__Seconde colonne__ : état\\  +__Seconde colonne__ : état 
-i : Installed (installé)\\  +i : Installed (installé) 
-c : Config-files (fichier(s) de configuration existant)\\  +c : Config-files (fichier(s) de configuration existant) 
-u : Unpacked (dé-compressé)\\  +u : Unpacked (dé-compressé) 
-n : Not Installed (non installé)\\  +n : Not Installed (non installé) 
-f : Failed-config (problème de configuration)\\  +f : Failed-config (problème de configuration) 
-h : Half-installed (installé partiellement)\\ ​+h : Half-installed (installé partiellement) 
 + 
 +==== pkg-config ==== 
 +[[wpfr>​pkg-config]] permet, notamment pour les développeurs,​ de récupérer le chemin où a été installé une librairie. 
 +Ainsi, si on tape en [[:​tutoriel/​console_ligne_de_commande|ligne de commande]]:​ 
 +<​code>​pkg-config --cflags --libs libpng</​code>​ 
 +cela retourne : 
 +<​code>​-I/​usr/​include/​libpng12 -lpng12</​code>​ 
 +qui correspond à la syntaxe pour inclure cette librairie pour la compiler et la lier à un programme avec le  compilateur [[:gcc]]\\ 
 +L'​utilisation classique est donc: 
 +<​code>​gcc -o test test.c $(pkg-config --libs --cflags libpng)</​code>​
  
 +Ces informations sont contenues dans des fichiers //.pc// recherchés dans différents répertoires,​ voici comment savoir où:
 +<​code>​pkg-config --variable pc_path pkg-config</​code>​
 ===== Références ===== ===== Références =====
  
  • dpkg.1509301810.txt.gz
  • Dernière modification: Le 29/10/2017, 19:30
  • par Toobuntu