Provided by: debconf-doc_1.4.72ubuntu9_all bug

NOM

       debconf - système de configuration des paquets Debian

DESCRIPTION

       Debconf  est  un  système  de configuration pour les paquets Debian. Il
       existe une commande rarement utilisée nommée debconf,  documentée  dans
       debconf(1)

       Debconf  fournit  une  interface  cohérente  pour  la configuration des
       paquets et donne à l’utilisateur le choix entre  plusieurs  interfaces.
       Il peut configurer des paquets avant qu’ils ne soient installés, ce qui
       permet à des  installations  et  des  mises  à  niveau  importantes  de
       demander  toutes  les informations nécessaires au préalable, et de vous
       laisser faire ce que vous voulez pendant que les paquets  s’installent.
       Debconf  vous  permet, si vous êtes pressé, de sauter les questions les
       moins importantes  au  moment  de  l’installation  d’un  paquet  (en  y
       revenant plus tard).

Préconfiguration des paquets

       Debconf  peut  configurer  les  paquets  avant  même  qu’ils  ne soient
       installés sur votre système. Ainsi, toutes les  questions  des  paquets
       vous  seront  posées  au  début  de  l’installation  ce qui permettra à
       l’installation de continuer pendant que vous êtes en train  de  prendre
       un café.

       Si  vous  utilisez  apt  (version  0.5  ou supérieure) et que vous avez
       installé apt-utils, chaque paquet installé par apt sera automatiquement
       préconfiguré. Ceci est contrôlé via /etc/apt/apt.conf.d/70debconf

       Quelquefois  vous voudrez préconfigurer un paquet vous-même, quand vous
       l’installez sans apt. Vous pouvez utiliser dpkg-preconfigure(8) pour ce
       faire.   Donnez-lui   seulement  le  nom  du  paquet  que  vous  voulez
       préconfigurer. Vous aurez besoin d’installer apt-utils  pour  que  cela
       fonctionne.

Reconfiguration des paquets

       Supposons que vous ayez installé un paquet et que vous ayez répondu aux
       questions de debconf, mais maintenant que vous l’utilisez de  temps  en
       temps,  vous réalisiez que vous voulez revenir sur quelques-unes de vos
       réponses et les changer. Autrefois, il fallait faire une réinstallation
       quand  vous étiez dans cette situation ; mais quand vous réinstallez le
       paquet, debconf semble se souvenir  que  vous  avez  déjà  répondu  aux
       questions et ne vous les pose pas à nouveau (c’est voulu).

       Heureusement,  debconf  facilite  la  reconfiguration  des  paquets qui
       l’utilisent.  Supposez que vous voulez reconfigurer  debconf  lui-même.
       Exécutez simplement, en tant que superutilisateur :
         dpkg-reconfigure debconf

       Il  vous  posera  toutes  les  questions  que vous avez vues lors de la
       première installation de debconf. Il peut  aussi  vous  poser  d’autres
       questions, puisqu’il vous pose même les questions de priorité basse qui
       ont pu être sautées quand le paquet a été installé. Vous  pouvez  aussi
       bien l’utiliser avec n’importe quel autre paquet utilisant debconf.

