Content-type: text/html Manpage of DPKG

DPKG

Section: dpkg suite (8)
Updated: February 2000
Index Return to Main Contents
 

NOM

dpkg - un gestionnaire de paquet de niveau intermédiaire pour Debian  

SYNOPSIS

dpkg [options] 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.

Vous trouverez des renseignements sur ce sujet dans la Faq Debian ou dans la référence Debian, aux rubriques concernant la création de paquets.

 

DESCRIPTION

dpkg est un outil de niveau intermédiaire pour l'installation, la création, la suppression et la gestion des paquets Debian. dpkg lui-même est entièrement contrôlé par des paramètres sur la ligne de commande, laquelle comprend 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.

On peut aussi utiliser dpkg comme une interface à dpkg-deb. Quand dpkg rencontre les actions suivantes, qui sont des actions de dpkg-deb, il lance simplement dpkg-deb avec les paramètres qui lui ont été fournis :

    -b, --build,
    -c, --contents,
    -I, --info,
    -f, --field,
    -e, --control,
    -x, --extract,
    -X, --vextract, et
    --fsys-tarfile.
Voyez dpkg-deb(1) pour des renseignements sur ces actions.

Note : dselect(8) est la principale interface à dpkg et la plus agréable à utiliser. Il en existe d'autres, comme celles basées sur apt(8).

 

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 sélection et les drapeaux. La modification de ces valeurs est principalement dévolue à dselect.

 

ÉTATS DES PAQUETS

installed
Le paquet est dépaqueté et configuré OK.
half-installed
L'installation du paquet a commencé mais, pour quelque raison, ne s'est pas terminée.
not-installed
Le paquet n'est pas installé sur le système.
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 quelque raison, ne s'est pas terminée.
config-files
Seuls les fichiers de configuration du paquet existent sur le système.
 

ÉTATS DE LA SÉLECTION DES PAQUETS

