dpkg - gestionnaire de paquets pour Debian
SYNOPSIS
dpkg [option...] commande
AVERTISSEMENT
Ce manuel est destiné aux utilisateurs qui souhaitent comprendre les options et les états des paquets de dpkg plus en détail que ce qui est fourni par dpkg --help.
Il ne doit pas être utilisé par les responsables de paquets qui souhaitent comprendre comment dpkg installera leurs paquets. Les descriptions de ce que fait dpkg lors de l'installation et de la suppression des paquets sont particulièrement inadéquates.
DESCRIPTION
dpkg est un outil de niveau intermédiaire pour installer, créer, supprimer et gérer les paquets Debian. L'interface principale et plus conviviale pour dpkg en tant qu'interface en ligne de commande (CLI) est [apt]({filename}../../apt)(8) et en tant qu'interface utilisateur en mode texte (TUI) est aptitude(8). dpkg lui-même est contrôlé entièrement via des paramètres de ligne de commande, qui consistent en exactement une commande et zéro ou plusieurs options. Le paramètre de commande indique à dpkg quoi faire, et les options contrôlent le comportement de la commande d'une manière ou d'une autre.
dpkg peut également être utilisé comme une interface vers dpkg-deb(1) et dpkg-query(1). La liste des commandes prises en charge peut être trouvée plus tard dans la section COMMANDES. Si une telle commande est rencontrée, dpkg exécute simplement dpkg-deb ou dpkg-query avec les paramètres qui lui sont donnés, mais aucune option spécifique ne leur est actuellement transmise. Pour utiliser une telle option, les programmes intermédiaires doivent être appelés directement.
INFORMATIONS SUR LES PAQUETS
dpkg maintient des informations utilisables sur les paquets disponibles. Les informations sont divisées en trois classes : états, états de sélection et indicateurs. Ces valeurs sont destinées à être modifiées principalement avec dselect.
États des paquets
non installé
Le paquet n'est pas installé sur votre système.
fichiers-de-configuration
Seuls les fichiers de configuration ou le script postrm et les données dont il a besoin pour être supprimé du paquet existent sur le système.
à moitié installé
L'installation du paquet a été commencée, mais n'a pas été terminée pour une raison quelconque.
décompressé
Le paquet est décompressé, mais pas configuré.
à moitié configuré
Le paquet est décompressé et la configuration a été commencée, mais n'a pas encore été terminée pour une raison quelconque.
déclencheurs-en-attente
Le paquet attend le traitement des déclencheurs par un autre paquet.
déclencheurs-en-attente
Le paquet a été déclenché.
installé
Le paquet est correctement décompressé et configuré.
États de sélection des paquets
installer
Le paquet est sélectionné pour l'installation.
en attente
Un paquet marqué comme étant en attente est conservé à la même version, c'est-à-dire qu'aucune nouvelle installation, mise à niveau ou suppression automatique n'est effectuée sur celui-ci, à moins que ces actions ne soient explicitement demandées ou autorisées à être effectuées automatiquement avec l'option --force-hold.
deinstall
Le paquet est sélectionné pour désinstallation (c'est-à-dire que nous voulons supprimer tous les fichiers, à l'exception des fichiers de configuration).
purge
Le paquet est sélectionné pour être purgé (c'est-à-dire que nous voulons supprimer tout du système, y compris les fichiers de configuration).
unknown
La sélection du paquet est inconnue. Un paquet qui se trouve également dans un état non installé, et qui possède un indicateur « ok », sera oublié lors du prochain stockage de la base de données.
Indicateurs de paquet
ok Un paquet marqué comme « ok » se trouve dans un état connu, mais peut nécessiter un traitement supplémentaire.
reinstreq
Un paquet marqué comme « reinstreq » est corrompu et nécessite une réinstallation. Ces paquets ne peuvent pas être supprimés, sauf en forçant l'opération avec l'option --force-remove-reinstreq.
COMMANDES
-i, --install fichier-paquet...
Installe le paquet. Si l'option --recursive ou -R est spécifiée, fichier-paquet doit référencer un répertoire.
L'installation se compose des étapes suivantes :
Extrait les fichiers de contrôle du nouveau paquet.
Si une autre version du même paquet a été installée avant la nouvelle installation, exécute le script prerm de l'ancien paquet.
Exécute le script preinst, si fourni par le paquet.
Décompresse les nouveaux fichiers et, en même temps, effectue une sauvegarde des anciens fichiers, de sorte que, si quelque chose se passe mal, ils puissent être restaurés.
Si une autre version du même paquet a été installée avant la nouvelle installation, exécute le script postrm de l'ancien paquet. Notez que ce script est exécuté après le script preinst du nouveau paquet, car les nouveaux fichiers sont écrits en même temps que les anciens fichiers sont supprimés.
Configure le paquet. Voir --configure pour des informations détaillées sur la façon dont cela est fait.
--unpack fichier-paquet...
Décompresse le paquet, mais ne le configure pas. Si l'option --recursive ou -R est spécifiée, fichier-paquet doit référencer un répertoire.
Traite les déclencheurs pour Pre-Depends, à moins que l'option --no-triggers n'ait été spécifiée.
--configure paquet...|-a|--pending
Configure un paquet qui a été décompressé mais pas encore configuré. Si -a ou --pending est spécifié à la place de paquet, tous les paquets décompressés mais non configurés sont configurés.
Pour reconfigurer un paquet qui a déjà été configuré, essayez plutôt la commande dpkg-reconfigure(8) (qui fait partie du projet debconf).
La configuration se compose des étapes suivantes :
Décompresse les fichiers de configuration et, en même temps, effectue une sauvegarde des anciens fichiers de configuration, de sorte qu'ils puissent être restaurés si quelque chose se passe mal.
Exécute le script postinst, si fourni par le paquet.
Traite les déclencheurs, à moins que l'option --no-triggers n'ait été spécifiée.
--triggers-only paquet...|-a|--pending
Traite uniquement les déclencheurs (depuis dpkg 1.14.17). Tous les déclencheurs en attente seront traités. Si des noms de paquets sont fournis, seuls les déclencheurs de ces paquets seront traités, exactement une fois chacun lorsque cela est nécessaire. L'utilisation de cette option peut laisser des paquets dans les états « triggers-awaited » et « triggers-pending » incorrects. Cela peut être corrigé ultérieurement en exécutant : dpkg --configure --pending.
-r, --remove package...|-a|--pending
Supprime un paquet installé. Cela supprime tout, à l'exception des fichiers de configuration et des autres données nettoyées par le script postrm, ce qui peut éviter d'avoir à reconfigurer le paquet s'il est réinstallé ultérieurement (les fichiers de configuration sont les fichiers de configuration répertoriés dans le fichier de contrôle DEBIAN/conffiles). S'il n'y a pas de fichier de contrôle DEBIAN/conffiles ni de script DEBIAN/postrm, cette commande est équivalente à l'appel de --purge. Si -a ou --pending est spécifié au lieu d'un nom de paquet, tous les paquets décompressés, mais marqués pour être supprimés dans le fichier /var/lib/dpkg/status, sont supprimés.
La suppression d'un paquet consiste en les étapes suivantes :
Exécute le script prerm.
Supprime les fichiers installés.
Exécute le script postrm.
Traite les déclencheurs à moins que --no-triggers n'ait été spécifié.
-P, --purge package...|-a|--pending
Purge un paquet installé ou déjà supprimé. Cela supprime tout, y compris les fichiers de configuration et tout ce qui est nettoyé par le script postrm. Si -a ou --pending est spécifié au lieu d'un nom de paquet, tous les paquets décompressés ou supprimés, mais marqués pour être purgés dans le fichier /var/lib/dpkg/status, sont purgés.
Remarque : Certains fichiers de configuration peuvent être inconnus de dpkg, car ils sont créés et gérés séparément via les scripts de configuration. Dans ce cas, dpkg ne les supprimera pas lui-même, mais le script postrm du paquet (qui est appelé par dpkg) doit s'occuper de leur suppression lors de la purge. Bien sûr, cela ne s'applique qu'aux fichiers situés dans les répertoires système, et non aux fichiers de configuration écrits dans les répertoires personnels des utilisateurs.
La purge d'un paquet consiste en les étapes suivantes :
Supprime le paquet, s'il n'est pas déjà supprimé. Voir --remove pour plus d'informations détaillées sur la façon dont cela se fait.
Exécute le script postrm.
Traite les déclencheurs à moins que --no-triggers n'ait été spécifié.
-V, --verify [package-name...]
Vérifie l'intégrité de package-name ou de tous les paquets s'il est omis, en comparant les informations provenant des fichiers installés par un paquet avec les informations de métadonnées des fichiers stockées dans la base de données dpkg (depuis dpkg 1.17.2). L'origine des informations de métadonnées des fichiers dans la base de données est les paquets binaires eux-mêmes. Ces métadonnées sont collectées au moment du déballage du paquet pendant le processus d'installation.
Actuellement, la seule vérification fonctionnelle effectuée est une vérification md5sum du contenu des fichiers par rapport à la valeur stockée dans la base de données des fichiers. Elle ne sera vérifiée que si la base de données contient le md5sum du fichier. Pour vérifier l'absence de métadonnées dans la base de données, la commande --audit peut être utilisée. Il ne s'agit que d'une vérification d'intégrité et ne doit pas être considérée comme une forme quelconque de vérification de sécurité.
Le format de sortie est sélectionnable avec l'option --verify-format, qui utilise par défaut le format rpm, mais qui pourrait changer à l'avenir, et par conséquent, les programmes analysant la sortie de cette commande doivent être explicites sur le format qu'ils attendent.
-C, --audit [nom-du-paquet...]
Effectue des vérifications de cohérence et d'intégrité de la base de données pour le nom-du-paquet ou pour tous les paquets s'il est omis (vérifications par paquet depuis dpkg 1.17.10). Par exemple, recherche les paquets qui ont été installés partiellement sur le système ou qui présentent des données ou des fichiers de contrôle manquants, incorrects ou obsolètes. dpkg suggérera ce qu'il faut faire pour les corriger.
--update-avail [fichier Packages]
--merge-avail [fichier Packages]
Met à jour la liste des paquets disponibles dans dpkg et dselect. Avec la commande --merge-avail, les anciennes informations sont combinées avec les informations du fichier Packages. Avec la commande --update-avail, les anciennes informations sont remplacées par les informations du fichier Packages. Le fichier Packages distribué avec Debian s'appelle simplement « Packages ». Si l'argument fichier Packages est manquant ou nommé « - », il sera lu à partir de l'entrée standard (depuis dpkg 1.17.7). dpkg conserve sa liste des paquets disponibles dans /var/lib/dpkg/available.
Une commande plus simple pour récupérer et mettre à jour le fichier de paquets disponibles est dselect update. Notez que ce fichier est en grande partie inutile si vous n'utilisez pas dselect, mais un frontend basé sur APT : APT dispose de son propre système pour suivre les paquets disponibles.
-A, --record-avail fichier-paquet...
Met à jour la liste des paquets disponibles dans dpkg et dselect avec les informations du paquet fichier-paquet. Si l'option --recursive ou -R est spécifiée, fichier-paquet doit faire référence à un répertoire.
--forget-old-unavail
Obsolète et sans effet, car dpkg oublie automatiquement les paquets non installés et non disponibles (depuis dpkg 1.15.4), mais uniquement ceux qui ne contiennent pas d'informations utilisateur, telles que les sélections de paquets.
--clear-avail
Efface les informations existantes sur les paquets disponibles.
--get-selections [modèle-nom-paquet...]
Obtient la liste des sélections de paquets et l'écrit dans la sortie standard. Sans modèle, les paquets non installés (c'est-à-dire ceux qui ont été purgés précédemment) ne seront pas affichés.
--set-selections
Définit les sélections de paquets à l'aide d'un fichier lu à partir de l'entrée standard. Ce fichier doit être au format « paquet état », où état est l'un des éléments suivants : install, hold, deinstall ou purge. Les lignes vides et les lignes de commentaire commençant par « # » sont également autorisées.
Le fichier de paquets disponibles doit être à jour pour que cette commande soit utile, sinon les paquets inconnus seront ignorés avec un avertissement. Voir les commandes --update-avail et --merge-avail pour plus d'informations.
--clear-selections
Définit l'état demandé de chaque paquet non essentiel sur deinstall (depuis dpkg 1.13.18). Ceci est destiné à être utilisé immédiatement avant --set-selections, afin de désinstaller tous les paquets qui ne figurent pas dans la liste donnée à --set-selections.
--yet-to-unpack
Recherche les paquets sélectionnés pour l'installation, mais qui, pour une raison quelconque, n'ont pas encore été installés.
Remarque : cette commande utilise à la fois le fichier et les sélections de paquets disponibles.
--predep-package
Affiche un seul paquet qui est la cible d’une ou plusieurs dépendances préalables pertinentes et qui n’a lui-même aucune dépendance préalable non satisfaite.
Si un tel paquet est présent, il est affiché sous forme d’entrée de fichier Packages, qui peut être modifiée selon les besoins.
Remarque : cette commande utilise à la fois le fichier et les sélections de paquets disponibles.
Retourne 0 lorsqu’un paquet est affiché, 1 lorsqu’aucun paquet approprié n’est disponible et 2 en cas d’erreur.
--add-architecture architecture
Ajoute l’architecture à la liste des architectures pour lesquelles les paquets peuvent être installés sans utiliser l’option --force-architecture (depuis dpkg 1.16.2). L’architecture pour laquelle dpkg est compilé (c’est-à-dire la sortie de --print-architecture) fait toujours partie de cette liste.
--remove-architecture architecture
Supprime l’architecture de la liste des architectures pour lesquelles les paquets peuvent être installés sans utiliser l’option --force-architecture (depuis dpkg 1.16.2). Si l’architecture est actuellement utilisée dans la base de données, l’opération sera refusée, sauf si l’option --force-architecture est spécifiée. L’architecture pour laquelle dpkg est compilé (c’est-à-dire la sortie de --print-architecture) ne peut jamais être supprimée de cette liste.
--print-architecture
Affiche l’architecture des paquets que dpkg installe (par exemple, « i386 »).
--print-foreign-architectures
Affiche une liste séparée par des sauts de ligne des architectures supplémentaires pour lesquelles dpkg est configuré pour autoriser l’installation de paquets (depuis dpkg 1.16.2).
--assert-help
Affiche l’aide concernant les options --assert-feature (depuis dpkg 1.21.0).
--assert-feature
Vérifie que dpkg prend en charge la fonctionnalité demandée. Retourne 0 si la fonctionnalité est entièrement prise en charge, 1 si la fonctionnalité est connue, mais que dpkg ne peut pas encore la prendre en charge, et 2 si la fonctionnalité est inconnue. La liste actuelle des fonctionnalités vérifiables est :
support-predepends
Prend en charge le champ Pre-Depends (depuis dpkg 1.1.0).
working-epoch
Prend en charge les époques dans les chaînes de version (depuis dpkg 1.4.0.7).
long-filenames
Prend en charge les longs noms de fichiers dans les archives deb(5) (depuis dpkg 1.4.1.17).
multi-conrep
Prend en charge les conflits et les remplacements multiples (depuis dpkg 1.4.1.19).
multi-arch
Prend en charge les champs et la sémantique multi-architecture (depuis dpkg 1.16.2).
versioned-provides
Prend en charge les Provides versionnés (depuis dpkg 1.17.11).
protected-field
Prend en charge le champ Protégé (depuis dpkg 1.20.1).
--validate-thing string
Vérifie que la chaîne « thing » a une syntaxe correcte (depuis dpkg 1.18.16). Retourne 0 si la chaîne est valide, 1 si la chaîne est invalide mais peut être acceptée dans des contextes permissifs, et 2 si la chaîne est invalide. La liste actuelle des éléments vérifiables est :
pkgname
Valide le nom de paquet donné (depuis dpkg 1.18.16).
trigname
Valide le nom de déclencheur donné (depuis dpkg 1.18.16).
archname
Valide le nom d’architecture donné (depuis dpkg 1.18.16).
version
Valide la version donnée (depuis dpkg 1.18.16).
--compare-versions ver1 op ver2
Compare les numéros de version, où op est un opérateur binaire. dpkg renvoie true (0) si la condition spécifiée est satisfaite, et false (1) sinon. Il existe deux groupes d’opérateurs, qui diffèrent dans la façon dont ils traitent une version vide ver1 ou ver2. Ces opérateurs traitent une version vide comme étant antérieure à toute version : lt le eq ne ge gt. Ces opérateurs traitent une version vide comme étant postérieure à toute version : lt-nl le-nl ge-nl gt-nl. Ceux-ci sont fournis uniquement pour la compatibilité avec la syntaxe des fichiers de contrôle : < << <= = >= >> >. Les opérateurs < et > sont obsolètes et ne doivent pas être utilisés, en raison d’une sémantique confuse. Pour illustrer : 0.1 < 0.1 renvoie true.
-?, --help
Affiche un bref message d’aide.
--force-help
Affiche de l’aide sur les options --force-thing.
-Dh, --debug=help
Affiche de l’aide sur les options de débogage.
--version
Affiche les informations de version de dpkg.
Lorsqu’il est utilisé avec --robot, la sortie sera le numéro de version du programme dans un format numérique à points, sans saut de ligne.
dpkg-deb commands
Voir dpkg-deb(1) pour plus d’informations sur les commandes suivantes, ainsi que sur d’autres commandes et options non exposées par l’interface frontale de dpkg.
-b, --build directory [archive|directory]
Construit un paquet deb.
-c, --contents archive
Affiche le contenu d’un paquet deb.
-e, --control archive [directory]
Extrait les informations de contrôle d’un paquet.
-x, --extract archive directory
Extrait les fichiers contenus dans un paquet.
-X, --vextract archive directory
Extrait et affiche les noms de fichiers contenus dans un paquet.
-f, --field archive [control-field...]
Affiche le ou les champs de contrôle d’un paquet.
--ctrl-tarfile archive
Affiche le fichier tar de contrôle contenu dans un paquet Debian.
--fsys-tarfile archive
Affiche le fichier tar du système de fichiers contenu dans un paquet Debian.
-I, --info archive [control-file...]
Affiche des informations sur un paquet.
dpkg-query commands
Voir dpkg-query(1) pour plus d’informations sur les commandes suivantes, ainsi que sur d’autres commandes et options non exposées par l’interface frontale de dpkg.
-l, --list package-name-pattern...
Affiche la liste des paquets correspondant au modèle donné.
-s, --status package-name...
Affiche le statut du paquet spécifié.
-L, --listfiles package-name...
Affiche la liste des fichiers installés sur votre système à partir du paquet.
-S, --search filename-search-pattern...
Recherche un nom de fichier dans les paquets installés.
-p, --print-avail package-name...
Affiche les détails sur le paquet, tels qu’ils se trouvent dans /var/lib/dpkg/available. Les utilisateurs d’interfaces frontales basées sur APT doivent utiliser apt show package-name à la place.
OPTIONS
Toutes les options peuvent être spécifiées à la fois sur la ligne de commande et dans le fichier de configuration de dpkg /etc/dpkg/dpkg.cfg ou dans les fichiers de fragments (dont les noms correspondent à ce modèle de shell : '[0-9a-zA-Z_-]*') dans le répertoire de configuration /etc/dpkg/dpkg.cfg.d/. Chaque ligne du fichier de configuration est soit une option (exactement la même que l’option de ligne de commande, mais sans les tirets initiaux), soit un commentaire (si elle commence par un ‘#’).
--abort-after=number
Modifie le nombre d’erreurs après lequel dpkg s’arrêtera. La valeur par défaut est 50.
-B, --auto-deconfigure
Lorsque un paquet est supprimé, il est possible qu’un autre paquet installé en dépende. La spécification de cette option entraînera la désinstallation automatique du paquet qui dépendait du paquet supprimé.
-Doctal, --debug=octal
Active le débogage. octal est formé en effectuant une opération OU bit à bit sur les valeurs souhaitées à partir de la liste ci-dessous (notez que ces valeurs peuvent changer dans les versions ultérieures). -Dh ou --debug=help affiche ces valeurs de débogage.
Numéro Description 1 Informations générales sur l’avancement 2 Invocation et statut des scripts de maintenance 10 Sortie pour chaque fichier traité 100 Beaucoup de sorties pour chaque fichier traité 20 Sortie pour chaque fichier de configuration 200 Beaucoup de sorties pour chaque fichier de configuration 40 Dépendances et conflits 400 Beaucoup de sorties sur les dépendances/conflits 10000 Activation et traitement des déclencheurs 20000 Beaucoup de sorties concernant les déclencheurs 40000 Quantité excessive de sorties concernant les déclencheurs 1000 Beaucoup d’informations inutiles sur, par exemple, le répertoire dpkg/info 2000 Quantité excessive d’informations inutiles
--force-things
--no-force-things, --refuse-things
Force ou refuse (no-force et refuse signifient la même chose) d’effectuer certaines opérations. things est une liste séparée par des virgules d’opérations spécifiées ci-dessous. --force-help affiche un message décrivant ces opérations. Les opérations marquées d’un (*) sont forcées par défaut.
Avertissement : ces options sont principalement destinées à être utilisées par des experts. Les utiliser sans bien en comprendre les effets peut endommager tout votre système.
all :
Active (ou désactive) toutes les options de forçage.
downgrade (*) :
Installe un paquet, même si une version plus récente est déjà installée.
Avertissement : actuellement, dpkg n’effectue aucune vérification des dépendances lors des rétrogradations et ne vous avertira donc pas si la rétrogradation entraîne une rupture de la dépendance d’un autre paquet. Cela peut avoir de graves conséquences, la rétrogradation de composants système essentiels pouvant même rendre tout votre système inutilisable. Utilisez avec précaution.
configure-any :
Configure également tous les paquets décompressés mais non configurés dont le paquet actuel dépend.
hold :
Autorise les installations, mises à niveau ou suppressions automatiques de paquets, même lorsqu’ils sont marqués comme étant « en attente ». Remarque : lorsque ces actions sont demandées explicitement, l’état de sélection du paquet « en attente » est toujours ignoré.
remove-reinstreq :
Supprime un paquet, même s’il est endommagé et marqué comme nécessitant une réinstallation. Cela peut, par exemple, faire en sorte que certaines parties du paquet restent sur le système, ce qui sera alors oublié par dpkg.
remove-protected :
Supprime, même si le paquet est considéré comme protégé (depuis dpkg 1.20.1). Les paquets protégés contiennent principalement des infrastructures système de démarrage importantes ou sont utilisés pour des méta-paquets système locaux personnalisés. La suppression peut rendre l’ensemble du système incapable de démarrer ou entraîner une perte de fonctionnalités requises pour le fonctionnement, utilisez-les avec prudence.
remove-essential :
Supprime, même si le paquet est considéré comme essentiel. Les paquets essentiels contiennent principalement des commandes Unix très basiques, nécessaires au système de conditionnement, au fonctionnement du système en général ou au démarrage (bien que ces derniers devraient plutôt être convertis en paquets protégés). La suppression peut entraîner l’arrêt du système, utilisez-les avec prudence.
depends:
Traitez tous les problèmes de dépendances comme des avertissements. Cela affecte les champs Pré-dépendances et Dépendances.
depends-version:
Ne tenez pas compte des versions lors de la vérification des dépendances. Cela affecte les champs Pré-dépendances et Dépendances.
breaks:
Installez, même si cela casserait un autre paquet (depuis dpkg 1.14.6). Cela affecte le champ Casser.
conflicts:
Installez, même s’il y a un conflit avec un autre paquet. C’est dangereux, car cela entraînera généralement l’écrasement de certains fichiers. Cela affecte le champ Conflits.
confmiss:
Installez toujours le fichier de configuration manquant sans demander confirmation. C’est dangereux, car cela signifie ne pas conserver une modification (suppression) apportée au fichier.
confnew:
Si un fichier de configuration a été modifié et que la version dans le paquet a changé, installez toujours la nouvelle version sans demander confirmation, sauf si l’option --force-confdef est également spécifiée, auquel cas l’action par défaut est préférée.
confold:
Si un fichier de configuration a été modifié et que la version dans le paquet a changé, conservez toujours l’ancienne version sans demander confirmation, sauf si l’option --force-confdef est également spécifiée, auquel cas l’action par défaut est préférée.
confdef:
Si un fichier de configuration a été modifié et que la version dans le paquet a changé, choisissez toujours l’action par défaut sans demander confirmation. S’il n’y a pas d’action par défaut, il arrête de demander à l’utilisateur, à moins que --force-confnew ou --force-confold ne soient également spécifiés, auquel cas il utilisera ces options pour décider de l’action finale.
confask:
Si un fichier de configuration a été modifié, proposez toujours de le remplacer par la version dans le paquet, même si la version dans le paquet n’a pas changé (depuis dpkg 1.15.8). Si l’une des options --force-confnew, --force-confold ou --force-confdef est également spécifiée, elle sera utilisée pour décider de l’action finale.
overwrite:
Écrasez un fichier d’un paquet avec un fichier d’un autre paquet.
overwrite-dir:
Écrasez un répertoire d’un paquet avec un fichier.
overwrite-diverted:
Écrasez un fichier redirigé avec une version non redirigée.
statoverride-add:
Écrasez un remplacement de statut existant lors de son ajout (depuis dpkg 1.19.5).
statoverride-remove:
Ignorez un remplacement de statut manquant lors de sa suppression (depuis dpkg 1.19.5).
security-mac(*):
Utilisez les contrôles d’accès obligatoires (MAC) spécifiques à la plate-forme pour la sécurité lors de l’installation de fichiers dans le système de fichiers (depuis dpkg 1.19.5). Sur les systèmes Linux, l’implémentation utilise SELinux.
unsafe-io:
N’effectuez pas d’opérations d’E/S sécurisées lors du déballage (depuis dpkg 1.15.8.6). Actuellement, cela implique de ne pas effectuer de synchronisations du système de fichiers avant les renommages de fichiers, ce qui est connu pour causer une dégradation importante des performances sur certains systèmes de fichiers. Malheureusement, ce sont les systèmes de fichiers qui nécessitent les E/S sécurisées en premier lieu en raison de leur comportement peu fiable, ce qui entraîne la création de fichiers de longueur nulle en cas de plantage brutal du système.
Remarque : Pour ext4, le principal problème, envisagez plutôt d’utiliser l’option de montage nodelalloc,
qui corrigera à la fois la dégradation des performances et les problèmes de sécurité des données, cette dernière en
empêchant le système de fichiers de produire des fichiers de longueur nulle lors d’arrêts brutaux du système avec tout logiciel ne réalisant pas de synchronisations avant les renommages atomiques.
Avertissement : L’utilisation de cette option peut améliorer les performances au prix de la perte de données, à utiliser
avec prudence.
script-chrootless :
Exécutez les scripts de maintenance sans utiliser chroot(2) dans instdir, même si le paquet ne prend pas en charge ce mode de fonctionnement (depuis dpkg 1.18.5).
Avertissement : Cela peut détruire votre système hôte, à utiliser avec une extrême prudence.
architecture :
Traitez même les paquets ayant une architecture incorrecte ou inexistante.
bad-version :
Traitez même les paquets ayant des versions incorrectes (depuis dpkg 1.16.1).
bad-path :
PATH est manquant et contient des programmes importants, il y aura donc probablement des problèmes.
not-root :
Essayez d’installer ou de désinstaller des éléments même lorsque vous n’êtes pas l’utilisateur root.
bad-verify :
Installez un paquet même si la vérification d’authenticité échoue.
--ignore-depends=paquet,...
Ignorez la vérification des dépendances pour les paquets spécifiés (en réalité, la vérification est effectuée, mais seuls des avertissements concernant les conflits sont donnés, rien d’autre). Cela affecte les champs Pre-Depends, Depends et Breaks.
--no-act, --dry-run, --simulate
Faites tout ce qui est censé être fait, mais n’écrivez aucune modification. Ceci est utilisé pour voir ce qui se passerait avec la commande spécifiée, sans réellement modifier quoi que ce soit.
Assurez-vous de donner --no-act avant le paramètre de commande, sinon vous risquez d’obtenir des résultats indésirables (par exemple, dpkg --purge foo --no-act purgera d’abord le paquet « foo » puis tentera de purger le paquet « --no-act », alors que vous vous attendiez probablement à ce qu’il ne fasse rien).
-R, --recursive
Gérez de manière récursive tous les fichiers réguliers correspondant au modèle \*.deb trouvés dans les répertoires spécifiés et tous ses sous-répertoires. Ceci peut être utilisé avec les commandes -i, -A, --install, --unpack et --record-avail.
-G Ne pas installer un paquet si une version plus récente du même paquet est déjà installée. Ceci est un alias de --refuse-downgrade.
--admindir=répertoire
Définissez le répertoire administratif sur répertoire. Ce répertoire contient de nombreux fichiers qui donnent des informations sur l’état des paquets installés ou désinstallés, etc. Par défaut, il s’agit de « /var/lib/dpkg » si DPKG_ADMINDIR n’a pas été défini.
--instdir=répertoire
Définissez le répertoire d’installation, qui fait référence au répertoire où les paquets doivent être installés. instdir est également le répertoire transmis à chroot(2) avant l’exécution des scripts d’installation du paquet, ce qui signifie que les scripts voient instdir comme un répertoire racine. Par défaut, il s’agit de « / » si DPKG_ROOT n’a pas été défini (depuis dpkg 1.21.10).
--root=répertoire
Définissez le répertoire racine sur répertoire, ce qui définit le répertoire d’installation sur « répertoire » et le répertoire administratif sur « répertoire/var/lib/dpkg » si DPKG_ROOT n’a pas été défini (depuis dpkg 1.21.10).
-O, --selected-only
Ne traite que les paquets qui ont été sélectionnés pour l’installation. Le marquage réel est effectué avec dselect ou par dpkg, lorsqu’il gère les paquets. Par exemple, lorsqu’un paquet est supprimé, il est marqué comme sélectionné pour la désinstallation.
-E, --skip-same-version
N’installe pas le paquet si la même version et la même architecture du paquet sont déjà installées.
Depuis dpkg 1.21.10, l’architecture est également prise en compte, ce qui permet de mettre à niveau les paquets ou d’installer des instances supplémentaires pouvant être installées en même temps avec la même version, mais avec des architectures différentes.
--pre-invoke=commande
--post-invoke=commande
Définit une commande de hook d’invocation à exécuter via « sh -c » avant ou après l’exécution de dpkg pour les actions de déballage, de configuration, d’installation, de déclencheurs uniquement, de suppression et de purge (depuis dpkg 1.15.4), ainsi que pour les actions d’ajout d’architecture et de suppression d’architecture (depuis dpkg 1.17.19). Cette option peut être spécifiée plusieurs fois. L’ordre dans lequel les options sont spécifiées est préservé, les options provenant des fichiers de configuration ayant la priorité. La variable d’environnement DPKG_HOOK_ACTION est définie pour les hooks afin d’indiquer l’action dpkg en cours.
Les hooks d’invocation ne sont pas exécutés lorsque --no-act est spécifié, ou lorsqu’ils sont exécutés en tant qu’utilisateur non root sans --force-not-root.
Remarque : Les interfaces peuvent appeler dpkg plusieurs fois par invocation, ce qui peut exécuter les hooks plus de fois que prévu.
--path-exclude=motif-glob
--path-include=motif-glob
Définit un motif-glob comme filtre de chemin, soit en excluant, soit en réincluant les chemins précédemment exclus qui correspondent aux motifs spécifiés pendant l’installation (depuis dpkg 1.15.8).
Avertissement : Tenez compte du fait que, en fonction des chemins exclus, vous risquez de casser complètement votre système. Utilisez cette option avec prudence.
Les motifs-glob utilisent les mêmes caractères génériques que ceux utilisés dans le shell, où « * » correspond à n’importe quelle séquence de caractères, y compris la chaîne vide et également « / ». Par exemple, « /usr/*/READ* » correspond à « /usr/share/doc/package/README ». Comme d’habitude, « ? » correspond à n’importe quel caractère unique (y compris « / »). Et « [ » démarre une classe de caractères, qui peut contenir une liste de caractères, des plages et des compléments. Consultez glob(7) pour plus d’informations sur les caractères génériques. Remarque : L’implémentation actuelle peut réinclure plus de répertoires et de liens symboliques que nécessaire, en particulier lorsqu’il existe une réinclusion plus spécifique, afin d’être sûr et d’éviter les échecs de déballage ; les travaux futurs pourraient corriger ce problème.
Cela peut être utilisé pour supprimer tous les chemins, sauf quelques chemins spécifiques ; un cas typique est le suivant :
--path-exclude=/usr/share/doc/*
--path-include=/usr/share/doc/*/copyright
pour supprimer tous les fichiers de documentation, à l’exception des fichiers de copyright.
Ces deux options peuvent être spécifiées plusieurs fois et entrelacées. Les deux sont traitées dans l’ordre donné, la dernière règle qui correspond à un nom de fichier prenant la décision.
Les filtres sont appliqués lors du déballage des paquets binaires, et par conséquent, ils ne connaissent que le type d’objet actuellement filtré (par exemple, un fichier normal ou un répertoire) et n’ont aucune visibilité sur les objets qui suivront. Étant donné que ces filtres ont des effets secondaires (par opposition aux filtres find(1)), l’exclusion d’un chemin d’accès exact qui se trouve être un objet de répertoire tel que /usr/share/doc n’aura pas le résultat souhaité, et seul ce chemin d’accès sera exclu (ce qui pourrait être automatiquement réintégré si le code juge cela nécessaire). Tous les fichiers suivants contenus dans ce répertoire ne seront pas décompressés.
Conseil : assurez-vous que les motifs génériques ne sont pas développés par votre shell.
--verify-format format-name
Définit le format de sortie pour la commande --verify (depuis dpkg 1.17.2).
Le seul format de sortie actuellement pris en charge est rpm, qui consiste en une ligne pour chaque chemin qui a échoué à un contrôle. Ces lignes ont le format suivant :
missing [c] pathname [(error-message)]
?M5?????? [c] pathname
Les 9 premiers caractères sont utilisés pour indiquer le résultat des contrôles, soit un littéral « missing » lorsque le fichier n’est pas présent ou que ses métadonnées ne peuvent pas être récupérées, soit l’un des caractères spéciaux suivants qui indiquent le résultat pour chaque contrôle :
‘ ? ’ indique que le contrôle n’a pas pu être effectué (manque de prise en charge, permissions de fichier, etc.).
‘ . ’ indique que le contrôle a réussi.
‘A-Za-z0-9’
Indique qu’un contrôle spécifique a échoué. Les positions et les caractères alphanumériques suivants sont actuellement pris en charge :
1 ‘? ’
Ces contrôles ne sont pas actuellement pris en charge et seront toujours ‘ ? ’.
2 ‘M’
Le contrôle du mode de fichier a échoué (depuis dpkg 1.21.0). Étant donné que les métadonnées du chemin d’accès ne sont pas suivies, ce contrôle ne peut être que partiellement simulé via une heuristique très simple pour les chemins d’accès qui ont un hachage connu, ce qui implique qu’il s’agit de fichiers réguliers, où le contrôle échouera si le chemin d’accès n’est pas un fichier régulier sur le système de fichiers. Ce contrôle ne réussira jamais car il ne dispose pas de suffisamment d’informations.
3 ‘5’
Le contrôle du hachage a échoué, ce qui signifie que le contenu du fichier a été modifié. Il ne s’agit que d’un contrôle d’intégrité et ne doit pas être considéré comme une sorte de vérification de sécurité.
49 ‘? ’
Ces contrôles ne sont pas actuellement pris en charge et seront toujours ‘ ? ’.
La ligne est suivie d’un espace et d’un caractère d’attribut. Le caractère d’attribut suivant est pris en charge :
‘c’ : le chemin d’accès est un fichier de configuration.
Enfin, il est suivi d’un autre espace et du chemin d’accès.
Dans le cas où l’entrée était du type « missing » et que le fichier n’était pas réellement présent sur le système de fichiers, la ligne est alors suivie d’un espace et du message d’erreur entre parenthèses.
--status-fd n
Envoyer des informations d’état et d’avancement des paquets lisibles par machine au descripteur de fichier n. Cette option peut être spécifiée plusieurs fois. Les informations sont généralement d’une ligne par enregistrement, dans l’un des formats suivants :
status : package : status
Le statut du paquet a changé ; le statut est tel qu’il figure dans le fichier de statut.
status : package : error : extended-error-message
Une erreur s’est produite. Les éventuels sauts de ligne dans extended-error-message seront convertis en espaces avant l’affichage.
status : file : conffile-prompt : ‘real-old’ ‘real-new’ useredited distedited
L’utilisateur est invité à répondre à une question concernant un fichier de configuration.
processing : stage : package
Envoyé juste avant le début d’une étape de traitement. stage est l’un des éléments suivants : upgrade, install (les deux sont envoyés avant le déballage), configure, trigproc, disappear, remove, purge.
--status-logger=command
Envoie des informations d’état et de progression lisibles par machine vers l’entrée standard de la commande shell, pour être exécutée via « sh -c » (depuis dpkg 1.16.0). Cette option peut être spécifiée plusieurs fois. Le format de sortie utilisé est le même que celui de --status-fd.
Les journaux d’état ne sont pas exécutés lorsque --no-act est spécifié, ou lorsque l’exécution se fait en tant que non-root sans --force-not-root.
--log=filename
Enregistre les mises à jour de statut et les actions dans filename au lieu de /var/log/dpkg.log par défaut. Si cette option est donnée plusieurs fois, le dernier nom de fichier est utilisé. Les messages du journal ont le format suivant :
AAAA-MM-JJ HH:MM:SS startup type command
Pour chaque invocation de dpkg où type est archives (avec une commande unpack ou install) ou packages (avec une commande configure, triggers-only, remove ou purge).
AAAA-MM-JJ HH:MM:SS status state pkg installed-version
Pour les mises à jour de statut.
AAAA-MM-JJ HH:MM:SS action pkg installed-version available-version
Pour les actions où action est l’une des suivantes : install, upgrade, configure, trigproc, disappear, remove ou purge.
AAAA-MM-JJ HH:MM:SS conffile filename decision
Pour les modifications de fichier de configuration où decision est soit install, soit keep.
--robot
Utilise un format de sortie lisible par machine. Cela fournit une interface pour les programmes qui doivent analyser la sortie de certaines des commandes qui n’émettent pas autrement un format de sortie lisible par machine. Aucune localisation ne sera utilisée, et la sortie sera modifiée pour faciliter l’analyse.
La seule commande actuellement prise en charge est --version.
--no-pager
Désactive l’utilisation d’un paginateur lors de l’affichage d’informations (depuis dpkg 1.19.2).
--no-debsig
Ne tente pas de vérifier les signatures des paquets.
--no-triggers
Ne déclenche aucun déclencheur pendant cette exécution (depuis dpkg 1.14.17), mais les activations seront toujours enregistrées. Si utilisé avec --configure package ou --triggers-only package, le postinst du paquet nommé sera toujours exécuté, même si seul un déclenchement est nécessaire. L’utilisation de cette option peut laisser les paquets dans les états incorrects « triggers-awaited » et « triggers-pending ». Cela peut être corrigé ultérieurement en exécutant : dpkg --configure --pending.
--triggers
Annule un précédent --no-triggers (depuis dpkg 1.14.17).
STATUT DE SORTIE
0 La commande demandée a été exécutée avec succès. Ou une commande de vérification ou d’assertion a renvoyé true.
1 Une commande de vérification ou d’assertion a renvoyé une valeur fausse.
2 Erreur fatale ou irrécupérable due à une utilisation incorrecte des options en ligne de commande ou à des interactions avec le système, telles que des accès à la base de données, des allocations de mémoire, etc.
ENVIRONNEMENT
Environnement externe
PATH
Cette variable est supposée être définie dans l’environnement et pointer vers les chemins du système où se trouvent plusieurs programmes requis. Si elle n’est pas définie ou si les programmes ne sont pas trouvés, dpkg s’arrêtera.
HOME
Si elle est définie, dpkg l’utilisera comme répertoire à partir duquel lire le fichier de configuration spécifique à l’utilisateur.
TMPDIR
Si elle est définie, dpkg l’utilisera comme répertoire dans lequel créer des fichiers et des répertoires temporaires.
SHELL
Le programme dpkg s’exécutera lorsqu’un nouveau shell interactif sera démarré, ou lorsqu’une commande sera lancée via un shell.
PAGER
DPKG_PAGER
Le programme dpkg s’exécutera lorsqu’un programme de pagination sera utilisé, et sera exécuté avec « $SHELL -c », par exemple lors de l’affichage des différences entre les fichiers de configuration. Si SHELL n’est pas défini, « sh » sera utilisé à la place.
DPKG_PAGER remplace la variable d’environnement PAGER (depuis dpkg 1.19.2). Si aucun des programmes pointés par
DPKG_PAGER ou PAGER n’est présent, les programmes suivants seront essayés dans l’ordre (depuis dpkg 1.22.12) :
le programme de pagination par défaut, puis [less]({filename}../../less)(1), more(1) et enfin [cat]({filename}../../cat)(1).
DPKG_COLORS
Définit le mode de couleur (depuis dpkg 1.18.5). Les valeurs actuellement acceptées sont : auto (par défaut), always et never.
DPKG_NLS
Si elle est définie, elle sera utilisée pour déterminer s’il faut activer la prise en charge du langage natif, également appelée prise en charge de l’internationalisation (ou i18n) (depuis dpkg 1.22.7). Les valeurs acceptées sont : 0 et 1 (par défaut).
DPKG_DEBUG
Définit le masque de débogage (depuis dpkg 1.21.10) à partir d’une valeur octale. Les indicateurs actuellement acceptés sont décrits dans l’option --debug.
DPKG_FORCE
Définit les indicateurs de forçage (depuis dpkg 1.19.5). Lorsque cette variable est présente, aucun paramètre de forçage intégré ne sera appliqué. Si la variable est présente mais vide, tous les indicateurs de forçage seront désactivés.
DPKG_ROOT
Si elle est définie et que les options --instdir ou --root n’ont pas été spécifiées, elle sera utilisée comme répertoire racine du système de fichiers (depuis dpkg 1.21.10).
DPKG_ADMINDIR
Si elle est définie et que les options --admindir ou --root n’ont pas été spécifiées, elle sera utilisée comme répertoire d’administration dpkg (depuis dpkg 1.20.0).
DPKG_FRONTEND_LOCKED
Définie par un frontend de gestionnaire de paquets pour informer dpkg qu’il ne doit pas acquérir le verrou du frontend (depuis dpkg 1.19.1).
DPKG_PATH_PASSWD
Définit le chemin d’accès au fichier passwd du système. Ce chemin est relatif au répertoire --root. La valeur par défaut est /etc/passwd.
Depuis dpkg 1.22.16.
DPKG_PATH_GROUP
Définit le chemin d’accès au fichier groupe du système. Ce chemin est relatif au répertoire --root. La valeur par défaut est /etc/group.
Depuis dpkg 1.22.16.
Environnement interne
LESS
Définie par dpkg à « -FRSXMQ », si elle n’est pas déjà définie, lors du lancement d’un programme de pagination (depuis dpkg 1.19.2). Pour modifier le comportement par défaut, cette variable peut être prédéfinie à une autre valeur, y compris une chaîne vide, ou les variables PAGER ou DPKG_PAGER peuvent être définies pour désactiver des options spécifiques avec « -+ », par exemple DPKG_PAGER="less -+F".
DPKG_ROOT
Défini par dpkg dans l’environnement du script de maintenance pour indiquer sur quelle installation agir (depuis dpkg 1.18.5). La valeur est destinée à être ajoutée en préfixe à tout chemin sur lequel les scripts de maintenance opèrent. Pendant le fonctionnement normal, cette variable est vide. Lors de l’installation de paquets dans un répertoire d’installation différent, dpkg invoque normalement les scripts de maintenance en utilisant chroot(2) et laisse cette variable vide, mais si --force-script-chrootless est spécifié, l’appel chroot(2) est ignoré et cette variable est définie sur instdir (qui sera non vide).
DPKG_ADMINDIR
Défini par dpkg dans l’environnement des sous-processus pour indiquer le répertoire administratif dpkg à utiliser (depuis dpkg 1.16.0). Cette variable est toujours définie sur la valeur actuelle de --admindir.
DPKG_FORCE
Défini par dpkg dans l’environnement des sous-processus pour tous les noms d’options de force actuellement activés, séparés par des virgules (depuis dpkg 1.19.5).
DPKG_SHELL_REASON
Défini par dpkg dans le shell généré lors de l’invite de fichier de configuration pour examiner la situation (depuis dpkg 1.15.6). Valeur valide actuelle : conffile-prompt.
DPKG_CONFFILE_OLD
Défini par dpkg dans le shell généré lors de l’invite de fichier de configuration pour examiner la situation (depuis dpkg 1.15.6). Contient le chemin du fichier de configuration d’origine.
DPKG_CONFFILE_NEW
Défini par dpkg dans le shell généré lors de l’invite de fichier de configuration pour examiner la situation (depuis dpkg 1.15.6). Contient le chemin du nouveau fichier de configuration.
DPKG_HOOK_ACTION
Défini par dpkg dans le shell généré lors de l’exécution d’une action de hook (depuis dpkg 1.15.4). Contient l’action dpkg actuelle.
DPKG_RUNNING_VERSION
Défini par dpkg dans l’environnement du script de maintenance pour indiquer la version de l’instance dpkg en cours d’exécution (depuis dpkg 1.14.17).
DPKG_MAINTSCRIPT_PACKAGE
Défini par dpkg dans l’environnement du script de maintenance pour indiquer le nom du paquet (sans indication d’architecture) en cours de traitement (depuis dpkg 1.14.17).
DPKG_MAINTSCRIPT_PACKAGE_REFCOUNT
Défini par dpkg dans l’environnement du script de maintenance pour indiquer le nombre de références du paquet, c’est-à-dire le nombre d’instances de paquet dont l’état est supérieur à « non installé » (depuis dpkg 1.17.2).
DPKG_MAINTSCRIPT_ARCH
Défini par dpkg dans l’environnement du script de maintenance pour indiquer l’architecture pour laquelle le paquet a été compilé (depuis dpkg 1.15.4).
DPKG_MAINTSCRIPT_NAME
Défini par dpkg dans l’environnement du script de maintenance pour indiquer le nom du script en cours d’exécution, qui peut être preinst, postinst, prerm ou postrm (depuis dpkg 1.15.7).
DPKG_MAINTSCRIPT_DEBUG
Défini par dpkg dans l’environnement du script de maintenance pour indiquer une valeur (« 0 » ou « 1 ») indiquant si le débogage a été demandé (avec l’option --debug) pour les scripts de maintenance (depuis dpkg 1.4).
FICHIERS
/etc/dpkg/dpkg.cfg.d/[0-9a-zA-Z_-]*
Fichiers de fragments de configuration (depuis dpkg 1.15.4).
/etc/dpkg/dpkg.cfg
Fichier de configuration contenant les options par défaut.
/var/log/dpkg.log
Fichier journal par défaut (voir /etc/dpkg/dpkg.cfg et l’option --log).
Les autres fichiers répertoriés ci-dessous se trouvent dans leurs répertoires par défaut. Consultez l’option --admindir pour savoir comment modifier l’emplacement de ces fichiers.
/var/lib/dpkg/available
Liste des paquets disponibles.
/var/lib/dpkg/status
Statuts des paquets disponibles. Ce fichier contient des informations sur le fait qu’un paquet est marqué pour suppression ou non, qu’il est installé ou non, etc. Voir la section « INFORMATIONS SUR LES PAQUETS » pour plus d’informations.
Le fichier de statut est sauvegardé quotidiennement dans /var/backups. Il peut être utile s’il est perdu ou corrompu en raison de problèmes de système de fichiers.
Le format et le contenu d’un paquet binaire sont décrits dans deb(5).
Noms de fichiers du système de fichiers
Pendant le déballage et la configuration, dpkg utilise divers noms de fichiers à des fins de sauvegarde et de restauration. Ce qui suit est une explication simplifiée de la façon dont ces noms de fichiers sont utilisés pendant l’installation d’un paquet.
*.dpkg-new
Pendant le déballage, dpkg extrait les nouveaux objets du système de fichiers dans le nom de fichier pathname.dpkg-new (à l’exception des répertoires existants ou des liens symboliques vers des répertoires, qui sont ignorés). Une fois cela terminé et après avoir effectué les sauvegardes des anciens objets, les objets sont renommés en pathname.
*.dpkg-tmp
Pendant le déballage, dpkg effectue des sauvegardes des anciens objets du système de fichiers dans le nom de fichier pathname.dpkg-tmp après avoir extrait les nouveaux objets. Ces sauvegardes sont effectuées soit par un renommage pour les répertoires (mais uniquement s’ils changent de type de fichier), soit par une copie de lien symbolique pour les liens symboliques, soit par un lien physique pour tout autre objet du système de fichiers, à l’exception des fichiers de configuration, qui ne sont pas sauvegardés car ils sont traités à une étape ultérieure.
En cas de besoin de revenir en arrière, ces sauvegardes sont utilisées pour restaurer le contenu précédent des objets. Elles sont supprimées automatiquement après la fin de l’installation.
*.dpkg-old
Pendant la configuration, lors de l’installation d’une nouvelle version, dpkg peut effectuer une sauvegarde du fichier de configuration modifié précédent dans le nom de fichier pathname.dpkg-old.
*.dpkg-dist
Pendant la configuration, lors de la conservation de l’ancienne version, dpkg peut effectuer une sauvegarde du nouveau fichier de configuration non modifié dans le nom de fichier pathname.dpkg-dist.
SÉCURITÉ
Toute opération qui nécessite un accès en écriture à la base de données ou au système de fichiers est considérée comme une opération privilégiée qui pourrait permettre une élévation de privilèges. Ces opérations ne doivent jamais être déléguées à un utilisateur non fiable ou effectuées sur des paquets non fiables, car cela pourrait permettre à un utilisateur d’obtenir un accès root au système.
Certaines opérations (telles que la vérification des paquets) peuvent nécessiter des privilèges root pour pouvoir accéder aux fichiers du système de fichiers qui seraient autrement inaccessibles en raison de restrictions de permissions, mais devraient par ailleurs fonctionner normalement et produire des messages appropriés dans ces cas.
Les opérations de requête ne doivent jamais nécessiter de privilèges root, et la délégation de leur exécution à des utilisateurs non privilégiés via une commande gain-root peut avoir des implications en matière de sécurité (telles qu’une élévation de privilèges), par exemple lorsqu’un programme de pagination est automatiquement appelé par l’outil.
Consultez également la section SÉCURITÉ des pages de manuel dpkg-deb(1) et dpkg-split(1).
BUGS
--no-act donne généralement moins d’informations que ce qui pourrait être utile.
EXEMPLES
Pour lister les paquets installés liés à l’éditeur vi(1) (notez que dpkg-query ne charge plus le fichier disponible par défaut, et que l’option dpkg-query --load-avail doit être utilisée à la place pour cela) :
dpkg -l '*vi*'
Pour afficher les entrées de /var/lib/dpkg/available de deux paquets :
dpkg --print-avail vim neovim | less
Pour effectuer une recherche dans la liste des paquets :
dpkg --print-avail | less
Pour supprimer un paquet neovim installé :
dpkg -r neovim
Pour installer un paquet, vous devez d’abord le trouver dans une archive ou sur un support optique. Lorsque vous utilisez une archive basée sur une structure de pool, connaître la zone d’archive et le nom du paquet suffit pour déduire le chemin :
dpkg -i /media/bdrom/pool/main/v/vim/vim_9.0.2018-1_amd64.deb
Pour créer une copie locale de l’état de sélection des paquets :
dpkg --get-selections >myselections
Vous pouvez transférer ce fichier vers un autre ordinateur et, après avoir mis à jour le fichier disponible avec votre gestionnaire de paquets préféré (voir [https://wiki.debian.org/Teams/Dpkg/FAQ#set-selections] pour plus de détails), par exemple :
apt-cache dumpavail | dpkg --merge-avail
vous pouvez l’installer avec :
dpkg --clear-selections
dpkg --set-selections <myselections
Notez que cela ne permettra pas d’installer ou de supprimer quoi que ce soit, mais définira simplement l’état de sélection des paquets demandés. Vous aurez besoin d’une autre application pour télécharger et installer les paquets demandés. Par exemple, exécutez apt-get dselect-upgrade.
Généralement, vous constaterez que dselect(1) fournit un moyen plus pratique de modifier l’état de sélection des paquets.
FONCTIONNALITÉS SUPPLÉMENTAIRES
Des fonctionnalités supplémentaires peuvent être obtenues en installant l’un des paquets suivants : apt, aptitude et debsig-verify.
VOIR AUSSI
aptitude(8), apt(8), dselect(1), dpkg-deb(1), dpkg-query(1), deb(5), deb-control(5), dpkg.cfg(5) et dpkg-reconfigure(8).
AUTEURS
Consultez /usr/share/doc/dpkg/THANKS pour la liste des personnes qui ont contribué à dpkg.