Interfaces

       Une  fonctionnalité  remarquable de debconf est qu’il possède plusieurs
       interfaces et l’on peut en  changer  à  loisir.  Voici  les  interfaces
       disponibles :

       dialog Interface  par  défaut : elle utilise les programmes whiptail(1)
              ou dialog(1) pour afficher les  questions.  Elle  fonctionne  en
              mode texte.

       readline
              C’est  l’interface  la  plus traditionnelle. Elle ressemble à la
              configuration  Debian  classique :  une  série   de   questions,
              imprimées  sur la console en mode texte et des invites affichées
              avec  la  bibliothèque  readline.   Elle   reconnaît   même   le
              complètement  avec  « tab ». Le paquet libterm-readline-gnu-perl
              est fortement recommandé si  vous  choisissez  d’utiliser  cette
              interface ;  le  module  readline  par  défaut  a  vraiment  des
              lacunes.  Pour  utiliser  cette  interface,  vous  aurez  besoin
              d’installer le paquet perl-modules.

              Cette  interface  a quelques commandes spéciales. « Page préc. »
              (ou ctrl-u) reviendra à la question précédente (si cela est géré
              par  le  paquet utilisant debconf) et « Page suiv. » (ou ctrl-v)
              passera à la question suivante.

              C’est la meilleure interface pour les administrateurs à distance
              travaillant  par  une  connexion  lente, ou pour ceux qui sont à
              l’aise avec Unix.

       non-interactive
              C’est l’anti-interface. Elle n’interagit  jamais  avec  vous  et
              utilise  les réponses par défaut pour toutes les questions. Elle
              enverra parfois un courriel à root  avec  les  messages  que  le
              paquet  voulait  afficher, mais c’est tout ! À part ça, elle est
              silencieuse et discrète, c’est une interface parfaite  pour  des
              installations  automatiques. Si vous utilisez cette interface et
              si vous voulez que les réponses  aux  questions  ne  soient  pas
              celles  par  défaut,  vous aurez besoin de renseigner d’abord la
              base de données de debconf ;  pour  plus  de  détails,  voir  la
              section   ci-dessous   sur   l’installation   de   paquets  sans
              surveillance.

       gnome  C’est  une  interface  homme-machine  X  moderne  utilisant  les
              bibliothèques  gtk  et  gnome.  Bien  sûr,  elle  nécessite  une
              variable DISPLAY valable pour fonctionner ; si elle ne peut  pas
              fonctionner,   debconf  se  rabattra  sur  d’autres  interfaces.
              Remarquez que cette interface nécessite que vous  ayez  installé
              le paquet libgnome2-perl.

       kde    L’interface  homme-machine  fournie est simple et écrite avec la
              bibliothèque Qt. Elle ressemble beaucoup  à  l’environnement  de
              bureau  KDE.  Vous aurez bien sûr besoin que la variable DISPLAY
              soit définie et que le  paquet  libqt-perl  soit  installé  pour
              pouvoir   utiliser  cette  interface.  Notez  que  si  tous  les
              pré-requis ne sont pas présents, l’interface redeviendra dialog.

       editor C’est  pour  ces fanatiques qui veulent tout faire à l’aide d’un
              éditeur de texte. Elle lance votre éditeur sur  un  fichier  qui
              ressemble  à  un fichier de configuration Unix, et vous modifiez
              le fichier qui sert à  communiquer  avec  debconf.  L’auteur  de
              debconf  préfère  ne  pas  commenter  les  circonstances qui ont
              conduit à l’écriture de cette interface.

       web
              Cette interface agit comme  un  serveur  web  auquel  vous  vous
              connectez   avec   votre  navigateur  web,  pour  parcourir  les
              questions et y répondre. Elle est très prometteuse, mais un  peu
              rugueuse  pour l’instant. Quand cette interface se met en route,
              elle indiquera le lieu où vous devrez pointer  votre  navigateur
              web.  Pour  des  raisons  de sécurité, vous devez exécuter votre
              navigateur web sur la machine que vous configurez.

              Gardez à l’esprit que ce n’est pas une interface sécurisée. Tous
              ceux  qui  ont  accès  à  l’ordinateur en cours de configuration
              peuvent aussi accéder au serveur  web  et  configurer  certaines
              choses  alors  que cette interface tourne. C’est plus une preuve
              de concept qu’autre chose.

       Vous pouvez changer l’interface par défaut  qu’utilise  debconf  en  le
       reconfigurant.   D’un   autre   côté,  si  vous  voulez  juste  changer
       l’interface pour  un  instant,  vous  pouvez  positionner  la  variable
       d’environnement  DEBIAN_FRONTEND avec le nom de l’interface à utiliser.
       Par exemple :
         DEBIAN_FRONTEND=readline apt-get install slrn

       Les commandes dpkg-reconfigure(8)  et  dpkg-preconfigure(8)  permettent
       aussi de leur passer --frontend= en paramètre, suivi de l’interface que
       vous voulez qu’elles utilisent.

       Notez  que  toutes  les  interfaces  ne  fonctionneront  pas  en  toute
       circonstance.  Si  le  démarrage  d’une  interface  échoue pour quelque
       raison que ce soit, debconf affichera un message expliquant pourquoi et
       se rabattra sur l’interface la plus proche.