install
Le paquet est sélectionné pour être installé.
deinstall
Le paquet est sélectionné pour être désinstallé (c.-à-d. on veut supprimer tous les fichiers à l'exception des fichiers de configuration).
purge
Le paquet est sélectionné pour être purgé (c.-à-d. on veut supprimer tous les fichiers même les fichiers de configuration).

 

DRAPEAUX DES PAQUETS

hold
dpkg laisse de côté un paquet marqué hold, à moins qu'il ne soit lancé avec l'option de forçage --force-hold.
reinst-required
Un paquet marqué reinst-required est défectueux et demande une réinstallation. dpkg ne peut supprimer de tels paquets, à moins qu'il ne soit lancé avec l'option de forçage --force-reinstreq.

 

ACTIONS

dpkg -i | --install fichier-paquet...
Installe le paquet. Si l'on donne l' option --recursive ou -R, fichier-paquet doit alors indiquer un répertoire.

L'installation comporte les étapes suivantes :
1. Extraction des fichiers de contrôle du nouveau paquet.
2. Quand une ancienne version du même paquet est déjà installée, exécution du script prerm de l'ancien paquet.
3. lancement du script preinst, s'il est fourni par le paquet.
4. Dépaquetage des nouveaux fichiers, et en même temps sauvegarde des anciens de manière à pouvoir les restaurer si quelque chose tourne mal.
5. Quand une ancienne version du même paquet est déjà installée, exécution du script postrm de l'ancien paquet. Il faut remarquer que ce script est exécuté après le script preinst du nouveau paquet, parce que les nouveaux fichiers sont écrits dans le même temps que les anciens sont supprimés.
6. Configuration du paquet. Voyez l'action --configure pour savoir comment cela se passe.

dpkg --unpack fichier-paquet ...
Dépaquète le paquet, mais ne configure rien. Si l'on donne l'option If --recursive ou -R option, fichier-paquet doit alors indiquer un répertoire.
dpkg --configure paquet ... | -a | --pending
Reconfiguration d'un paquet dépaqueté. Si l'on donne l'option -a ou --pending au lieu de paquet, tous les paquets dépaquetés mais non configurés sont configurés.

La configuration comporte les étapes suivantes :
1. Dépaquetage des fichiers de configuration, et dans le même temps sauvegarde des anciens fichiers de configuration, de manière à pouvoir les restaurer si quelque chose se passe mal.
2. exécution du script postinst, s'il est fourni par le paquet.

dpkg -r | --remove | -P | --purge paquet ... | -a | --pending
Supprime un paquet installé. L'action -r ou --remove supprime tout sauf les fichiers de configuration. Cela peut éviter la reconfiguration du paquet lors d'une réinstallation. (Les fichiers de configuration sont les fichiers répertoriés dans le fichier de contrôle debian/conffiles.) L'option -P ou --purge supprime tout, y compris les fichiers de configuration. Si l'on donne l'option -a ou --pending à la place d'un nom de paquet, tous les paquets non dépaquetés, mais qui sont marqués comme devant être supprimés ou purgés dans le fichier /var/lib/dpkg/status, sont respectivement supprimés et purgés.

La suppression des paquets comporte les étapes suivantes :
1. lancement du script prerm
2. suppression des fichiers installés
3. lancement du script postrm

dpkg -p|--print-avail paquet
Affiche des renseignements détaillés sur paquet, tels qu'ils sont trouvés dans le fichier /var/lib/dpkg/available.
dpkg --update-avail | --merge-avail fichier-paquet
Met à jour les idées de dpkg et de dselect sur les paquets disponibles. L'action --merge-avail combine les informations anciennes avec celles qui proviennent de fichier-paquet. L'action --update-avail remplace les informations anciennes par celles qui proviennent de fichier-paquet. Le fichier-paquet distribué avec Debian est appelé simplement paquet. dpkg garde son propre enregistrement des paquets disponibles dans /var/lib/dpkg/available.
dpkg -A | --record-avail fichier-paquet ...
Met à jour les idées de dpkg et de dselect sur les paquets disponibles avec les informations qui proviennent de fichier-paquet. Si l'option --recursive ou -R est donnée, fichier-paquet doit indiquer un répertoire.
dpkg --forget-old-unavail
Oublie ce qui concerne les paquets non installés ou non disponibles.
dpkg --clear-avail
Efface les renseignements existants concernant les paquets disponibles.
dpkg -l | --list motif ...
Affiche la liste des paquets qui correspondent au motif donné. Quand on ne fournit pas de motif, la liste comporte tous les paquets cités dans /var/lib/dpkg/available. Les méta-caractères ordinaires du shell sont autorisés dans motif. (Il faudra sans doute mettre motif entre apostrophes pour éviter l'expansion des noms de fichier par le shell. Par exemple, la commande dpkg -l 'libc5*' affiche tous les paquets dont le nom commence par « libc5 ».)
dpkg -s | --status nom-de-paquet ...
Rapporte l'état du paquet indiqué. C'est simplement l'affichage de l'entrée de la base de données concernant les états des paquets installés.
dpkg -C | --audit
Recherche les paquets qui n'ont été que partiellement installés sur le système. dpkg suggère une manière de les faire fonctionner.
dpkg --get-selections [motif...]
Obtient la liste des sélections des paquets, et l'envoie sur la sortie standard.
dpkg --set-selections
fixe les sélections des paquets en lisant un fichier sur l'entrée standard.
dpkg --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.
dpkg -L | --listfiles paquet ...
Affiche la liste des fichiers de paquet installés sur le système. Il faut remarquer cependant que les fichiers créés par les scripts d' installation particuliers au paquet ne sont pas affichés.
dpkg -S | --search motif-de-recherche ...
Recherche un nom de fichier dans les paquets installés. On peut utiliser dans le motif tous les méta-caractères du shell.
dpkg --print-architecture
Affiche l'architecture cible (par exemple, « i386 »). Cette option utilise gcc.
dpkg --print-gnu-build-architecture
Affiche la version « GNU » de l'architecture cible (par exemple, « i486 »).
dpkg --print-installation-architecture
Affiche l'architecture de l'hôte.
dpkg --compare-versions ver1 op ver2
Compare des numéros de version, où op est un opérateur binaire. dpkg retourne un zéro si la condition spécifiée est vérifiée, et retourne un nombre différent de zéro 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. Les opérateurs suivants, lt le eq ne ge gt, ne traitent pas les versions antérieures à une version donnée ; les opérateurs lt-nl le-nl ge-nl gt-nl ne traitent pas les versions supérieures à une version donnée. Les opérateurs < << <= = >= >> > ne sont fournis que pour la compatibilité avec la syntaxe du fichier de contrôle.
dpkg --command-fd <n>
Cette action accepte une série de commandes sur le descripteur du fichier d'entrée <n>. Note : des options supplémentaires définies sur la ligne de commande à travers ce descripteur de fichier ne sont pas redéfinies pour les commandes suivantes qui sont exécutées pendant la même séquence.
dpkg --help
Affiche les commandes utilisables.
dpkg --force-help
donne des renseignements sur les options --force-quelque-chose.
dpkg -Dh | --debug=help
donne des renseignements sur les options de débogage.
dpkg --licence | dpkg --license
Affiche les informations sur le copyright et la licence de dpkg.
dpkg --version
Affiche la version de dpkg.
dpkg-deb-actions
Voyez dpkg-deb(1) pour des renseignements supplémentaires sur les actions suivantes.

dpkg -b | --build répertoire [nom-de-fichier]
    Construit un paquet deb.
dpkg -c | --contents nom-de-fichier
    liste le contenu d'un paquet deb.
dpkg -e | --control nom-de-fichier [répertoire]
    Extrait les informations de contrôle d'un paquet.
dpkg -x | --extract nom-de-fichier répertoire
    Extrait les fichiers d'un paquet.
dpkg -f | --field  nom-de-fichier [champ de contrôle] ...
    Affiche le(s) champ(s) de contrôle d'un paquet.
dpkg --fsys-tarfile nom-de-fichier
    Affiche le fichier « tar » du système de fichiers d'un paquet Debian.
dpkg -I | --info nom-de-fichier [fichier de contrôle]
    Affiche des renseignements sur un paquet.
dpkg -X | --vextract nom-de-fichier répertoire
    Extrait et affiche les noms des fichiers d'un paquet.

 

OPTIONS

On peut spécifier une option à la fois sur la ligne de commande et dans le fichier de configuration de dpkg, /etc/dpkg/dpkg.cfg. Chaque ligne de ce fichier est soit une option (identique à une option en ligne de commande mais sans tiret), 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 peuvent changer dans de prochaines versions). -Dh or --debug=help affiche ces valeurs de débogage.


 nombre  description
    1   Généralement, informations de progression utiles
    2   Appel et état des scripts du développeur
   10   Sortie pour chaque fichier traité
  100   De nombreuses sorties pour chaque fichier traité
   20   Sortie pour chaque fichier de configuration
  200   De nombreuses sorties pour chaque fichier de configuration
   40   Dépendances et conflits
  400   De nombreuses sorties pour les dépendances et les conflits
 1000   Beaucoup de radotage à propos 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 de commandes séparées par des virgules ; les commandes sont décrites ci-après. --force-help affiche un message qui les décrit. Les commandes marquées d'un (*) sont forcées par défaut.

Avertissement : Ces options sont principalement destinées aux experts. Un usage auquel manque la pleine compréhension de leurs effets peut casser le système entier.
all : Met en oeuvre (ou pas) toutes les options de forçage.
auto-select(*) : Sélectionner les paquets pour l'installation, ou la désinstallation.
downgrade(*) : Installer un paquet, même si une version plus récente du paquet est déjà installée.
configure-any : Configurer aussi les paquets dépaquetés mais non configurés dont dépend le paquet en question.
hold : Traiter même les paquets marqués « à garder » (« hold »).
remove-reinstreq : Supprimer un paquet, même défectueux et marqué comme demandant une réinstallation. Il se peut par exemple que des morceaux de paquet restent sur le système et soient dès lors oubliés par dpkg.
remove-essential : Supprimer un paquet même s'il est considéré comme indispensable. Les paquets « Essential » comportent les commandes Unix les plus fondamentales et les enlever peut casser le système entier. Il faut utiliser cette option avec prudence.
depends : Changer tous les problèmes de dépendance en avertissements
depends-version : Ignorer les versions dans les questions de dépendance
conflicts : Installer un paquet, même s'il est en conflit avec un autre paquet. C'est dangereux car habituellement cela produit le remplacement de certains fichiers.
confmiss : Toujours installer un fichier de configuration manquant. C'est dangereux, puisque cela signifie que les changements apportés au fichier ne seront pas préservés.
confnew : Quand un « conffile » a été modifié, toujours utiliser la nouvelle version et ne rien demander, sauf si l'option --force-confdef est aussi présente, auquel cas l'action par défaut est choisie.
confold : Quand un « conffile » a été modifié, garder l'ancienne version et ne rien demander, sauf si l'option --force-confdef est aussi présente, auquel cas l'action par défaut est choisie.
confdef : Utiliser toujours l'action par défaut quand un « conffile » a été modifié. Quand il n'y a pas d'action par défaut, la commande s'arrête et interroge l'utilisateur, à moins que l'option --force-confnew ou l'option --force-confold n'ait été donnée, auquel cas elle se sert de ces pour déterminer l'action finale.
overwrite : Remplacer un fichier d'un paquet par celui d'un autre.
overwrite-dir : Remplacer un répertoire d'un paquet par celui d'un autre.
overwrite-diverted : Remplacer un fichier détourné avec une version non détournée.
architecture : Traiter même les paquets d'une autre architecture
bad-path : Programmes importants non visibles par la variable PATH, ce qui va poser des problèmes.
not-root : Tenter de (dés)installer même sans être root

--ignore-depends=paquet,...
Ne pas tenir compte de la vérification des dépendances pour les paquets spécifiés (en fait, la vérification est faite mais on ne donne rien d'autre que des avertissements).
--new | --old
Sélectionner soit l'ancien format des paquet binaires, soit le nouveau. C'est une option de dpkg-deb(1).
--nocheck
Ne pas lire ni vérifier le contenu du fichier de contrôle pendant la construction d'un paquet. C'est une option de dpkg-deb(1).
--no-act
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 pourraient arriver. Par exemple, la commande dpkg --purge foo --no-act purge d'abord le paquet foo et essaye ensuite de purger le paquet --no-act, même si vous comptiez qu'elle ne ferait rien du tout.

-R | --recursive
Traiter récursivement tous les simples fichiers qui correspondent au motif *.deb et qui se trouvent dans les répertoires spécifiés et tous ses sous-répertoires. On peut utiliser cette option avec les actions -i, -A, --install, --unpack et --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..
--root=rep | --admindir=rep | --instdir=rep
Changer les répertoires par défaut. admindir est par défaut /var/lib/dpkg et contient beaucoup de fichiers qui donnent des informations sur l'état des paquets installés ou non installés, etc. instdir est par défaut / et se réfère au répertoire où les paquets doivent être installés. instdir est aussi le répertoire donné à chroot(2) avant que ne soient lancées les scripts d'installation du paquet, ce qui signifie que ces scripts voient instdir comme le répertoire de root. Changer root change instdir en rep et admindir en rep/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 il manipule les paquets. Par exemple, quand un paquet est supprimé, il est marqué comme ayant été sélectionné pour l'installation.
-E | --skip-same-version
Ne pas installer le paquet si la même version du paquet est déjà installée.
--status-fd <n>
Cette action envoie des informations sur l'état d'un paquet au descripteur de fichier <n>. On peut répéter l'opération plusieurs fois. La mise à jour d'un état est de la forme : « status: <pkg>: <pkg qstate> ».

 

FICHIERS

/etc/dpkg/dpkg.cfg
Fichier de configuration contenant les options par défaut. Les autres fichiers répertoriés ici sont dans leur répertoire par défaut, voyez l'option --admindir pour savoir 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. Les fichiers suivants font partie d'un paquet binaire. Voyez deb(5) pour des informations supplémentaires :
control
conffiles
preinst
postinst
prerm
postrm

 

VARIABLES D'ENVIRONNEMENT

DPKG_NO_TSTP
Donnez-lui une valeur si vous préférez que dpkg lance un nouveau shell plutôt que de s'interrompre, pour faire un appel au shell.
SHELL
Le programme qu'exécute dpkg quand il lance un nouveau shell.
COLUMNS
Fixe le nombre de colonnes utilisées par dpkg lorsqu'il affiche un texte formaté. Seule l'action -l se sert actuellement de cette variable.
DPKG_OLD_CONFFILE
C'est le nom de l'ancien fichier de configuration quand on démarre un shell pour examiner un fichier de configuration modifié ; elle est fixée par dpkg.
DPKG_NEW_CONFFILE
C'est le nom de la nouvelle version du fichier de configuration quand on démarre un shell pour examiner un fichier de configuration modifié ; elle est fixée par dpkg.

 

EXEMPLES

Pour afficher les paquets dont le nom contient la chaîne « vi » :
dpkg -l '*vi*'

Pour voir les entrées de /var/lib/dpkg/available concernant plusieurs paquets : dpkg -p base-files login xfree86-common | pager

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 cédérom. Le fichier « available » montre que le paquet « vim » se trouve dans la section « editors » :
cd /cdrom/hamm/hamm/binary/editors dpkg -i vim_4.5-3.deb
(Note : Beaucoup se servent de apt-get(8) pour cela.)

Pour faire une copie locale des états de sélection des paquets :
dpkg --get-selections >myselections

On remarquera que cela n'installe ou ne supprime rien du tout ; cela ne fait que déterminer l'état de sélection des paquets requis. Vous aurez besoin d'autres applications pour transférer et installer réellement les paquets requis.

Vous pourriez transférer ce fichier sur un autre ordinateur et l'installer de cette manière :
dpkg --set-selections <myselections

Habituellement, vous trouverez que dselect(8) fournit une façon plus aisée de modifier les états de sélection des paquets.

 

VOIR AUSSI

dpkg-deb(1), deb(5), deb-control(5), dselect(8), apt(8).

 

BOGUES ET RESTRICTIONS

dpkg n'ordonne pas l'installation des paquets.
dpkg ne fournit pas une manière automatique de se loguer.
Lors de mises à niveau, les relations de dépendance d'un paquet peuvent ne plus correspondre (p.ex. les dépendances exactes d'un paquet -dev de bibliothèques par rapport au paquet comprenant les bibliothèques).

L'option --no-act ne donne pas assez d'informations utiles.
L'action --status ne donne pas d'information sur les paquets virtuels.

 

AUTEURS

dpkg fut d'abord écrit par Ian Jackson ; puis mis à jour par beaucoup 
d'autres gens. Voyez le fichier /usr/share/doc/dpkg/THANKS pour la 
liste des personnes qui ont contribué à dpkg.
 

TRADUCTION

Philippe Batailler <pbatailler@teaser.fr> 2003.


 

Index

NOM
SYNOPSIS
AVERTISSEMENT
DESCRIPTION
RENSEIGNEMENTS SUR LES PAQUETS
ÉTATS DES PAQUETS
ÉTATS DE LA SÉLECTION DES PAQUETS
DRAPEAUX DES PAQUETS
ACTIONS
OPTIONS
FICHIERS
VARIABLES D'ENVIRONNEMENT
EXEMPLES
VOIR AUSSI
BOGUES ET RESTRICTIONS
AUTEURS
TRADUCTION

This document was created by man2html, using the manual pages.
Time: 21:05:23 GMT, February 23, 2003