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 13/11/2007, 07:52]
marc31 un titre plus complet pour avoir quelque chose de lisible quand on liste les tags apt
dpkg [Le 03/05/2023, 18:05] (Version actuelle)
bcag2 [Suppression] les paquets avec rc
Ligne 1: Ligne 1:
-{{tag>dapper edgy feisty brouillon ​apt}}+{{tag>Focal administration système ​apt}}
  
 +====== dpkg : le gestionnaire de paquets bas niveau de Ubuntu ======
  
-====== ​dpkg - le gestionnaire ​de packet ​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]].\\ 
 +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]]. ​
  
 +===== Utilisation =====
  
-''​dpkg''​ est un outil logiciel pour l'​installation, ​la création, la suppression et la gestion des paquets Debianet donc UbuntuIl permet aussi la gestion ​de paquets ​en provenance ​de sources extérieures aux [[:depots|dépôts]] [[:apt|APT]], au format ​.deb.+À 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épendancesAinsi 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.
  
-===== Pré-requis =====+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==== 
 +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 %%-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''​ nécessite les [[:​sudo|droits d'​administration]] pour être exécuté. ​+==== Installer un programme dans un dossier spécifique à partir de paquets standards====
  
 +Créer un dossier et se placer à l'​intérieur. ( **mon_dossier_qui_va_bien** ) par exemple.
  
 +Installer les paquets avec **dpkg-deb** :
  
-===== Utilisation =====+  for i in [chemin vers **mon_dossier_qui_va_bien**]/​DEBS/​*.deb;​ do dpkg-deb -x $i . ; done 
 +   
 +Tout se retrouve à l'​intérieur de **mon_dossier_qui_va_bien**,​ chercher les exécutables pour lancer/​faire des raccourcis vers les programmes.
  
 +==== Suppression ====
  
-==== Décompression ====+  * <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 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 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.
  
-  * <​code>​dpkg --unpack paquet.deb</​code>​ Décompresse le paquet, sans rien configurer.  +<​note ​tip
- + Cette dernière commande est utile, mais risquée, et permet de forcer la suppression ​d'​un ​paquet etnormalementcelle de ses fichiers de configuration (sauf, notamment, si on en a modifié ​ou ajouté...) quand par la méthode normale cela bloque les processus de gestion apt.
-<​note>​ +
-À l'​identique ​d'​un ​archiveur qui décompresse une archive zipbz2, ou gz, mais dans ce cas est spécifique au format ​.deb+
 </​note>​ </​note>​
 +==== Lister ====
 + 
 +  * <​code>​dpkg -l chaîne</​code>​L'​option %%-l%%, ou %%--list%%, effectue une recherche et affiche une liste des paquets satisfaisant un motif de recherche.
 +  * <​code>​dpkg -S fichier</​code>​L'​option %%-S%%, ou %%--search%%,​ affiche tous les paquets contenant le fichier indiqué en tant que critère de recherche.
  
-==== Installation ==== 
  
-  *<​code>​dpkg -i paquet.deb</​code>​L'​option ''​-i'',​ ou ''​--install'',​ installe le ou les paquets indiqués, au format .deb.  ''​dpkg''​ ne gère pas les dépendances,​ contrairement à ''​apt-get''​. 
  
  
 +==== Vérifier la présence d'un paquet ​ ====
 +utiliser dpkg -l comme ci-dessus conduit à une liste très longue. Si vous souhaitez simplement vérifier la présence d'un paquet ajouter tout ou partie du nom du paquet éventuellement suivi (voir précédé) de * :
 +<​code>​dpkg -l nom_du_paquet</​code>​
 +exemple :
 +<​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
 +__Première colonne__ : souhait
 +i : Install (à installer)
 +r : Remove (à supprimer)
 +u : Unknown (inconnu)
 +p : Purge (à supprimer avec les fichiers de configuration)
 +h : Hold (à conserver)
 +__Seconde colonne__ : état
 +i : Installed (installé)
 +c : Config-files (fichier(s) de configuration existant)
 +u : Unpacked (dé-compressé)
 +n : Not Installed (non installé)
 +f : Failed-config (problème de configuration)
 +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 =====
  
-==== Suppression ====+    * le manpage : <​code>​man dpkg</​code>​
  
-  ​<​code>​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). +    ​[[http://manpages.ubuntu.com/​manpages/​precise/​fr/​man1/​dpkg-deb.1.html|Le manpage Ubuntu]]
-  * <​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>​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> +    * [[http://​plfnicolarius.free.fr/tutoriel_logiciel_outils_gestion_paquets_debian.php|Outils de gestion des paquets sous Debian et Ubuntu]]
- Cette dernière commande est utile, mais risquée, et permet de forcer la suppression d'un paquet, ces dépendances et fichiers de configuration quand par la méthode normale cela bloque les processus de gestion apt. +
-</note>+
  
-==== Lister ==== 
-  
-  * <​code>​dpkg -l chaîne</​code>​L'​option ''​-l'',​ ou ''​--list'',​ effectue une recherche et affiche une liste des paquets satisfaisant un motif de recherche. 
-  * <​code>​dpkg -S fichier</​code>​L'​option ''​-S'',​ ou ''​--search'',​ affiche tous les paquets contenant le fichier indiqué en tant que critère de recherche. 
-  * <​code>​dpkg -L paquet.deb</​code>​L'​option ''​-L'',​ ou ''​--listfiles'',​ retourne la liste des fichiers contenus dans le ou les paquets .deb indiqués. 
-  * <​code>​dpkg --get-selections > liste_paquets</​code>​L'​option ''​-get-selections''​ retourne la liste de tous les paquets installes sur la machine. 
-  * <​code>​dpkg --set-selections < liste_paquets</​code>​L'​option ''​-set-selections''​ marque comme **A installer** les paquets donnes par la liste : liste_paquets,​ il suffit d'un dselect install pour effectuer l'​installation. 
  
 +----
 +//
  
  
-===== Références ===== +Contributeurs : [[utilisateurs:​ste]] ; [[utilisateurs:​mimilus]]//
- +
-  * le manpage : <​code>​man dpkg</​code>​ +
- +
----- +
-// +
-Contributeurs : [[utilisateurs:​ste]]//​+
  • dpkg.1194936752.txt.gz
  • Dernière modification: Le 13/11/2007, 07:53
  • (modification externe)