Niveau :      
Résumé : debconf-get-selections ; dpkg-reconfigure ; debconf-set-selections

Lorsque vous installez un paquet sous debian, dpkg, apt, aptitude (ou autre) vous pose parfois quelques questions. Mais lorsque vous mettez ce paquet à jour il ne vous les repose pas même s'il en a besoin.

En réalité c'est debconf qui gère les réponses à ces questions. Il vous les pose, puis enregistre les réponses dans /var/cache/debconf/config.dat pour les redonner au paquet lorsqu'il en a besoin. Remarquez que vous pouvez vous-mêmes en avoir besoin, par exemple pour savoir ce que vous avez répondu aux questions. La commande debconf-get-selections vous donne toutes les informations

# pour le paquet postfix uniquement
$ debconf-get-selections | grep -B1 "^postfix "

Notez que si vous voulez changer ces réponses, ce n'est pas debconf-set-selections, mais dpkg-reconfigure que vous devrez utiliser (pour que les réponses soient réellement prises en compte :

$ dpkg-reconfigure postfix

Maintenant supposons que vous ayez déjà répondu à ces questions sur une machine et que vous voudriez éviter de recommencer sur toutes les machines que vous allez installer. Cette fois nous allons utiliser debconf-set-selections qui préenregistre les réponses. Debconf ne vous les posera donc pas lors de l'installation :

# sur la machine déjà installée
$ debconf-get-selections | grep "^postfix " > conf.txt
 
# sur la nouvelle machine
$ debconf-set-selections < conf.txt
$ apt-get install postfix

C'est ce qu'on appelle le preseed et c'est grâce à ça qu'on peut installer des centaines de machines sans avoir besoin d'être devant l'écran.