dpkg(1) | dpkg suite | dpkg(1) |
NOM¶
dpkg - Gestionnaire de paquet pour Debian
SYNOPSIS¶
dpkg [option...] action
AVERTISSEMENT¶
Ce manuel est destiné aux utilisateurs qui souhaitent aller au-delà de la commande dpkg --help pour la compréhension des options de la ligne de commande et des états des paquets.
Les responsables de paquet qui veulent comprendre comment dpkg installe leur paquet ne doivent pas l'utiliser. Les descriptions concernant l'installation ou la désinstallation des paquets sont très insuffisantes.
DESCRIPTION¶
dpkg est un outil de niveau intermédiaire pour l'installation, la création, la suppression et la gestion des paquets Debian. La principale interface à dpkg et la plus agréable pour l'utilisateur est, en ligne de commande (CLI) apt(8) et comme environnement en mode texte (TUI), aptitude(8). dpkg lui-même est entièrement contrôlé par des paramètres sur la ligne de commande. Une commande comporte exactement une action et zéro ou plusieurs options. Le paramètre « action » dit ce que dpkg doit faire et les options modifient l'action d'une manière ou d'une autre.
dpkg peut également être utilisé comme interface pour dpkg-deb(1) et dpkg-query(1). La liste des actions gérées est indiquée dans la section ACTIONS. Si cette section est présente, dpkg n'exécute que dpkg-deb ou dpkg-query avec les paramètres qui lui sont passés, mais aucune action spécifique ne leur est communiquée. Pour utiliser cela, il est nécessaire d'appeler le programme directement.
RENSEIGNEMENTS SUR LES PAQUETS¶
dpkg conserve des renseignements utiles sur les paquets disponibles. Cette information est divisée en trois classes : les états, les états de la sélection et les drapeaux. La modification de ces valeurs est principalement dévolue à dselect.
États du paquet :¶
- not-installed
- Le paquet n'est pas installé sur le système.
- config-files
- Seuls les fichiers de configuration du paquet ou le script postrm et les données nécessaires à la suppression du paquet existent sur le système.
- half-installed
- L'installation du paquet a commencé mais, pour une raison quelconque, ne s'est pas terminée.
- unpacked
- Le paquet est dépaqueté mais n'est pas configuré.
- half-configured
- Le paquet est dépaqueté et la configuration a commencé mais, pour une quelconque raison, ne s'est pas terminée.
- triggers-awaited
- Le paquet attend l'exécution d'une action différée qui est à la charge d'un autre paquet.
- triggers-pending
- Une action différée de ce paquet a été activée, il reste à l'exécuter.
- installed
- Le paquet est correctement dépaqueté et configuré.
États de sélection des paquets¶
- install
- Le paquet est sélectionné pour être installé.
- hold
- Un paquet marqué hold est conservé dans la même version, c'est-à-dire, qu'il ne pourra fait l'objet de nouvelles installations automatiques, ni mise à niveau, ni retrait, à moins que ces actions ne soient requises de façon explicite ou ne soient autorisées avec l'option --force-hold.
- deinstall
- Le paquet est sélectionné pour être désinstallé (c'est-à-dire qu'on veut supprimer tous les fichiers à l'exception des fichiers de configuration).
- purge
- Le paquet est sélectionné pour être purgé (c'est-à-dire qu'on veut tout supprimer dans les répertoires du système, même les fichiers de configuration).
- unknown
- La sélection de paquets est inconnue. Un paquet qui est aussi dans un état not-installed et avec un drapeau ok sera oublié dans le prochain enregistrement de la base de données.
Drapeaux du paquet :¶
ACTIONS¶
- -i, --install fichier-paquet...
- Installe le paquet. Si l'option --recursive ou -R est
utilisée, fichier-paquet doit alors être un
répertoire.
L'installation comporte les étapes suivantes :
- 1.
- Extract the control files of the new package.
- 2.
- If another version of the same package was installed before the new installation, execute prerm script of the old package.
- 3.
- Run preinst script, if provided by the package.
- 4.
- Unpack the new files, and at the same time back up the old files, so that if something goes wrong, they can be restored.
- 5.
- If another version of the same package was installed before the new installation, execute the postrm script of the old package. Note that this script is executed after the preinst script of the new package, because new files are written at the same time old files are removed.
- 6.
- Configure the package. See --configure for detailed information about how this is done.
- --unpack fichier-paquet...
- Dépaquette le paquet mais ne configure rien. Si l'option
--recursive ou -R est utilisée, fichier-paquet
doit alors indiquer un répertoire.
Cela traitera une action différée pour Pre-Depends à moins que --no-triggers a été spécifié.
- --configure paquet...|-a|--pending
- Configuration d'un paquet dépaqueté mais non encore
configuré. Si l'option -a ou --pending est
utilisée au lieu de paquet, tous les paquets
dépaquetés mais non configurés sont
configurés.
To reconfigure a package which has already been configured, try the dpkg-reconfigure(8) command instead (which is part of the debconf project).
La configuration comporte les étapes suivantes :
- 1.
- Unpack the conffiles, and at the same time back up the old conffiles, so that they can be restored if something goes wrong.
- 2.
- Run postinst script, if provided by the package.
Cela traitera une action différée à moins que --no-triggers a été spécifié.
- --triggers-only paquet ...|-a | --pending
- N'exécute que les actions différées (depuis dpkg 1.14.17). Toutes les actions différées en attente seront traitées. Si des noms de paquets sont fournis, les actions différées de ces paquets seront traitées, une fois chacune lorsque nécessaire. L'utilisation de cette option peut laisser des paquets dans les états incorrects de triggers-awaited et de triggers-pending. Cela peut être corrigé plus tard en exécutant : dpkg --configure --pending.
- -r, --remove paquet...|-a|--pending
- Supprimer un paquet installé. Cela supprime tout à
l'exception des fichiers de configuration et les autres données
nettoyées par le script postrm, ce qui évite d'avoir
à reconfigurer le paquet s'il était réinstallé
par la suite (ces fichiers sont les fichiers de configuration
listés dans le fichier de contrôle DEBIAN/conffiles).
S'il n'y a pas de fichier de contrôle DEBIAN/conffiles ni
script DEBIAN/postrm, cette commande est, équivalente
à l'appel de --purge. Si -a ou --pending est
indiqué à la place d'un nom de paquet, alors tous les
paquets dépaquetés mais marqués pour suppression dans
le fichier /var/lib/dpkg/status seront supprimés.
La suppression d'un paquet comporte les étapes suivantes :
- 1.
- Run prerm script.
- 2.
- Remove the installed files.
- 3.
- Run postrm script.
Cela traitera une action différée à moins que --no-triggers a été spécifié.
- -P, --purge paquet...|-a|--pending
- Purger un paquet installé ou déjà supprimé.
L'action supprime tout, y compris les fichiers de configuration et tout le
reste nettoyé de postrm. Si -a ou --pending
est indiqué à la place d'un nom de paquet, tous les paquets
dépaquetés ou supprimés mais marqués dans le
fichier /var/lib/dpkg/status comme devant être purgés
seront purgés.
Note: Some configuration files might be unknown to dpkg because they are created and handled separately through the configuration scripts. In that case, dpkg won't remove them by itself, but the package's postrm script (which is called by dpkg), has to take care of their removal during purge. Of course, this only applies to files in system directories, not configuration files written to individual users' home directories.
La suppression d'un paquet comporte les étapes suivantes :
- 1.
- Remove the package, if not already removed. See --remove for detailed information about how this is done.
- 2.
- Run postrm script.
Cela traitera une action différée à moins que --no-triggers a été spécifié.
- -V, --verify nom-du-paquet...
- Vérifie l'intégrité du nom-du-paquet ou de
tous les paquets, si omis, en comparant l'information des fichiers
installés par un paquet avec l'information des
métadonnées des fichiers stockée dans la base de
données de dpkg (depuis dpkg 1.17.2). L'origine de
l'information des métadonnées des fichiers dans la base de
données, ce sont les paquets binaires eux-mêmes. Ces
métadonnées sont collectées au moment du
dépaquetage des paquets durant le processus d'installation.
Currently the only functional check performed is an md5sum verification of the file contents against the stored value in the files database. It will only get checked if the database contains the file md5sum. To check for any missing metadata in the database, the --audit command can be used. This is only an integrity check and should not be considered as any kind of security verification.
On peut choisir le format de sortie avec l'option --verify-format, par défaut c'est le format rpm, mais cela pourrait changer dans le futur, et selon le format que les programmes analysant cette sortie de commande pourraient explicitement attendre.
- -C, --audit nom-du-paquet...
- Effectue une vérification du bon état et de consistance de la base de données sur le nom-du-paquet ou sur tous les paquets si omis (vérification par paquet depuis dpkg 1.17.10). Par exemple, recherche les paquets qui n'ont été que partiellement installés sur le système ou qui ont des données de contrôle ou des fichiers manquants, incorrects ou obsolètes. dpkg suggère une manière de les corriger.
- --update-avail [fichier-Paquets]
- --merge-avail [fichier-Paquets]
- Met à jour l'information de dpkg et de dselect sur
les paquets disponibles. L'action --merge-avail combine les
informations anciennes avec celles qui proviennent du fichier
fichier-Packages. L'action --update-avail remplace les
informations anciennes par celles qui proviennent du fichier
fichier-Packages. Le fichier fichier-Packages
distribué avec Debian est appelé simplement
« Packages ». Si le paramètre
fichier-Packages est manquant ou est nommé
« - », alors, il sera lu à
partir de l'entrée standard (depuis dpkg 1.17.7).
dpkg garde son propre enregistrement des paquets disponibles dans
/var/lib/dpkg/available.
Une simple commande permettant de récupérer et mettre à jour le fichier available est dselect update. Veuillez noter que ce fichier est à peu près inutile si vous n'utilisez pas dselect mais une interface basée sur APT. APT contient en effet son propre mécanisme pour suivre les paquets disponibles.
- -A, --record-avail fichier-paquet...
- Met à jour l'information de dpkg et de dselect sur les paquets disponibles avec les informations qui proviennent de fichier-paquet. Si l'option --recursive ou -R est utilisée, fichier-paquet doit indiquer un répertoire.
- --forget-old-unavail
- Désormais obsolète et sans effet, car dpkg oublie automatiquement les paquets désinstallés qui ne sont pas disponibles depuis (dpkg 1.15.4), mais seulement ceux qui ne contiennent pas d'informations pour l'utilisateur comme les sélections de paquets.
- --clear-avail
- Efface les renseignements existants sur les paquets disponibles.
- --get-selections [motif-de-nom-de-paquet...]
- Obtient la liste des sélections de paquets et l'envoie sur la sortie standard. Sans un motif, les paquets non installés (c'est-à-dire ceux qui ont été précédemment purgés) ne seront pas affichés.
- --set-selections
- Modifie la liste des sélections des paquets en lisant un fichier
sur l'entrée standard. Le format de ce fichier doit être de
la forme « paquet état »,
où état vaut install, hold, deinstall
ou purge. Les lignes vides ou les lignes de commentaires
débutant par « # » sont
autorisées.
Le fichier available doit être à jour pour que cette commande soit utile, autrement des paquets inconnus seront ignorés avec un avertissement. Veuillez consultez les commandes --update-avail et --merge-avail pour plus d'informations.
- --clear-selections
- Met l'état de chaque paquet non essentiel à « deinstall » (depuis dpkg 1.13.18). Il faut utiliser cette option juste avant --set-selections, pour désinstaller les paquets qui ne sont pas affichés par --set-selections.
- --yet-to-unpack
- Recherche les paquets qui ont été sélectionnés
pour l'installation, mais qui, pour une raison quelconque, ne sont pas
encore installés.
Note: This command makes use of both the available file and the package selections.
- --predep-package
- Affiche un fichier unique qui est la cible d'une ou plusieurs
pré-dépendances correspondantes et n'a lui-même pas
de pré-dépendances insatisfaites.
Si un tel paquet est présent, l'affiche comme entrée du fichier Packages, et il peut être manipulé comme il se doit.
Note: This command makes use of both the available file and the package selections.
Renvoie 0 si un paquet est affiché, 1 quand il n'y a pas de paquet adéquat disponible et 2 en cas d'erreur.
- --add-architecture architecture
- Ajoute architecture à la liste d'architectures pour lesquelles les paquets peuvent être installés sans utiliser --force-architecture (depuis dpkg 1.16.2). L'architecture pour laquelle dpkg est compilé (c'est-à-dire ce qu'affiche --print-architecture) est toujours incluse dans cette liste.
- --remove-architecture architecture
- Retire architecture de la liste d'architectures pour lesquelles les paquets peuvent être installés sans utiliser --force-architecture (depuis dpkg 1.16.2). Si cette architecture est actuellement utilisée dans la base de données, cette opération sera rejetée, sauf si --force-architecture est utilisé. L'architecture pour laquelle dpkg est compilé (c'est-à-dire ce qu'affiche --print-architecture) ne peut jamais être retirée de cette liste.
- --print-architecture
- Affiche l'architecture des paquets installés (par exemple, « i386 »).
- --print-foreign-architectures
- Affiche la liste, à raison d'une par ligne, des architectures supplémentaires pour lesquelles dpkg est autorisé à installer des paquets (depuis dpkg 1.16.2).
- --assert-help
- Donne des renseignements sur les options --assert-fonction (depuis dpkg 1.21.0).
- --assert=fonction
- Déclare que dpkg prend en charge la fonction requise. Renvoie 0 si la fonction est complètement prise en charge, 1 si la fonction est reconnue mais que dpkg ne peut pas encore fournir sa prise en charge, et 2 si la fonction est inconnue. La liste actuelle des fonctions déclarables est :
- support-predepends
- Prend en charge le champ Pre-Depends (depuis dpkg 1.1.0).
- working-epoch
- Prend en charge les « epochs » dans les chaînes de version (depuis dpkg 1.4.0.7).
- longs-noms-de-fichier
- Prend en charge les longs noms de fichier dans les archives deb(5) (depuis dpkg 1.4.1.17).
- multi-conrep
- Prend en charge plusieurs Conflicts et Replaces (depuis dpkg 1.4.1.19).
- multi-arch
- Prend en charge les champs et les sémantiques multi-architectures (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 Protected (depuis dpkg 1.20.1).
- --validate-chaîne quelque-chose
- Valide que la chaîne quelque-chose a une syntaxe correcte (depuis dpkg 1.18.16). Renvoie 0 si la chaîne est valable, 1 si la chaîne n'est pas valable mais pourrait être accepté dans des contextes tolérants, et 2 si la chaîne n'est pas valable. La liste actuelle des quelque-choses acceptables est :
- --compare-versions ver1 op ver2
- Compare des numéros de version, où op est un opérateur binaire. dpkg renvoie « true » (0) si la condition spécifiée est vérifiée, et renvoie « false » (1) dans le cas contraire. Il y a deux groupes d'opérateurs ; ils diffèrent par leur façon de traiter l'absence de ver1 ou de ver2. Pour les opérateurs suivants, lt le eq ne ge gt, l'absence d'une version est considérée comme inférieure à toute version ; pour les opérateurs lt-nl le-nl ge-nl gt-nl, l'absence d'une version est considérée comme supérieure à toute version. Les opérateurs < << <= = >= >> > ne sont fournis que pour la compatibilité avec la syntaxe du fichier de contrôle. Les opérateurs < et > sont obsolètes et ne devraient pas être utilisés du fait d'une sémantique pas claire. Comme illustration, 0.1< 0.1 est évaluée à vrai.
- -?, --help
- Affiche un court message d'aide.
- --force-help
- Donne des renseignements sur les options --force-quelque-chose.
- -Dh, --debug=help
- Donne des renseignements sur les options de débogage.
- --version
- Affiche la version de dpkg.
Lorsque c'est utilisé avec --robot, la sortie est le numéro de version du programme un format numérique à points de séparation, sans saut de ligne.
- dpkg-deb actions
- Voir dpkg-deb(1) pour des renseignements supplémentaires sur les actions suivantes et d'autres actions et options qui ne sont pas exposées par l'interface de dpkg.
- -b, --build répertoire [archive|répertoire]
- Construire un paquet deb.
- -c, --contents archive
- Lister le contenu d'un paquet deb.
- -e, --control archive [répertoire]
- Extraire les informations de contrôle d'un paquet.
- -x, --extract archive répertoire
- Extraire les fichiers contenus dans un paquet.
- -X, --vextract archive répertoire
- Extraire et afficher les noms de fichiers contenus dans un paquet.
- -f, --field archive [champ-de-contrôle...]
- Afficher le(s) champ(s) de contrôle d'un paquet.
- --ctrl-tarfile archive
- Produire le contenu du fichier tar de contrôle d'un paquet Debian.
- --fsys-tarfile archive
- Produire le contenu du fichier tar du système de fichiers d'un paquet Debian.
- -I, --info archive [fichier-de-contrôle...]
- Affiche des renseignements sur un paquet.
- dpkg-query actions
- Voir dpkg-query(1) pour davantage d'explications sur les actions suivantes et d'autres actions et options qui ne sont pas exposées par l'interface de dpkg.
- -l, --list motif-de-nom-de-paquet...
- Afficher la liste des paquets qui correspondent au motif.
- -s, --status nom-du-paquet...
- Donner l'état du paquet indiqué.
- -L, --listfiles nom-du-paquet...
- Afficher la liste des fichiers installés qui appartiennent à paquet.
- -S, --search motif-de-nom-à-rechercher...
- Rechercher un fichier dans les paquets installés.
- -p, --print-avail nom-du-paquet...
- Affiche les informations trouvées dans /var/lib/dpkg/available à propos de paquet. Les utilisateurs des interfaces à APT devraient plutôt utiliser apt show nom-du-paquet.
OPTIONS¶
On peut spécifier toutes les options à la fois sur la ligne de commande, dans le fichier de configuration de dpkg, /etc/dpkg/dpkg.cfg ou dans les fragments de fichiers du répertoire de configuration /etc/dpkg/dpkg.cfg.d/ (avec un nom qui respecte le motif « [0-9a-zA-Z_-]* »). Chaque ligne de ce fichier est soit une option (identique à une option en ligne de commande mais sans tirets initiaux), soit un commentaire, commençant par « # ».
- --abort-after=nombre
- Modifie le nombre d'erreurs au delà duquel dpkg s'arrête. Il est par défaut égal à 50.
- -B, --auto-deconfigure
- Quand un paquet est supprimé, il peut arriver qu'un paquet installé dépendait du paquet supprimé. En spécifiant cette option, on obtient la déconfiguration automatique du paquet qui dépendait du paquet supprimé.
- -Doctal, --debug=octal
- Demande de débogage. octal est formé en faisant un
« OU » logique entre des valeurs
souhaitées appartenant à la liste ci-dessous (notez que ces
valeurs pourront changer dans les prochaines versions). -Dh ou
--debug=help affiche ces valeurs de débogage.
nombre description 1 Informations de progression en général utiles 2 Appel et état des scripts du responsable 10 Affichage pour chaque fichier traité 100 De nombreux affichages pour chaque fichier traité 20 Affichage pour chaque fichier de configuration 200 De nombreux affichages pour chaque fichier de configuration 40 Dépendances et conflits 400 De nombreuses sorties pour les dépendances et les conflits 10000 Sortie sur l'activation et le traitement des actions différées 20000 De nombreuses sorties sur les actions différées 40000 Quantité stupide de sorties sur les actions différées 1000 Beaucoup de radotage à propos, par exemple, du répertoire dpkg/info 2000 Quantité stupide de radotage
- --force-quelque-chose
- --no-force-quelque-chose, --refuse-quelque-chose
- Forcer ou refuser (no-force et refuse signifient la
même chose) de faire quelque chose. quelque-chose est une
liste d'actions séparées par des virgules, décrites
ci-après. --force-help affiche un message qui les
décrit. Les actions marquées d'un (*) sont forcées
par défaut.
Warning: These options are mostly intended to be used by experts only. Using them without fully understanding their effects may break your whole system.
- all:
- Turns on (or off) all force options.
- downgrade(*):
- Install a package, even if newer version of it is already installed.
Warning: At present dpkg does not do any dependency checking on downgrades and therefore will not warn you if the downgrade breaks the dependency of some other package. This can have serious side effects, downgrading essential system components can even make your whole system unusable. Use with care.
- configure-any:
- Configure also any unpacked but unconfigured packages on which the current package depends.
- hold:
- Allow automatic installs, upgrades or removals of packages even when marked to be on “hold”. Note: When these actions are requested explicitly, the “hold” package selection state always gets ignored.
- remove-reinstreq:
- Remove a package, even if it's broken and marked to require reinstallation. This may, for example, cause parts of the package to remain on the system, which will then be forgotten by dpkg.
- remove-protected:
- Remove, even if the package is considered protected (since dpkg 1.20.1). Protected packages contain mostly important system boot infrastructure or are used for custom system-local meta-packages. Removing them might cause the whole system to be unable to boot or lose required functionality to operate, so use with caution.
- remove-essential:
- Remove, even if the package is considered essential. Essential packages contain mostly very basic Unix commands, required for the packaging system, for the operation of the system in general or during boot (although the latter should be converted to protected packages instead). Removing them might cause the whole system to stop working, so use with caution.
- depends:
- Turn all dependency problems into warnings. This affects the Pre-Depends and Depends fields.
- depends-version:
- Don't care about versions when checking dependencies. This affects the Pre-Depends and Depends fields.
- breaks:
- Install, even if this would break another package (since dpkg 1.14.6). This affects the Breaks field.
- conflicts:
- Install, even if it conflicts with another package. This is dangerous, for it will usually cause overwriting of some files. This affects the Conflicts field.
- confmiss:
- Always install the missing conffile without prompting. This is dangerous, since it means not preserving a change (removing) made to the file.
- confnew:
- If a conffile has been modified and the version in the package did change, always install the new version without prompting, unless the --force-confdef is also specified, in which case the default action is preferred.
- confold:
- If a conffile has been modified and the version in the package did change, always keep the old version without prompting, unless the --force-confdef is also specified, in which case the default action is preferred.
- confdef:
- If a conffile has been modified and the version in the package did change, always choose the default action without prompting. If there is no default action it will stop to ask the user unless --force-confnew or --force-confold is also been given, in which case it will use that to decide the final action.
- confask:
- If a conffile has been modified always offer to replace it with the version in the package, even if the version in the package did not change (since dpkg 1.15.8). If any of --force-confnew, --force-confold, or --force-confdef is also given, it will be used to decide the final action.
- overwrite:
- Overwrite one package's file with another's file.
- overwrite-dir:
- Overwrite one package's directory with another's file.
- overwrite-diverted:
- Overwrite a diverted file with an undiverted version.
- statoverride-add:
- Overwrite an existing stat override when adding it (since dpkg 1.19.5).
- statoverride-remove:
- Ignore a missing stat override when removing it (since dpkg 1.19.5).
- security-mac(*):
- Use platform-specific Mandatory Access Controls (MAC) based security when installing files into the filesystem (since dpkg 1.19.5). On Linux systems the implementation uses SELinux.
- unsafe-io:
- Do not perform safe I/O operations when unpacking (since dpkg 1.15.8.6).
Currently this implies not performing file system syncs before file
renames, which is known to cause substantial performance degradation on
some file systems, unfortunately the ones that require the safe I/O on the
first place due to their unreliable behaviour causing zero-length files on
abrupt system crashes.
Note : pour ext4, le principal concerné, il est suggéré de plutôt 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. Elle permet notamment d'éviter de terminer avec des fichiers vides lors des arrêts brutaux pour tout logiciel qui ne synchronise pas le système de fichiers avant chaque renommage.
Warning: Using this option might improve performance at the cost of losing data, use with care.
- script-chrootless:
- Run maintainer scripts without chroot(2)ing into instdir
even if the package does not support this mode of operation (since dpkg
1.18.5).
Warning: This can destroy your host system, use with extreme care.
- architecture:
- Process even packages with wrong or no architecture.
- bad-version:
- Process even packages with wrong versions (since dpkg 1.16.1).
- bad-path:
- PATH is missing important programs, so problems are likely.
- not-root:
- Try to (de)install things even when not root.
- bad-verify:
- Install a package even if it fails authenticity check.
- --ignore-depends=paquet,...
- Ne tient pas compte de la vérification des dépendances pour les paquets spécifiés (en fait, la vérification est faite mais ne donne rien d'autre que des avertissements). Cela affecte les champs Pre-Depends, Depends et Breaks.
- --no-act, --dry-run, --simulate
- Faire tout ce qui doit être fait, mais n'écrire aucune
modification. On utilise cette option pour voir ce qui se passe sans
modifier quoi que ce soit.
Assurez-vous de donner l'option --no-act avant le paramètre action, sinon des résultats fâcheux sont probables. Par exemple, la commande dpkg --purge toto --no-act purge d'abord le paquet toto et essaie ensuite de purger le paquet --no-act, même si vous comptiez qu'elle ne ferait rien du tout.
- -R, --recursive
- Traite récursivement tous les simples fichiers qui correspondent au motif *.deb et qui se trouvent dans les répertoires et sous-répertoires spécifiés. On peut utiliser cette option avec les actions -i, -A, --install, --unpack et --record-avail.
- -G
- Ne pas installer un paquet si une version plus récente de ce paquet est déjà installée. C'est un alias pour --refuse-downgrade.
- --admindir=répertoire
- Fixe le répertoire d'administration à répertoire. Ce répertoire contient de nombreux fichiers donnant des informations au sujet de l'état des paquets installés ou non, etc. Le répertoire par défaut est /var/lib/dpkg si DPKG_ADMINDIR n'a pas été fixé.
- --instdir=répertoire
- Fixe le répertoire d'installation qui indique où les paquets vont être installés. instdir est aussi le nom du répertoire indiqué à chroot(2) avant que ne soient lancés les scripts d'installation, ce qui signifie que ces scripts voient instdir comme répertoire racine. Le répertoire par défaut est « / ».
- --root=répertoire
- Fixe le répertoire racine à répertoire ce qui fixe le répertoire d'installation à « répertoire » et le répertoire d'administration à « répertoire/var/lib/dpkg ».
- -O, --selected-only
- Traiter seulement les paquets qui sont sélectionnés pour l'installation. La sélection est réellement faite par dselect ou par dpkg quand ils manipulent les paquets. Par exemple, quand un paquet est supprimé, il est marqué comme ayant été sélectionné pour une désinstallation.
- -E, --skip-same-version
- Ne pas installer le paquet si la même version et la même
architecture du paquet est déjà installée.
Depuis dpkg 1.21.10, l'architecture est aussi prise en compte, ce qui rend possible la mise à jour croisée de paquets ou d'installer des instances supplémentaires co-installables avec la même version, mais avec une architecture différente.
- --pre-invoke=commande
- --post-invoke=commande
- Programme l'exécution de commande à l'aide
« sh -c » avant ou après
l'exécution de dpkg pour les actions unpack,
configure, install, triggers-only, remove,
purge, add-architecture et remove-architecture
(depuis dpkg 1.15.4 ; les actions add-architecture et
remove-architecture depuis dpkg 1.17.19). Cette option peut
être utilisée plusieurs fois. L'ordre dans lequel les
options multiples sont indiquées sera préservé et
celles indiquées dans le fichier de configuration auront la
priorité. La variable d'environnement DPKG_HOOK_ACTION est
utilisée pour indiquer aux scripts utilisés quelle est
l'action actuelle de dpkg.
Note: Front-ends might call dpkg several times per invocation, which might run the hooks more times than expected.
- --path-exclude=motif-global
- --path-include=motif-global
- Utilise motif-global comme filtre de chemins, soit en excluant,
soit en ré-incluant des chemins précédemment exclus,
correspondant au motif indiqué, pendant l'installation (depuis
dpkg 1.15.8).
Warning: Take into account that depending on the excluded paths you might completely break your system, use with caution.
The glob patterns use the same wildcards used in the shell, were ‘*’ matches any sequence of characters, including the empty string and also ‘/’. For example, «/usr/*/READ*» matches «/usr/share/doc/package/README». As usual, ‘?’ matches any single character (again, including ‘/’). And ‘[’ starts a character class, which can contain a list of characters, ranges and complementations. See glob(7) for detailed information about globbing. Note: The current implementation might re-include more directories and symlinks than needed, in particular when there is a more specific re-inclusion, to be on the safe side and avoid possible unpack failures; future work might fix this.
Cela peut servir à exclure tous les chemins sauf certains spécifiques. Un cas classique d'utilisation est :
--path-exclude=/usr/share/doc/* --path-include=/usr/share/doc/*/copyright
qui permet de supprimer tous les fichiers de documentation sauf les fichiers de « copyright ».
Ces deux options peuvent être utilisées plusieurs fois et éventuellement être alternées entre elles. Les deux sont traitées dans l'ordre indiqué : la dernière règle correspondant à un fichier donné est alors celle qui sera utilisée.
Les filtres sont appliqués lors du dépaquetage des paquets binaires et, en tant que tel, ont seulement connaissance du type des objets qui sont en cours de filtrage (par exemple un fichier ordinaire ou un répertoire) et n'ont pas de visibilité des objets à venir. Comme ces filtres ont des effets secondaires (à la différence des filtres de find(1)), l'exclusion d'un chemin précis qui se trouve être un objet répertoire, comme /usr/share/doc, n'aura pas le résultat désiré, et seul ce chemin sera exclu (et qui pourrait être réintégré automatiquement si le code en voit la nécessité).Le dépaquetage de tous les fichiers suivants renfermés par ce répertoire échouera.
Hint: make sure the globs are not expanded by your shell.
- --verify-format nom-de-format
- Définit le format de sortie de la commande --verify (depuis
dpkg 1.17.2).
Le seul format de sortie pris en charge actuellement est rpm, qui consiste en une ligne par chemin dont la vérification a échoué. Ces lignes ont le format suivant :
missing [c] chemin [(message-erreur)]
??5?????? [c] cheminLes neufs premier caractères sont utilisés pour rapporter le résultat des vérifications, soit un missing littéral quand le fichier n'est pas présent ou quand ses métadonnées ne peuvent être obtenues, ou un des caractères spéciaux suivants qui rapportent le résultat de chacune des vérifications :
- « ? »
- implique que la vérification ne peut être réalisée (absence de prise en charge, droit d'accès de fichier, etc).
- « . »
- implique que la vérification est passée
- « A-Za-z0-9 »
- implique qu'une vérification spécifique a échoué. Les positions et caractères alphanumériques suivant sont actuellement pris en charge :
- 1 « ? »
- Ces vérifications ne sont pas prise en charge actuellement, ce sera toujours « ? ».
- 2 « M »
- La vérification du mode du fichier a échoué (depuis dpkg 1.21.0). Parce que les métadonnées du chemin ne sont pas suivies, cette vérification n'est que partiellement émulée avec une heuristique très simple pour des chemins qui possèdent une somme de calcul connue. Cela implique que ce devrait être des fichiers simples où la vérification échoue si le chemin n'est pas un fichier simple sur le système de fichier. Cette vérification ne réussira jamais actuellement parce qu'il n'y a pas assez de données disponibles.
- 3 « 5 »
- The digest check failed, which means the file contents have changed. This is only an integrity check and should not be considered as any kind of security verification.
- 4-9 « ? »
- Ces vérifications ne sont pas prise en charge actuellement, ce sera 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 nom de chemin est un conffile (fichier de configuration)
suivi finalement d'une autre espace et du nom de chemin.
Dans le cas où l'entrée était de type missing et où le fichier n'était pas vraiment présent dans le système de fichiers, alors la ligne est suivi par une espace et le message d'erreur entre parenthèse.
- --status-fd n
- Envoie un état du paquet compréhensible par la machine et met à jour cette information dans le descripteur de fichier n. Cette option peut être spécifiée plusieurs fois. L'information est généralement constituée d'un enregistrement par ligne, dans l'une des formes suivantes :
- status: paquet: état
- L'état du paquet a changé ; l'état est tel que dans le fichier d'état (« status file »).
- status: paquet : error : message-d'erreur-complet
- Une erreur s'est produite. Les sauts de ligne éventuels dans message-d'erreur-complet seront convertis en espaces avant affichage.
- status: fichier : conffile-prompt : 'real-old' 'real-new' useredited distedited
- Une question pour un fichier de configuration va être posée à l'utilisateur.
- processing: phase: paquet
- Envoyé juste avant le début du traitement d'une phase. Les phases sont upgrade, install (les deux sont envoyés avant le dépaquetage), configure, trigproc, disappear, remove, purge.
- --status-logger=commande
- Envoie un état du paquet compréhensible par la machine et met à jour l'information de progression sur l'entrée standard du processeur de commandes command, à exécuter avec « sh -c » (depuis dpkg 1.16.0). Cette option peut être spécifiée plusieurs fois. Le format d'affichage utilisé est le même que celui de --status-fd.
- --log=fichier
- Enregistre les mises à jour et actions des changements d'état dans fichier plutôt que dans le /var/log/dpkg.log par défaut. Si l'option est passée plusieurs fois, le dernier nom de fichier est utilisé. Les messages du journal ont cette forme :
- AAAA-MM-JJ HH:MM:SS startup type commande
- 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 état paquet version-installée
- Pour les mises à jour des changements d'état.
- AAAA-MM-JJ HH:MM:SS action paquet version-installée version-disponible
- Pour les actions où action est install, upgrade, configure, trigproc, disappear, remove ou purge.
- AAAA-MM-JJ HH:MM:SS conffile fichier décision
- Pour les changements du fichier de configuration où décision est install ou keep.
- --robot
- Utiliser un format de sortie lisible par la machine. Cela fournit une
interface pour les programmes qui doivent analyser la sortie de certaines
des commandes qui sinon nne produisent pas un format de sortie lisible par
une machine. Aucune traduction ne sera utilisée et la sortie sera
modifiée pour la rendre plus facile à analyser.
La seule commande prise en charge actuellement est --version.
- --no-pager
- Désactive l'utilisation d'un afficheur pour montrer les informations (depuis dpkg 1.19.2).
- --no-debsig
- Ne pas tenter de vérifier la signature des paquets.
- --no-triggers
- Durant ce traitement, ne pas lancer d'actions différées (depuis dpkg 1.14.17), mais les activations seront toujours enregistrées. S'il est utilisé avec --configure paquet ou --triggers-only paquet alors le postinst du paquet sera toujours exécuté même si seule l'exécution d'une action différée est nécessaire. L'utilisation de cette option peut laisser des paquets dans les mauvais états triggers-awaited et triggers-pending. Cela peut être corrigé plus tard en exécutant dpkg --configure --pending.
- --triggers
- Annule un précédent --no-triggers (depuis dpkg 1.14.17).
CODE DE SORTIE¶
- 0
- L'action demandée s'est correctement déroulée. Ou bien une commande de vérification ou de déclaration renvoie « true ».
- 1
- Une commande de vérification ou de déclaration renvoie « false ».
- 2
- Erreur fatale ou irrécupérable due à l'utilisation d'une ligne de commande non valable, ou 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 devrait être définie dans l'environnement et pointer vers les chemins du système où plusieurs programmes requis devraient se trouver. Si la variable n'est pas définie ou si les programmes ne sont pas trouvés, dpkg s'arrête.
- HOME
- Si cette option est utilisée, dpkg utilisera le répertoire indiqué pour lire le fichier de configuration propre à l'utilisateur.
- TMPDIR
- Si cette option est utilisée, dpkg utilisera le répertoire indiqué pour créer les fichiers et répertoires temporaires.
- SHELL
- Le programme exécuté par dpkg quand il lance un nouvel interpréteur de commandes interactif ou lance une commande avec le shell.
- PAGER
- DPKG_PAGER
- Le programme exécuté par dpkg quand il utilise un afficheur, qui sera exécuté avec « $SHELL -c », par exemple lorsqu'il affiche des différences de fichiers de configuration. Si SHELL n'est pas défini, sh sera utilisé à la place. Le DPKG_PAGER se substitue à la variable d'environnement PAGER (depuis dpkg 1.19.2).
- 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_DEBUG
- Définit le masque de débogage (depuis dpkg 1.21.10) à partir d'une valeur octale. Actuellement, les drapeaux acceptés sont décrits dans l'option dpkg --debug.
- DPKG_FORCE
- Définit les drapeaux de forçage (depuis dpkg 1.19.5). Quand cette variable est présente, aucune des options internes de forçage par défaut ne sera appliquée. Si la variable est présente mais vide, tous les drapeaux de forçage seront désactivés.
- DPKG_ADMINDIR
- Si cette variable est positionnée et que les options --admindir ou --root ne sont pas précisées, ce répertoire sera utilisé comme répertoire de données pour dpkg (depuis dpkg 1.20.0).
- DPKG_FRONTEND_LOCKED
- Définie par une interface de gestion de paquets pour notifier à dpkg qu'il ne devrait pas obtenir le verrou d'interface (depuis dpkg 1.19.1).
Environnement interne¶
- LESS
- Définie par dpkg à « -FRSXMQ », si ce n'est pas déjà configuré, lors du lancement d'un afficheur (depuis dpkg 1.19.2). Pour modifier le comportement par défaut, cette variable peut être configurée à une autre valeur y compris une chaîne vide ; alternativement, les variables PAGER ou DPKG_PAGER peuvent être réglées pour désactiver des options particulières avec « -+ », par exemple DPKG_PAGER="less -+F".
- DPKG_ROOT
- Définie par dpkg dans l'environnement du script du responsable pour indiquer quelle installation activer (depuis dpkg 1.18.5). La valeur est destinée à être ajoutée avant n'importe quel chemin sur lequel les scripts du responsable agissent. Pendant une opération normale, cette variable est vide. Lors de l'installation de paquets dans un instdir différent, dpkg invoque normalement les scripts du responsable avec chroot(2) et laisse cette variable vide, mais si --force-script-chrootless est indiqué, alors, l'appel de chroot(2) est ignoré et instdir n'est pas vide.
- DPKG_ADMINDIR
- Définie par dpkg dans l'environnement du script du responsable, pour indiquer le répertoire d'administration à utiliser (depuis dpkg 1.16.0). Cette variable est toujours fixée à la valeur actuelle de --admindir.
- DPKG_FORCE
- Définie par dpkg dans l'environnement du sous-processus pour tous les noms d'options de forçage actuellement activées séparés par des virgules (depuis dpkg 1.19.5).
- DPKG_SHELL_REASON
- Cette variable est définie pour le shell lancé par dpkg lorsqu'il lui est demandé d'analyser la situation lors du traitement des fichiers de configuration (depuis dpkg 1.15.6). La valeur actuellement valable est : conffile-prompt.
- DPKG_CONFFILE_OLD
- Cette variable est définie pour le shell lancé par dpkg lorsqu'il lui est demandé d'analyser la situation lors du traitement des fichiers de configuration (depuis dpkg 1.15.6). Elle contient le chemin de l'ancien fichier de configuration.
- DPKG_CONFFILE_NEW
- Cette variable est définie pour le shell lancé par dpkg lorsqu'il lui est demandé d'analyser la situation lors du traitement des fichiers de configuration (depuis dpkg 1.15.6). Elle contient le chemin du nouveau fichier de configuration.
- DPKG_HOOK_ACTION
- Cette variable est définie par dpkg pour le shell lancé lors de l'exécution d'une action de point d'entrée (depuis dpkg 1.15.4). Elle contient l'action actuelle de dpkg.
- DPKG_RUNNING_VERSION
- Cette variable est définie par dpkg dans l'environnement du script du responsable. Elle contient la version de l'instance de dpkg en cours d'exécution (depuis dpkg 1.14.17).
- DPKG_MAINTSCRIPT_PACKAGE
- Définie par dpkg dans l'environnement du script du responsable, cette variable contient le nom du paquet (sans qualification d'architecture) en cours de traitement (depuis dpkg 1.14.17).
- DPKG_MAINTSCRIPT_PACKAGE_REFCOUNT
- Définie par dpkg dans l'environnement du script du responsable, cette variable contient le compte de référence du paquet, c'est-à-dire le nombre d'instances de paquet avec un état plus élevé que not-installed (depuis dpkg 1.17.2).
- DPKG_MAINTSCRIPT_ARCH
- Définie par dpkg dans l'environnement du script du responsable, cette variable contient l'architecture pour laquelle le paquet a été construit (depuis dpkg 1.15.4).
- DPKG_MAINTSCRIPT_NAME
- Définie par dpkg dans l'environnement du script du responsable, cette variable contient le nom du script en cours d'exécution, preinst, postinst, prerm ou postrm (depuis dpkg 1.15.7).
- DPKG_MAINTSCRIPT_DEBUG
- Cette variable est définie par dpkg dans l'environnement du script du responsable à une valeur (« 0 » ou « 1 ») notant si le débogage a été demandé (avec l'option --debug) pour les scripts du responsable (depuis dpkg 1.18.4).
FICHIERS¶
- /etc/dpkg/dpkg.cfg.d/[0-9a-zA-Z_-]*
- Fragments de fichiers 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 standard. Voyez /etc/dpkg/dpkg.cfg et l'option --log.
Les autres fichiers répertoriés ici sont dans leur répertoire par défaut, voyez l'option --admindir pour savoir comment changer l'emplacement de ces fichiers.
- /var/lib/dpkg/available
- Liste des paquets disponibles.
- /var/lib/dpkg/status
- États des paquets disponibles. Ce fichier contient des informations
qui permettent de savoir si un paquet est marqué comme devant
être supprimé ou pas, devant être installé ou
pas, etc. Voyez la section RENSEIGNEMENTS SUR LES PAQUETS pour des
informations supplémentaires.
Le fichier d'état est sauvegardé quotidiennement dans /var/backups. Cela peut être utile en cas de perte ou de corruption due à des problèmes de système de fichiers.
Le format et le contenu d'un paquet binaire sont décrits dans deb(5).
SECURITY¶
Any operation that needs write access to the database or the filesystem is considered a privileged operation that might allow root escalation. These operations must never be delegated to an untrusted user or be done on untrusted packages, as that might allow root access to the system.
Some operations (such as package verification) might need root privileges to be able to access files on the filesystem that would otherwise be inaccessible due to restricted permissions, but should otherwise work normally and produce appropriate messages in those cases.
Query operations should never require root, and delegating their execution to unprivileged users via some gain-root command can have security implications (such as privilege escalation), for example when a pager is automatically invoked by the tool.
See also the SECURITY section of the dpkg-deb(1) and dpkg-split(1) manual pages.
BOGUES¶
L'option --no-act ne donne pas assez d'informations utiles.
EXEMPLES¶
Affichage des paquets installés liés à l'éditeur vi(1) (noter que dpkg-query ne charge plus le fichier available par défaut, sauf si l'option dpkg-query --load-avail est utilisée) :
dpkg -l '*vi*'
Pour voir les entrées de /var/lib/dpkg/available concernant deux paquets :
dpkg --print-avail elvis vim | less
Pour rechercher vous-même dans la liste des paquets :
less /var/lib/dpkg/available
Pour supprimer le paquet installé elvis :
dpkg -r elvis
Pour installer un paquet, vous devez d'abord le trouver dans une archive ou sur un CD. Le fichier available montre que le paquet vim se trouve dans la section « editors » :
cd /media/cdrom/pool/main/v/vim dpkg -i vim_4.5-3.deb
Pour faire une copie locale des états de sélection des paquets :
dpkg --get-selections >myselections
Vous pourriez transférer ce fichier sur un autre ordinateur, et après avoir mis à jour le fichier available avec l'interface de gestion de paquets de votre choix (voir <https://wiki.debian.org/Teams/Dpkg/FAQ#set-selections> pour plus de détails), par exemple :
apt-cache dumpavail | dpkg --merge-avail
ou avec dpkg 1.17.6 et les versions antérieures :
avail=$(mktemp) apt-cache dumpavail >"$avail" dpkg --merge-avail "$avail" rm "$avail"
vous pouvez l'installer de cette manière :
dpkg --clear-selections dpkg --set-selections <mes-sélections
On remarquera que cela n'installe ou ne supprime rien du tout ; cela ne fait qu'enregistrer l'état souhaité des paquets. Vous aurez besoin d'autres applications pour récupérer et installer réellement les paquets requis. Par exemple, exécuter apt-get dselect-upgrade.
Habituellement, vous trouverez que dselect(1) fournit une façon plus aisée de modifier les états de sélection des paquets.
FONCTIONNALITÉS SUPPLÉMENTAIRES¶
D'autres possibilités sont offertes en installant les paquets suivants : apt, aptitude et debsums.
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 de ceux qui ont contribué à dpkg.
TRADUCTION¶
Ariel VARDI <ariel.vardi@freesbee.fr>, 2002. Philippe Batailler, 2006. Nicolas François, 2006. Veuillez signaler toute erreur à <debian-l10n-french@lists.debian.org>.
2023-08-30 | 1.22.0 |