DPKG(G) dpkg suite DPKG(G) NOM dpkg - un gestionnaire de paquet de niveau intermdiaire 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 comprhension 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 de dpkg concernant l'installation ou la dsin- stallation des paquets sont trs insuffisantes. Dans le systme GNU Info vous trouverez, sous la rubrique Package Management System de la debian-faq, des renseignements plus dtaills ce sujet. Voyez aussi la rubrique Debian Package Management Tools pour des renseignements sur la cration de paquets Debian. DESCRIPTION dpkg est un outil de niveau intermdiaire pour l'installa- tion, la cration, la suppression et la gestion des paquets Debian. Dselect(t) est la principale interface dpkg et la plus agrable pour l'utilisateur. dpkg lui-mme est entirement contrl par des paramtres sur la ligne de com- mande, laquelle comprend exactement une action et zro ou plusieurs options. Le paramtre action dit ce que dpkg doit faire et les options modifient l'action d'une manire 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 paramtres 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(b) pour des renseignements sur ces actions. RENSEIGNEMENTS SUR LES PAQUETS dpkg conserve des renseignements utiles sur les paquets disponibles. Cette information est divise en trois classes : les tats, les tats de slection et les drapeaux. La modification de ces valeurs est principalement dvolue dselect. TATS DES PAQUETS installed Le paquet est dpaquet et configur OK. half-installed L'installation du paquet a commenc mais, pour quelque raison, ne s'est pas termine. not-installed Le paquet n'est pas install sur le systme. unpacked Le paquet est dpaquet mais n'est pas configur. half-configured Le paquet est dpaquet et la configuration a commenc mais, pour quelque raison, ne s'est pas termine. config-files Seuls les fichiers de configuration du paquet exis- tent sur le systme. TATS DE LA SLECTION DES PAQUETS install Le paquet est slectionn pour tre install. deinstall Le paquet est slectionn pour tre dsinstall (c.--d. on veut supprimer tous les fichiers l'exception des fichiers de configuration). purge Le paquet est slectionn pour tre purg (c.--d. on veut supprimer tous les fichiers mme les fichiers de configuration). DRAPEAUX DES PAQUETS hold dpkg laisse de ct un paquet marqu hold, moins qu'il ne soit lanc avec l'option de forage --force- hold. reinst-required Un paquet marqu reinst-required est dfectueux et demande une rinstallation. dpkg ne peut supprimer de tels paquets, moins qu'il ne soit lanc avec l'option de forage --force-reinstreq. ACTIONS dpkg -i | --install fichier-paquet... Installe le paquet. Si l'on donne l' option --recursive ou -R, fichier-paquet doit alors indi- quer un rpertoire. L'installation comporte les tapes suivantes : 1. Extraction des fichiers de contrle du nouveau paquet. 2. Quand une ancienne version du mme paquet est dj installe, excution du script prerm de l'ancien paquet. 3. lancement du script preinst, s'il est fourni par le paquet. 4. Dpaquetage des nouveaux fichiers, et en mme temps sauvegarde des anciens de manire pouvoir les restaurer si quelque chose tourne mal. 5. Quand une ancienne version du mme paquet est dj installe, excution du script postrm de l'ancien paquet. Il faut remarquer que ce script est excut aprs le script preinst du nouveau paquet, parce que les nouveaux fichiers sont crits dans le mme temps que les vieux sont supprims. 6. Configuration du paquet. Voyez l'action --con- figure pour savoir comment cela se passe. dpkg --unpack fichier-paquet ... Dpaqute le paquet, mais ne configure rien. Si l'on donne l'option If --recursive ou -R option, fichier-paquet doit alors indiquer un rpertoire. dpkg --configure paquet ... | -a | --pending Reconfiguration d'un paquet dpaquet. Si l'on donne l'option -a ou --pending au lieu de paquet, tous les paquets dpaquets mais non configurs sont con- figurs. La configuration comporte les tapes suivantes : 1. Dpaquetage des fichiers de configuration, et dans le mme temps sauvegarde des anciens fichiers de configuration, de manire pouvoir les restaurer si quelque chose se passe mal. 2. excution 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 rinstallation. (Les fichiers de configuration sont les fichiers rpertoris dans le fichier de con- trle debian/conffiles.) L'option -P ou --purge supprime tout, y compris les fichiers de configura- tion. Si l'on donne l'option -a ou --pending la place d'un nom de paquet, tous les paquets non dpa- quets, mais qui sont marqus comme devant tre sup- prims ou purgs dans le file /var/lib/dpkg/status, sont respectivement supprims et purgs. La suppression des paquets comporte les tapes suiv- antes : 1. lancement du script prerm 2. Suppression des fichiers installs 3. lancement du script postrm dpkg -p|--print-avail paquet Affiche des renseignements dtaills sur paquet, tels qu'ils sont trouvs dans le fichier /var/lib/dpkg/available. dpkg --update-avail | --merge-avail fichier-paquet Met jour les ides de dpkg et de dselect sur les paquets disponibles. L'action --merge-avail combine les informations anciennes avec celles qui provien- nent 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 ides de dpkg et de dselect sur les paquets disponibles avec les informations qui proviennent de fichier-paquet. Si l'option --recursive ou -R est donne, fichier-paquet doit indiquer un rpertoire. dpkg --forget-old-unavail Oublie ce qui concerne les paquets non installs ou non disponibles. dpkg --clear-avail Efface les renseignements existants concernant les paquets disponibles. dpkg -l | --list paquet-nom-motif ... Affiche la liste des paquets qui correspondent au motif donn. Quand on ne fournit pas de paquet-nom- motif, la liste comporte tous les paquets cits dans /var/lib/dpkg/available. Les mtacaractres ordi- naires du shell sont autoriss dans paquet-nom- motif. (Il faudra sans doute mettre paquet-nom- motif entre apostrophes pour viter l'expansion des noms de fichier par le shell. Par exemple, la com- mande 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'entre de la base de donnes concer- nant les tats des paquets installs. dpkg -C | --audit Recherche les paquets qui n'ont t que partiellement installs sur le systme. dpkg suggre une manire de les faire fonctionner. dpkg --get-selections [motif...] Obtient la liste des slections des paquets, et l'envoie sur la sortie standard. dpkg --set-selections fixe les slections des paquets en lisant un fichier sur l'entre standard. dpkg --yet-to-unpack Recherche les paquets qui ont t slectionns pour l'installation, mais qui pour une raison quel- conque, ne sont pas encore installs. dpkg -L | --listfiles paquet ... Affiche la liste des fichiers de paquet installs sur le systme. Il faut remarquer cependant que les fichiers crs par les scripts d' installation parti- culiers au paquet ne sont pas affichs. dpkg -S | --search motif-de-recherche ... Recherche un nom de fichier dans les paquets installs. On peut utiliser dans le motif tous les mtacaractres 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'hte. dpkg --compare-versions ver1 op ver2 Compare des numros de version, o op est un oprateur binaire. dpkg retourne un zro si la condition spcifie est vrifie, et retourne un nombre diffrent de zro dans le cas contraire. Il y a deux groupes d'oprateurs ; ils diffrent par leur faon de traiter l'absence de ver1 ou de ver2. Les oprateurs suiv- ants, lt le eq ne ge gt, ne traitent pas les ver- sions antrieures une version donne ; les oprateurs lt-nl le-nl ge-nl gt-nl ne traitent pas les ver- sions suprieures une version donne. Les oprateurs < << <= = >= >> > ne sont fournis que pour la com- patibilit avec la syntaxe du fichier de contrle. dpkg --command-fd <n> Cette action accepte une srie de commandes sur le descripteur du fichier d'entre <n>. Note : des options supplmentaires dfinies sur la ligne de com- mande travers ce descripteur de fichier ne sont pas redfinies pour les commandes suivantes qui sont excutes pendant la mme squence. dpkg --help Affiche un court message d'aide. dpkg --force-help donne des renseignements sur les options --force- quelque-chose. dpkg -Dh | --debug=help donne des renseignements sur les options de dbo- gage. dpkg --licence | dpkg --license Affiche la licence de dpkg. dpkg --version Affiche la version de dpkg. dpkg-deb-actions Voyez dpkg-deb(b) pour des renseignements supplmen- taires sur les actions suivantes. dpkg -b | --build rpertoire [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 [rpertoire] Extrait les informations de contrle d'un paquet. dpkg -x | --extract nom-de-fichier rpertoire Extrait les fichiers d'un paquet. dpkg -f | --field nom-de-fichier [champ de contrle] ... Affiche le(e) champ(p) de contrle d'un paquet. dpkg --fsys-tarfile nom-de-fichier Affiche le fichier tar du systme de fichiers d'un paquet Debian. dpkg -I | --info nom-de-fichier [fichier de contrle] Affiche des renseignements sur un paquet. dpkg -X | --vextract nom-de-fichier rpertoire Extrait et affiche les noms des fichiers d'un paquet. OPTIONS On peut spcifier une option la fois sur la ligne de com- mande 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, commenant par #. --abort-after=nombre Modifie le nombre d'erreurs au del duquel dpkg s'arrte. il est par dfaut gal 50. -B|--auto-deconfigure Quand un paquet est supprim, il peut arriver qu'un paquet install dpendait du paquet supprim. En spci- fiant cette option, on obtient la dconfiguration automatique du paquet qui dpendait du paquet sup- prim. -Doctal | --debug=octal demande de dbogage. octal est form en faisant un ou logique entre des valeurs souhaites appartenant la liste ci-dessous (notez que ces valeurs peuvent changer dans de prochaines versions). -Dh or --debug=help affiche ces valeurs de dbogage. nombre description 1 Gnralement, informations de progression utiles 2 Appel et tat des scripts du dveloppeur 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 Dpendances et conflits 400 De nombreuses sorties pour les dpendances et les conflits 1000 Beaucoup de radotage propos du rpertoire 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 mme chose) de faire quelque chose. quelque-chose est une liste de choses spares par des virgules, choses qui sont dcrites ci-aprs. --force-help affiche un message qui les dcrit. Les choses mar- ques d'un (*) sont forces par dfaut. Avertissement : Ces options sont principalement destines aux experts. Un usage auquel manque la pleine comprhension de leurs effets peut casser le systme entier. all: Met en oeuvre (ou pas) toutes les options de forage. auto-select(*): Slectionner les paquets pour l'installation, ou la dsinstallation. downgrade(*): Installer un paquet, mme si une ver- sion plus rcente du paquet est dj installe. configure-any: Configurer aussi les paquets dpa- quets mais non configurs dont dpend le paquet en question. hold: Traiter mme les paquets marqus garder ( hold ). remove-reinstreq: Supprimer un paquet, mme dfectueux et marqu comme demandant une rinstalla- tion. Il se peut par exemple que des morceaux de paquet restent sur le systme et soient ds lors oub- lis par dpkg. remove-essential: Supprimer un paquet mme s'il est considr comme indispensable. Les paquets Essen- tial comportent les commandes Unix les plus fonda- mentales et les enlever peut casser le systme entier. Il faut utiliser cette option avec pru- dence. depends: Changer tous les problmes de dpendance en avertissements depends-version: Ignorer les versions dans les questions de dpendance conflicts: Installer un paquet, mme s'il est en conflit avec un autre paquet. C'est dangereux car habituellement cela produit le remplacement de cer- tains fichiers. confmiss: Toujours installer un fichier de configu- ration manquant. C'est dangereux, puisque cela sig- nifie que les changements apports au fichier ne seront pas prservs. confnew: Quand un conffile a t modifi, toujours utiliser la nouvelle version et ne rien demander, sauf si l'option --force-confdef est aussi prsente, auquel cas l'action par dfaut 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 prsente, auquel cas l'action par dfaut est choisie. confdef: Utiliser toujours l'action par dfaut quand un conffile a t modifi. Quand il n'y a pas d'action par dfaut, la commande s'arrte et inter- roge l'utilisateur, moins que l'option --force- confnew ou l'option --force-confold n'ait t donne, auquel cas elle se sert de ces pour dterminer l'action finale. overwrite: Remplacer un fichier d'un paquet par celui d'un autre. overwrite-dir: Remplacer un rpertoire d'un paquet par celui d'un autre. overwrite-diverted: Remplacer un fichier dtourn avec une version non dtourne. architecture: Traiter mme les paquets d'une autre architecture bad-path: Programmes importants non visibles par la variable PATH, ce qui va poser des problmes. not-root: Tenter de (ds)installer mme sans tre root --ignore-depends=paquet,... Ne pas tenir compte de la vrification des dpen- dances pour les paquets spcifis (en fait, la vrifi- cation est faite mais on ne donne rien d'autre que des avertissements). --new | --old Slectionner soit l'ancien format des paquet binaires, soit le nouveau. C'est une option de dpkg-deb(b). --nocheck Ne pas lire ni vrifier le contenu du fichier de contrle pendant la construction d'un paquet. C'est une option de dpkg-deb(b). --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 paramtre action, sinon des rsultats fcheux pour- raient 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, mme si vous comptiez qu'elle ne ferait rien du tout. -R | --recursive Traiter rcursivement tous les simples fichiers qui correspondent au motif *.deb et qui se trouvent dans les rpertoires spcifis et tous ses sous-rper- toires. On peut utiliser cette option avec les actions -i, -A, --install, --unpack et --avail. -G Ne pas installer un paquet si une version plus rcente de ce paquet est dj installe. C'est un alias pour --refuse-downgrade.. --root=rep | --admindir=rep | --instdir=rep Changer les rpertoires par dfaut. admindir est par dfaut /var/lib/dpkg et contient beaucoup de fichiers qui donnent des informations sur l'tat des paquets installs ou non installs, etc. instdir est par dfaut / et se rfre au rpertoire o les paquets doivent tre installs. instdir est aussi le rper- toire donn chroot(t) avant que ne soient lances les scripts d'installation du paquet, ce qui signi- fie que ces scripts voient instdir comme le rper- toire de root. Changer root change instdir en rep et admindir en rep/var/lib/dpkg. -O | --selected-only Traiter seulement les paquets qui sont slectionns pour l'installation. La slection est rellement faite par dselect ou par dpkg quand il manipule les paquets. Par exemple, quand un paquet est supprim, il est marqu comme ayant t slectionn pour l'instal- lation. -E | --skip-same-version Ne pas installer le paquet si la mme version du paquet est dj installe. --status-fd <n> Cette action envoie des informations sur l'tat d'un paquet au descripteur de fichier <n>. On peut rpter l'opration 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 dfaut. Les autres fichiers rpertoris ici sont dans leur rpertoire par dfaut, 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 informa- tions supplmentaires. Les fichiers suivants font partie d'un paquet binaire. Voyez deb(b) pour des informations supplmentaires : control conffiles preinst postinst prerm postrm VARIABLES D'ENVIRONNEMENT DPKG_NO_TSTP Donnez-lui une valeur si vous prfrez que dpkg lance un nouveau shell plutt que de s'interrompre, pour faire un appel au shell. SHELL Le programme qu'excute dpkg quand il lance un nou- veau shell. COLUMNS Fixe le nombre de colonnes utiliss 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 dmarre un shell pour examiner un fichier de configuration modifi ; elle est fixe par dpkg. DPKG_NEW_CONFFILE C'est le nom de la nouvelle version du fichier de configuration quand on dmarre un shell pour exam- iner un fichier de configuration modifi ; elle est fixe par dpkg. EXEMPLES Pour afficher les paquets lis l'diteur vi : dpkg -l '*vi*' Pour voir les entres de /var/lib/dpkg/available concernant deux paquets : dpkg --print-avail elvis vim | less Pour rechercher vous-mme 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 cdrom. Le fichier des avail- able montre que le paquet vim se trouve dans la section editors : cd /cdrom/hamm/hamm/binary/editors dpkg -i vim_4.5-3.deb Pour faire une copie locale des tats de slection des paquets : dpkg --get-selections >myselections On remarquera que cela n'installe ou supprime rien du tout ; cela ne fait que dterminer l'tat de slection des paquets requis. Vous aurez besoin d'autres applications pour transfrer et installer rellement les paquets requis. Vous pourriez transfrer ce fichier sur un autre ordinateur et l'installer de cette manire : dpkg --set-selections <myselections Habituellement, vous trouverez que dselect(t) fournit une faon plus aise de changer les tats de slection des paquets. VOIR AUSSI dselect(t), dpkg-deb(b), deb(b), et deb-control(l) BOGUES --no-act donne habituellement moins d'information que ce qui serait ncessaire. AUTEURS Voyez le fichier /usr/share/doc/dpkg/THANKS pour la liste des personnes qui ont contribu dpkg. TRADUCTION Philippe Batailler <pbatailler@teaser.fr> 2002.