Priorités

       Pouvoir  donner  des  priorités aux questions que vous pose debconf est
       une fonctionnalité agréable. Si vous ne voulez pas être ennuyé par  les
       questions sans importance, vous pouvez configurer debconf pour qu’il ne
       vous pose que les questions les plus importantes. D’un autre  côté,  si
       vous  aimez  tout  contrôler, vous pouvez lui faire afficher toutes les
       questions.  Chaque  question  a  une  priorité.  Par  ordre   croissant
       d’importance :

       low    Questions  peu importantes dont les valeurs par défaut suffisent
              dans la majorité des cas.

       medium Questions normales avec des valeurs par défaut raisonnables.

       high   Questions qui n’ont pas de valeurs par défaut convenables.

       critical
              Questions que vous avez vraiment besoin de voir (ou autre).

       Seules les questions  avec  une  priorité  supérieure  ou  égale  à  la
       priorité  que  vous avez choisie seront affichées. Vous pouvez fixer la
       valeur de la priorité en reconfigurant debconf,  ou  temporairement  en
       passant  l’option  --priority= suivie de la valeur voulue aux commandes
       dpkg-reconfigure(8) et  dpkg-preconfigure(8),  ou  en  positionnant  la
       variable d’environnement DEBIAN_PRIORITY.

Base de données principale

       Debconf  utilise  une  base  de données sous-jacente plutôt flexible et
       potentiellement compliquée pour garder les réponses  déjà  données  aux
       questions.  Le  fichier  /etc/debconf.conf  est utilisé pour configurer
       cette base de données. Si vous avez besoin de configurer quelque  chose
       de  compliqué,  comme faire lire à debconf une base de données distante
       pour obtenir  les  valeurs  par  défaut,  annulées  par  des  variables
       locales,  lisez la page de manuel debconf.conf(5) pour tous les détails
       croustillants. La base de données  principale  se  trouve  généralement
       dans /var/cache/debconf/.

Installation des paquets sans surveillance

       Si  vous  avez beaucoup de machines à gérer, vous aurez sûrement besoin
       de faire une installation ou une mise à niveau sans surveillance, alors
       que  les  réponses par défaut à certaines questions de configuration ne
       sont pas acceptables. Il y a beaucoup de  manières  pour  faire  cela ;
       toutes  impliquent  la  configuration d’une base de données que debconf
       utilisera pour obtenir les réponses par défaut que vous voulez.

       Avant de lire cette section, vous devriez vraiment lire debconf.conf(5)
       car  vous  avez  besoin  de  comprendre le fonctionnement de la base de
       données de debconf.

       Le plus simple pour configurer la base de données est  d’installer  les
       paquets  sur une machine et de répondre aux questions comme d’habitude.
       Vous pouvez aussi  utiliser  dpkg-preconfigure(8)  pour  configurer  un
       ensemble  de  paquets  sans  réellement les installer. Vous pouvez même
       décider d’écrire une base de données debconf à la main, comme un simple
       texte...

       Une  fois  que vous avez la base de données, vous devez trouver comment
       faire pour que les systèmes distants l’utilisent. Cela dépend bien  sûr
       de  la  configuration  de  ces systèmes et de la base de données qu’ils
       doivent utiliser.

       Si vous utilisez la base de données LDAP de debconf,  un  seul  serveur
       LDAP  peut  répondre  à toutes les questions d’installation des paquets
       d’un réseau complet de machines Debian.

       Mais peut-être utilisez-vous quelque  chose  d’un  peu  plus  facile  à
       configurer,  comme  par exemple, la base de données de configuration de
       debconf par défaut, ou ne  voulez-vous  tout  simplement  pas  que  vos
       systèmes  distants  utilisent  LDAP  continuellement.  Dans  ce cas, la
       meilleure  approche  est  de  configurer  temporairement  les  systèmes
       distants  pour qu’ils ajoutent votre base de données sous leurs propres
       bases, de manière à ce qu’ils obtiennent  les  valeurs  par  défaut  de
       celle-ci.     Debconf    offre    deux    variables    d’environnement,
       DEBCONF_DB_FALLBACK et DEBCONF_DB_OVERRIDE, pour le faire à la volée et
       simplement. Ici, un exemple d’utilisation :

          cat /var/cache/debconf/config.dat | \
          ssh root@cible "DEBIAN_FRONTEND=noninteractive \
                         DEBCONF_DB_FALLBACK=Pipe apt-get upgrade"

       Cela  fait  que debconf sur l’hôte distant lit les données passées dans
       le tube à travers la connexion SSH et les interprète comme une base  de
       données debconf en mode texte. Il n’utilise cette base de données qu’en
       dernier lieu -- c’est une base de données en  lecture  seule,  où  l’on
       cherche les réponses que la base principale du système ne peut fournir.

       Une   autre   manière   d’utiliser    la    variable    d’environnement
       DEBCONF_DB_FALLBACK :

         ssh -R 389:ldap:389 root@cible \
            "DEBCONF_DB_FALLBACK=’LDAP{host:localhost}’ apt-get upgrade"

       ssh  est  utilisé ici pour configurer une connexion LDAP dans un tunnel
       et lancer debconf. On indique à  debconf  d’utiliser  le  serveur  LDAP
       comme   base   de   données  de  secours.  Remarquez  l’utilisation  de
       « {host:localhost} » pour configurer l’accès de debconf à  la  base  de
       données   LDAP   fournissant   le   champ   « host »   avec  la  valeur
       « localhost ».

       Encore une autre méthode :

         scp config.dat root@cible:
         ssh root@cible "DEBCONF_DB_FALLBACK=’File{/root/config.dat}’  apt-get
       upgrade

       Ici,  vous copiez la base de données avec scp, puis ssh, et vous faites
       utiliser à debconf la base  de  données  que  vous  avez  copiée.  Cela
       illustre  un  raccourci que vous pouvez utiliser dans les paramètres de
       DEBCONF_DB_FALLBACK -- si le nom n’est pas indiqué,  celui  par  défaut
       est « filename ».

       Il   y   a   un   problème   avec   l’utilisation   des  paramètres  de
       DEBCONF_DB_FALLBACK : alors que la base  de  données  de  secours  peut
       fournir  des  réponses  à des questions que les autres bases de données
       debconf n’ont jamais vues, on ne l’interroge qu’en dernier lieu : après
       les   autres   bases   de   données.  Si  vous  avez  besoin  d’annuler
       temporairement une valeur existante sur l’hôte  distant,  vous  devriez
       plutôt     utiliser     la    variable    DEBCONF_DB_OVERRIDE.    Comme
       DEBCONF_DB_FALLBACK, elle configure une  base  de  données  temporaire,
       mais  cette base de données est consultée avant les autres et peut être
       utilisée pour remplacer les valeurs existantes.

