Présentation
dpkg
sous Linux est le principal gestionnaire de paquets pour Debian et les systèmes basés sur Debian, tels qu'Ubuntu. L'outil installe, construit, supprime, configure et récupère les informations des packages Debian. La commande fonctionne avec les packages dans .deb formater.
Ce guide explore le dpkg
syntaxe de commande et options à travers divers exemples.
Prérequis
- Un système avec Debian ou un système d'exploitation basé sur Debian.
- Accès à la ligne de commande/au terminal en tant que sudo.
- Un .deb fichier pour travailler avec les exemples.
Syntaxe de la commande dpkg
La syntaxe de base pour le dpkg
la commande est :
dpkg [options] action
La commande accepte une action et zéro ou plusieurs options.
Le dpkg
La commande agit comme une interface pour les deux outils suivants :
1. Le dpkg-deb
commande, qui affiche des informations sur .deb paquets.
2. La requête dpkg-query
commande, qui affiche les informations de la base de données dpkg.
Le dpkg
la commande exécute des actions depuis dpkg-query
et dpkg-deb
. Par conséquent, les deux commandes suivantes affichent le même résultat :
dpkg -l
dpkg-query -l
L'action -l
est une dpkg-query
action qui répertorie tous les packages de la base de données dpkg. Le dpkg
la commande détecte les options étrangères et exécute dpkg-query
automatiquement.
Options de commande dpkg
Le tableau ci-dessous fournit de brèves descriptions des options et actions couramment utilisées pour le dpkg
commande.
Syntaxe | Type | Description |
---|---|---|
-i <package.deb> --install <package.deb> | Action | Installe le package. |
--unpack <package.deb> | Action | Déballe le package sans configuration. |
--configure <package> | Action | Configure un package décompressé. |
-r <package> --remove <package> | Action | Supprime un package installé. Ne supprime pas les fichiers de configuration et autres données. |
-P <package> --purge <package> | Action | Purge un package installé ou supprimé. Supprime les fichiers de configuration et autres données. |
--get-selections | Action | Récupère les packages avec les sélections actuelles. |
--set-selections | Action | Définit les états de sélection de fichier à partir d'un fichier lu à partir de l'entrée standard. |
-b <directory> --build <directory> | Action (depuis dpkg-deb) | Construit un .deb paquet. |
-c <package.deb> --contents <package.deb> | Action (depuis dpkg-deb) | Listes contenu du paquet. |
-I <package.deb> --info <package.deb> | Action (depuis dpkg-deb) | Affiche des informations sur un paquet. |
-l <pattern> --list <pattern> | Action (depuis dpkg-query) | Répertorie les packages en faisant correspondre le modèle. |
-L <package> --listfiles <package> | Action (depuis dpkg-query) | Répertorier les emplacements des fichiers des packages installés. |
-s <package> --status <package> | Action (depuis dpkg-query) | Affiche l'état d'un package installé. |
-S <pattern> --search <pattern> | Action (depuis dpkg-query) | Rechercher un modèle dans les packages installés. |
-R --recursive | Option | Gère l'action de manière récursive dans le répertoire cible et les sous-répertoires. |
--log=<file> | Option | Journalise les mises à jour de changement d'état dans un fichier. |
--no-act --dry-run --simulate | Option | Affiche la sortie sans valider les modifications. À utiliser avant l'action. |
Les actions qui modifient le système, telles que l'installation ou la suppression de packages, nécessitent des privilèges sudo. Les options basées sur les informations ne nécessitent pas de privilèges utilisateur spéciaux.
La gestion des accès privilégiés permet de sécuriser le système en interdisant aux utilisateurs réguliers d'apporter des modifications à l'ensemble du système.
Exemples de commande dpkg
Si vous avez un .deb package, passez aux exemples ci-dessous. Sinon, téléchargez un simple .deb package pour les tests, comme le cowsay gadget de ligne de commande.
Pour obtenir le fichier, exécutez la commande suivante :
wget http://archive.ubuntu.com/ubuntu/pool/universe/c/cowsay/cowsay_3.03+dfsg2-4_all.deb
Confirmez le .deb fichier téléchargé en listant le contenu du répertoire avec la commande ls :
ls -l *.deb
La sortie montre le .deb paquet.
Installer le package
Installez un paquet Debian avec le dpkg
commande et le -i
ou --install
balise :
sudo dpkg -i <package.deb>
Par exemple :
sudo dpkg -i cowsay_3.03+dfsg2-4_all.deb
La commande nécessite sudo pour installer un .deb paquet.
Répertorier les packages connus
Pour lister tous les packages connus, utilisez le -l
balise :
dpkg -l
La commande imprime les packages en mode pager. Naviguez à l'aide des touches fléchées ou utilisez l'espace lister par page. Appuyez sur q pour quitter la liste. Les colonnes répertorient le nom, la version, l'architecture et la description de chaque package.
Les trois premières colonnes fournissent un aperçu complet de l'état du package :
1. Sélection d'actions :
u
- Inconnui
- Installerh
- Tenezr
- Supprimerp
- Purger
2. État du colis :
n
- Non installéc
- Fichiers de configurationH
- À moitié installéU
- DéballéF
- À moitié configuréW
- En attente de déclencheurst
- Déclencheurs en attentei
- Installé
3. Indicateurs d'erreur :
R
- Réinstallation requise<empty>
- Aucune erreur
Par conséquent, un statut de package "ii
" signifie dpkg
installé avec succès le package sélectionné pour l'installation sans erreur.
Pour récupérer une instance spécifique de la liste, utilisez :
dpkg -l <package>
Par exemple :
dpkg -l cowsay
Pour répertorier plusieurs packages, séparez chaque nom de package par un espace.
Supprimer le paquet
Pour supprimer un paquet Debian, utilisez la commande suivante :
dpkg -r <package>
Par exemple, pour supprimer le package cowsay, utilisez :
sudo dpkg -r cowsay
Le -r
L'option ne supprime pas les fichiers de configuration. Utilisez cette option lors de la suppression du logiciel pour la réinstallation.
Pack de purge
Pour purger un paquet, utilisez le -P
choix :
sudo dpkg -P <package>
Par exemple :
sudo dpkg -P cowsay
La commande supprime un package ainsi que tous les fichiers de configuration. Utilisez la purge pour supprimer complètement un programme du système.
Afficher le contenu du paquet
Un .deb package contient plusieurs fichiers et répertoires, indiquant où se trouve le package après l'installation ou la décompression.
Pour afficher le contenu du package, exécutez :
dpkg -c <package.deb>
Par exemple :
dpkg -c cowsay*
La sortie montre tous les fichiers et répertoires dans le .deb fichier de package. L'exemple de package réside dans /usr/games/ et /usr/share/ après l'installation ou le déballage.
Déballer le colis
Pour décompresser le package sans configuration, utilisez :
sudo dpkg --unpack <package.deb>
Par exemple :
sudo dpkg --unpack cowsay*
La commande décompresse tous les fichiers du package.
Configurer le paquet
Pour configurer un .deb décompressé package ou reconfigurez un package installé, utilisez :
dpkg --configure <package>
Par exemple :
sudo dpkg --configure cowsay
Déballer et configurer un paquet Debian divise le processus d'installation en deux étapes.
Vérifier si le package est installé
Pour vérifier si un paquet est installé, utilisez le -s
balise :
dpkg -s <package>
Par exemple :
dpkg -s cowsay
Le statut indique si un package est installé.
Afficher les informations sur le package
Pour afficher les informations sur le paquet directement depuis le .deb fichier, utilisez la commande suivante :
dpkg -I <package.deb>
Par exemple :
dpkg -I cowsay*
La commande affiche des informations sur le package, telles que la taille, les dépendances et les références de documentation. Utilisez cette méthode pour vérifier les informations du package avant d'installer un package.
Installer tous les packages à partir d'un répertoire
Utilisez le -R
option avant -i
pour installer les packages de manière récursive :
dpkg -R -i <directory>
La commande installe tous les packages situés dans le répertoire et tous les sous-répertoires. Si plusieurs instances du même package sont décompressées, une seule configuration se produit.
Répertorier les emplacements des fichiers de package installés
Pour répertorier les fichiers de package et leur emplacement, utilisez le -L
balise :
dpkg -L <package>
Par exemple :
dpkg -L cowsay
La sortie répertorie tous les répertoires de fichiers et emplacements de fichiers.
Obtenir des sélections de packages
Pour récupérer les noms de packages par sélection, utilisez :
dpkg --get-selections
La liste affiche les noms de packages et le marquage de sélection.
Répertorier les packages installés
Pour récupérer une liste des packages installés, utilisez la commande suivante :
dpkg --get-selections | grep -v "deinstall" | awk '{ print $1 }'
La commande effectue les opérations suivantes :
grep
filtre les packages marqués"deinstall"
.awk
imprime uniquement la première colonne avec les noms de packages.
Utilisez cette méthode lorsque vous avez besoin d'une liste des programmes installés.
Définir les sélections de packages
Définissez la sélection de packages pour un package au format suivant :
echo <package> <state> | dpkg --set-selections
La commande attend l'état du package comme entrée standard. Les conditions possibles sont :
install
hold
deinstall
purge
unknown
Par exemple, pour arrêter la mise à jour d'un package, utilisez :
echo cowsay hold | sudo dpkg --set-selections
Le package est en attente, ce qui signifie que le programme ne reçoit aucune mise à jour automatique.
Rechercher un package contenant des fichiers
Pour trouver un package contenant un fichier, utilisez le -S
choix :
dpkg -S <pattern>
Par exemple, recherchez apt-get :
dpkg -S apt-get
La sortie affiche apt-get appartient à l'apt paquet.
Vous pouvez également rechercher un fichier spécifique. Par exemple :
dpgk -S gnu.cow
La sortie montre que le fichier appartient au package cowsay.
Comparer les versions
Le dpkg
La commande offre un outil pour comparer les numéros de version du programme. La syntaxe est :
dpkg --compare-versions <version number> <comparison operator> <version number>
Les opérateurs de comparaison possibles sont :
lt
- Strictement inférieur àle
- Inférieur ou égal àeq
- Égalne
- Pas égalge
- Supérieur ou égal àgt
- Strictement supérieur à
dpkg
renvoie 0 (succès) pour une comparaison correcte et une valeur différente de zéro pour un échec.
Par exemple, comparez les numéros de version suivants :
dpkg --compare-versions 1.2-3 gt 1.1-4
echo $?
La commande renvoie 0
, indiquant que le premier numéro de version est supérieur au second.
Prise en charge de plusieurs architectures
Tous les packages Debian contiennent des informations sur l'architecture prise en charge. La restriction garantit que le système ne se retrouve pas avec des fichiers binaires pour une architecture incorrecte.
Certaines architectures prennent en charge différentes architectures nativement. Par exemple, un amd64 (un système 64 bits) prend en charge les installations i386 (un système 32 bits).
Le dpkg
correspond à l'architecture de l'hôte. Récupérez les informations avec :
dpkg --print-architecture
Pour voir la prise en charge de l'architecture étrangère, utilisez :
dpkg --print-foreign-architectures
Pour ajouter ou supprimer la prise en charge de l'architecture, utilisez :
sudo dpkg --add-architecture <architecture name>
sudo dpkg --remove-architecture <architecture name>
Dans les deux cas, la liste des architectures étrangères se met à jour immédiatement avec les modifications.
Vérifier la version de la commande dpkg
Pour vérifier quelle version de dpkg le système exécute, utilisez :
dpkg --version
La sortie montre la version de dpkg avec l'architecture.
Imprimer l'aide
Pour afficher un menu d'aide simple, utilisez la commande suivante :
dpkg --help
Utilisez la commande man pour rechercher la documentation complète.