Loading

NOM

       debconf - système de configuration des paquets Debian

       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  ne  gère pas les
              invites de saisie avec des valeurs  par  défaut.  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.

       noninteractive
              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, consultez 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.

       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 sauvegarder 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 utiliser 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. 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 développer  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 <kibi@debian.org>, 2006

       Veuillez  signaler  toute  erreur   de   traduction   en   écrivant   à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet debconf.