Développer pour debconf

       Les développeurs de paquet et ceux qui veulent construire  des  paquets
       qui utilisent debconf devraient lire debconf-devel(7).

       Brièvement,  debconf  communique  avec  des  scripts  de maintenance ou
       d’autres programmes via les entrée et sortie standard, en utilisant  un
       langage  orienté  ligne de commandes semblable à ce qui est utilisé par
       les  protocoles  usuels  de  l’internet  comme  SMTP.  Les   programmes
       utilisent ce protocole pour demander à debconf d’afficher les questions
       et  de  récupérer  les  réponses  de   l’utilisateur.   Les   questions
       elles-mêmes   sont   définies   dans   des  fichiers  séparés,  appelés
       « questionnaires », dont le format n’est pas très  différent  de  celui
       d’un fichier de contrôle de Debian.

       Les  paquets  Debian  qui utilisent debconf fournissent généralement un
       questionnaire  et  un  script  de   « configuration »   (exécuté   pour
       préconfigurer le paquet) dans la partie métadonnées du paquet.

ENVIRONNEMENT

       DEBIAN_FRONTEND
              Utilisée   pour   changer   temporairement  l’interface  debconf
              utilisée. Voir plus haut.

       DEBIAN_PRIORITY
              Utilisée  pour  changer  temporairement  la  priorité  que   les
              questions  doivent  avoir  (au  minimum) pour être affichées par
              debconf. Voir plus haut.

       DEBCONF_DEBUG
              Active l’affichage du débogage sur la sortie standard  d’erreur.
              Elle  peut  être  fixée  par  le  nom  d’un mécanisme ou par une
              expression rationnelle qui  correspond  au  nom  d’un  mécanisme
              (comme   « .* »   pour   afficher  toutes  les  informations  de
              débogage). Les noms de mécanisme incluent :

              user   Informations   de   débogage   intéressantes   pour    un
                     utilisateur de debconf.

              developer
                     Informations    de   débogage   intéressantes   pour   un
                     développeur de paquet.

              db     Informations de débogage concernant la  base  de  données
                     sous-jacente.

       DEBCONF_NOWARNINGS
              Positionnez-la à « yes » pour désactiver certains avertissements
              que debconf pourrait afficher. Elle ne supprime pas  l’affichage
              des erreurs fatales.

       DEBCONF_TERSE
              Positionnez-la à « yes » pour activer le mode concis dans lequel
              les  interfaces  debconf  suppriment  autant  que  possible   le
              bavardage.

       DEBCONF_DB_FALLBACK
              Ajouter  une  base  de  données  en  plus  de  celles  utilisées
              habituellement, elle est donc utilisée en secours  pour  obtenir
              les    informations    de   configuration.   Voir   la   section
              « Installation des paquets sans surveillance » plus haut. Si  la
              valeur de la variable est le nom d’une base de données existante
              dans debconf.conf, la  base  de  données  sera  alors  utilisée.
              Néanmoins,  la  variable d’environnement peut être utilisée pour
              configurer une base de données à la volée, en donnant le type de
              la  base  de données et des paramètres optionnels (champ:valeur)
              après le type et entre accolades.  Les  espaces  sont  utilisées
              pour  séparer  les champs, vous ne pourrez donc pas spécifier de
              valeur de champ contenant des espaces.

       La  ligne   suivante   demande   l’utilisation   de   fallbackdb   dans
       debconf.conf :
         DEBCONF_DB_FALLBACK=fallbackdb

       Alors  que  cette  ligne configure une nouvelle base de données de type
       fichier, donne  un  nom  de  fichier  à  utiliser  et  désactive  toute
       sauvegarde :
         DEBCONF_DB_FALLBACK=File{Filename:/root/config.dat Backup:no}

       En  résumé,  cette  ligne configure une base de données de type Fichier
       avec un nom de fichier :
         DEBCONF_DB_FALLBACK=File{/root/config.dat}

       Remarquez que si la base de données de  secours  est  configurée  à  la
       volée, elle sera utilisable en lecture seule par défaut.

       DEBCONF_DB_OVERRIDE
              Ajouter  une base de données avant celles utilisées normalement,
              elle peut donc remplacer les valeurs des autres. La valeur de la
              variable    fonctionne    de    la   même   manière   que   pour
              DEBCONF_DB_FALLBACK.

       DEBCONF_DB_REPLACE
              Utiliser une base de données particulière au lieu des  bases  de
              données  utilisées  normalement.  Cela  peut être utile pour des
              tests avec une base de données séparée sans  avoir  à  créer  de
              fichier  debconf.conf  séparé, ou pour éviter de verrouiller les
              bases de données normales.

       DEBCONF_SYSTEMRC
              Si cette variable d’environnement est définie, debconf  ignorera
              le fichier ~/.debconfrc de l’utilisateur et utilisera à la place
              le fichier de configuration du système.

       DEBCONF_FORCE_DIALOG
              Si cette variable d’environnement est définie, debconf utilisera
              de préférence dialog à whiptail pour l’interface dialog.

       DEBCONF_FORCE_XDIALOG
              Si cette variable d’environnement est définie, debconf utilisera
              de préférence Xdialog à whiptail pour l’interface dialog.

       DEBCONF_NONINTERACTIVE_SEEN
              Positionné à "true", cela positionne le  drapeau  « seen »  pour
              les questions posées dans l’interface non-interactive.

BOGUES

       Probablement beaucoup, il y a beaucoup de code ici.

       Si  vous  présentez  un  rapport  de  bogue, assurez-vous d’inclure les
       informations suivantes :

       *      l’interface debconf que vous utilisiez lorsque le  problème  est
              survenu ;

       *      ce que vous avez fait pour déclencher le problème ;

       *      le   texte   complet  des  messages  d’erreur.  Si  vous  pouvez
              reproduire le bogue, faites-le avec  DEBCONF_DEBUG=’.*’  définie
              et exportée. Cela accélère beaucoup le débogage.

VOIR AUSSI

       debconf.conf(5),         debconf-devel(7),        dpkg-preconfigure(8),
       dpkg-reconfigure(8), debconf(1),

AUTEUR

       Joey Hess <joeyh@debian.org>

TRADUCTION

       Julien Louis <ptitlouis@sysif.net>, 2005 Cyril Brulebois <>, 2006

                                                                    DEBCONF(7)