Provided by:
debconf-doc_1.5.32ubuntu3_all 
NOM
debconf - systeme de configuration des paquets Debian
DESCRIPTION
Debconf est un systeme de configuration pour les paquets Debian. Il
existe une commande rarement utilisee nommee debconf, documentee dans
debconf(1)
Debconf fournit une interface coherente pour la configuration des
paquets et donne a l'utilisateur le choix entre plusieurs interfaces.
Il peut configurer des paquets avant qu'ils ne soient installes, ce qui
permet a des installations et des mises a niveau importantes de
demander toutes les informations necessaires au prealable, et de vous
laisser faire ce que vous voulez pendant que les paquets s'installent.
Debconf vous permet, si vous etes presse, de sauter les questions les
moins importantes au moment de l'installation d'un paquet (en y
revenant plus tard).
Pr'econfiguration des paquets
Debconf peut configurer les paquets avant meme qu'ils ne soient
installes sur votre systeme. Ainsi, toutes les questions des paquets
vous seront posees au debut de l'installation ce qui permettra a
l'installation de continuer pendant que vous etes en train de prendre
un cafe.
Si vous utilisez apt (version 0.5 ou superieure) et que vous avez
installe apt-utils, chaque paquet installe par apt sera automatiquement
preconfigure. Ceci est controle via /etc/apt/apt.conf.d/70debconf
Quelquefois vous voudrez preconfigurer un paquet vous-meme, 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
preconfigurer. Vous aurez besoin d'installer apt-utils pour que cela
fonctionne.
Reconfiguration des paquets
Supposons que vous ayez installe un paquet et que vous ayez repondu aux
questions de debconf, mais maintenant que vous l'utilisez de temps en
temps, vous realisiez que vous voulez revenir sur quelques-unes de vos
reponses et les changer. Autrefois, il fallait faire une reinstallation
quand vous etiez dans cette situation ; mais quand vous reinstallez le
paquet, debconf semble se souvenir que vous avez deja repondu aux
questions et ne vous les pose pas a nouveau (c'est voulu).
Heureusement, debconf facilite la reconfiguration des paquets qui
l'utilisent. Supposez que vous voulez reconfigurer debconf lui-meme.
Executez simplement, en tant que superutilisateur :
dpkg-reconfigure debconf
Il vous posera toutes les questions que vous avez vues lors de la
premiere installation de debconf. Il peut aussi vous poser d'autres
questions, puisqu'il vous pose meme les questions de priorite basse qui
ont pu etre sautees quand le paquet a ete installe. Vous pouvez aussi
bien l'utiliser avec n'importe quel autre paquet utilisant debconf.
Interfaces
Une fonctionnalite remarquable de debconf est qu'il possede plusieurs
interfaces et l'on peut en changer a loisir. Voici les interfaces
disponibles :
dialog Interface par defaut : 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 a la
configuration Debian classique : une serie de questions,
imprimees sur la console en mode texte et des invites affichees
avec la bibliotheque readline. Elle reconnait meme le
completement avec << tab >>. Le paquet libterm-readline-gnu-perl
est fortement recommande si vous choisissez d'utiliser cette
interface ; le module readline par defaut ne gere pas les
invites de saisie avec des valeurs par defaut. Pour utiliser
cette interface, vous aurez besoin d'installer le paquet
perl-modules.
Cette interface a quelques commandes speciales. << Page prec. >>
(ou ctrl-u) reviendra a la question precedente (si cela est gere
par le paquet utilisant debconf) et << Page suiv. >> (ou ctrl-v)
passera a la question suivante.
C'est la meilleure interface pour les administrateurs a distance
travaillant par une connexion lente, ou pour ceux qui sont a
l'aise avec Unix.
noninteractive
C'est l'anti-interface. Elle n'interagit jamais avec vous et
utilise les reponses par defaut pour toutes les questions. Elle
enverra parfois un courriel a root avec les messages que le
paquet voulait afficher, mais c'est tout ! A part ca, elle est
silencieuse et discrete, c'est une interface parfaite pour des
installations automatiques. Si vous utilisez cette interface et
si vous voulez que les reponses aux questions ne soient pas
celles par defaut, vous aurez besoin de renseigner d'abord la
base de donnees de debconf ; pour plus de details, consultez la
section ci-dessous sur l'installation de paquets sans
surveillance.
gnome C'est une interface homme-machine X moderne utilisant les
bibliotheques gtk et gnome. Bien sur, elle necessite une
variable DISPLAY valable pour fonctionner ; si elle ne peut pas
fonctionner, debconf se rabattra sur d'autres interfaces.
Remarquez que cette interface necessite que vous ayez installe
le paquet libgnome2-perl.
editor C'est pour ces fanatiques qui veulent tout faire a l'aide d'un
editeur de texte. Elle lance votre editeur sur un fichier qui
ressemble a un fichier de configuration Unix, et vous modifiez
le fichier qui sert a communiquer avec debconf. L'auteur de
debconf prefere ne pas commenter les circonstances qui ont
conduit a l'ecriture 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 repondre. Elle est tres prometteuse, mais un peu
rugueuse pour l'instant. Quand cette interface se met en route,
elle indiquera le lieu ou vous devrez pointer votre navigateur
web. Pour des raisons de securite, vous devez executer votre
navigateur web sur la machine que vous configurez.
Gardez a l'esprit que ce n'est pas une interface securisee. Tous
ceux qui ont acces a l'ordinateur en cours de configuration
peuvent aussi acceder 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 defaut qu'utilise debconf en le
reconfigurant. D'un autre cote, 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 a 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 parametre, suivi de l'interface que
vous voulez qu'elles utilisent.
Notez que toutes les interfaces ne fonctionneront pas en toute
circonstance. Si le demarrage d'une interface echoue pour quelque
raison que ce soit, debconf affichera un message expliquant pourquoi et
se rabattra sur l'interface la plus proche.
Priorit'es
Pouvoir donner des priorites aux questions que vous pose debconf est
une fonctionnalite agreable. Si vous ne voulez pas etre ennuye par les
questions sans importance, vous pouvez configurer debconf pour qu'il ne
vous pose que les questions les plus importantes. D'un autre cote, si
vous aimez tout controler, vous pouvez lui faire afficher toutes les
questions. Chaque question a une priorite. Par ordre croissant
d'importance :
low Questions peu importantes dont les valeurs par defaut suffisent
dans la majorite des cas.
medium Questions normales avec des valeurs par defaut raisonnables.
high Questions qui n'ont pas de valeurs par defaut convenables.
critical
Questions que vous avez vraiment besoin de voir (ou autre).
Seules les questions avec une priorite superieure ou egale a la
priorite que vous avez choisie seront affichees. Vous pouvez fixer la
valeur de la priorite 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'ees principale
Debconf utilise une base de donnees sous-jacente plutot flexible et
potentiellement compliquee pour sauvegarder les reponses deja donnees
aux questions. Le fichier /etc/debconf.conf est utilise pour configurer
cette base de donnees. Si vous avez besoin de configurer quelque chose
de complique, comme utiliser une base de donnees distante pour obtenir
les valeurs par defaut, annulees par des variables locales, lisez la
page de manuel debconf.conf(5) pour tous les details croustillants. La
base de donnees principale se trouve generalement dans
/var/cache/debconf/.
Installation des paquets sans surveillance
Si vous avez beaucoup de machines a gerer, vous aurez surement besoin
de faire une installation ou une mise a niveau sans surveillance, alors
que les reponses par defaut a certaines questions de configuration ne
sont pas acceptables. Il y a beaucoup de manieres pour faire cela ;
toutes impliquent la configuration d'une base de donnees que debconf
utilisera pour obtenir les reponses par defaut 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
donnees de debconf.
Le plus simple pour configurer la base de donnees est d'installer les
paquets sur une machine et de repondre aux questions. Vous pouvez aussi
utiliser dpkg-preconfigure(8) pour configurer un ensemble de paquets
sans reellement les installer. Vous pouvez meme decider d'ecrire une
base de donnees debconf a la main, comme un simple texte...
Une fois que vous avez la base de donnees, vous devez trouver comment
faire pour que les systemes distants l'utilisent. Cela depend bien sur
de la configuration de ces systemes et de la base de donnees qu'ils
doivent utiliser.
Si vous utilisez la base de donnees LDAP de debconf, un seul serveur
LDAP peut repondre a toutes les questions d'installation des paquets
d'un reseau complet de machines Debian.
Mais peut-etre utilisez-vous quelque chose d'un peu plus facile a
configurer, comme par exemple, la base de donnees de configuration de
debconf par defaut, ou ne voulez-vous tout simplement pas que vos
systemes distants utilisent LDAP continuellement. Dans ce cas, la
meilleure approche est de configurer temporairement les systemes
distants pour qu'ils ajoutent votre base de donnees sous leurs propres
bases, de maniere a ce qu'ils obtiennent les valeurs par defaut de
celle-ci. Debconf offre deux variables d'environnement,
DEBCONF_DB_FALLBACK et DEBCONF_DB_OVERRIDE, pour le faire a la volee 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'hote distant lit les donnees passees dans
le tube a travers la connexion SSH et les interprete comme une base de
donnees debconf en mode texte. Il n'utilise cette base de donnees qu'en
dernier lieu -- c'est une base de donnees en lecture seule, ou l'on
cherche les reponses que la base principale du systeme ne peut fournir.
Une autre maniere 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 utilise ici pour configurer une connexion LDAP dans un tunnel
et lancer debconf. On indique a debconf d'utiliser le serveur LDAP
comme base de donnees de secours. Remarquez l'utilisation de
<< {host:localhost} >> pour configurer l'acces de debconf a la base de
donnees LDAP fournissant le champ << host >> avec la valeur
<< localhost >>.
Encore une autre methode :
scp config.dat root@cible:
ssh root@cible "DEBCONF_DB_FALLBACK='File{/root/config.dat}' apt-get
upgrade
Ici, vous copiez la base de donnees avec scp, puis ssh, et vous faites
utiliser a debconf la base de donnees que vous avez copiee. Cela
illustre un raccourci que vous pouvez utiliser dans les parametres de
DEBCONF_DB_FALLBACK -- si le nom n'est pas indique, celui par defaut
est << filename >>.
Il y a un probleme avec l'utilisation des parametres de
DEBCONF_DB_FALLBACK : alors que la base de donnees de secours peut
fournir des reponses a des questions que les autres bases de donnees
debconf n'ont jamais vues, on ne l'interroge qu'en dernier lieu : apres
les autres bases de donnees. Si vous avez besoin d'annuler
temporairement une valeur existante sur l'hote distant, vous devriez
plutot utiliser la variable DEBCONF_DB_OVERRIDE. Comme
DEBCONF_DB_FALLBACK, elle configure une base de donnees temporaire,
mais cette base de donnees est consultee avant les autres et peut etre
utilisee pour remplacer les valeurs existantes.
D'evelopper pour debconf
Les developpeurs de paquet et ceux qui veulent developper des paquets
qui utilisent debconf devraient lire debconf-devel(7).
Brievement, debconf communique avec des scripts de maintenance ou
d'autres programmes via les entree et sortie standard, en utilisant un
langage oriente ligne de commandes semblable a ce qui est utilise par
les protocoles usuels de l'internet comme SMTP. Les programmes
utilisent ce protocole pour demander a debconf d'afficher les questions
et de recuperer les reponses de l'utilisateur. Les questions
elles-memes sont definies dans des fichiers separes, appeles
<< questionnaires >>, dont le format n'est pas tres different de celui
d'un fichier de controle de Debian.
Les paquets Debian qui utilisent debconf fournissent generalement un
questionnaire et un script de << configuration >> (execute pour
preconfigurer le paquet) dans la partie metadonnees du paquet.
ENVIRONNEMENT
DEBIAN_FRONTEND
Utilisee pour changer temporairement l'interface debconf
utilisee. Voir plus haut.
DEBIAN_PRIORITY
Utilisee pour changer temporairement la priorite que les
questions doivent avoir (au minimum) pour etre affichees par
debconf. Voir plus haut.
DEBCONF_DEBUG
Active l'affichage du debogage sur la sortie standard d'erreur.
Elle peut etre fixee par le nom d'un mecanisme ou par une
expression rationnelle qui correspond au nom d'un mecanisme
(comme << .* >> pour afficher toutes les informations de
debogage). Les noms de mecanisme incluent :
user Informations de debogage interessantes pour un
utilisateur de debconf.
developer
Informations de debogage interessantes pour un
developpeur de paquet.
db Informations de debogage concernant la base de donnees
sous-jacente.
DEBCONF_NOWARNINGS
Positionnez-la a << yes >> pour desactiver certains
avertissements que debconf pourrait afficher. Elle ne supprime
pas l'affichage des erreurs fatales.
DEBCONF_TERSE
Positionnez-la a << yes >> pour activer le mode concis dans
lequel les interfaces debconf suppriment autant que possible le
bavardage.
DEBCONF_DB_FALLBACK
Ajouter une base de donnees en plus de celles utilisees
habituellement, elle est donc utilisee 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 donnees
existante dans debconf.conf, la base de donnees sera alors
utilisee. Neanmoins, la variable d'environnement peut etre
utilisee pour configurer une base de donnees a la volee, en
donnant le type de la base de donnees et des parametres
optionnels (champ:valeur) apres le type et entre accolades. Les
espaces sont utilisees pour separer les champs, vous ne pourrez
donc pas specifier 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 donnees de type
fichier, donne un nom de fichier a utiliser et desactive toute
sauvegarde :
DEBCONF_DB_FALLBACK=File{Filename:/root/config.dat Backup:no}
En resume, cette ligne configure une base de donnees de type Fichier
avec un nom de fichier :
DEBCONF_DB_FALLBACK=File{/root/config.dat}
Remarquez que si la base de donnees de secours est configuree a la
volee, elle sera utilisable en lecture seule par defaut.
DEBCONF_DB_OVERRIDE
Ajouter une base de donnees avant celles utilisees normalement,
elle peut donc remplacer les valeurs des autres. La valeur de la
variable fonctionne de la meme maniere que pour
DEBCONF_DB_FALLBACK.
DEBCONF_DB_REPLACE
Utiliser une base de donnees particuliere au lieu des bases de
donnees utilisees normalement. Cela peut etre utile pour des
tests avec une base de donnees separee sans avoir a creer de
fichier debconf.conf separe, ou pour eviter de verrouiller les
bases de donnees normales.
DEBCONF_SYSTEMRC
Si cette variable d'environnement est definie, debconf ignorera
le fichier ~/.debconfrc de l'utilisateur et utilisera a la place
le fichier de configuration du systeme.
DEBCONF_FORCE_DIALOG
Si cette variable d'environnement est definie, debconf utilisera
de preference dialog a whiptail pour l'interface dialog.
DEBCONF_FORCE_XDIALOG
Si cette variable d'environnement est definie, debconf utilisera
de preference Xdialog a whiptail pour l'interface dialog.
DEBCONF_NONINTERACTIVE_SEEN
Positionne a "true", cela positionne le drapeau << seen >> pour
les questions posees dans l'interface non interactive.
BOGUES
Probablement beaucoup, il y a beaucoup de code ici.
Si vous presentez un rapport de bogue, assurez-vous d'inclure les
informations suivantes :
* l'interface debconf que vous utilisiez lorsque le probleme est
survenu ;
* ce que vous avez fait pour declencher le probleme ;
* le texte complet des messages d'erreur. Si vous pouvez
reproduire le bogue, faites-le avec DEBCONF_DEBUG='.*' definie
et exportee. Cela accelere beaucoup le debogage.
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 ecrivant a
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet debconf.
DEBCONF(7)