Debconf, Preseed et troubleshooting.

Dernièrement j’ai cherché à automatiser l’installation d’un serveur Openldap avec Puppet et un fichier de préconfiguration d’un package Debian.
L’installation était bloqué et un ps révélait que l’installation était bloquée sur la préconfiguration du package :

22165 ?        Ss     0:00 /usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install slapd
22170 ?        S      0:00 /bin/sh -c /usr/sbin/dpkg-preconfigure --apt || true
22171 ?        R     96:21 /usr/bin/perl -w /usr/sbin/dpkg-preconfigure --apt
22173 ?        Z      0:00 [dpkg-preconfigu] 
22178 ?        R     26:27 /bin/sh /tmp/slapd.config.JDMbkD configure

Pour le debug, première étape, préchargeons notre fichier preseed dans debconf :

echo -e "slapd slapd/root_password password ldappwd" | debconf-set-selections
echo -e "slapd slapd/root_password_again password ldappwd" | debconf-set-selections
echo -e "slapd slapd/internal/adminpw password ldappwd" | debconf-set-selections
echo -e "slapd slapd/internal/generated_adminpw password ldappwd" | debconf-set-selections
echo -e "slapd slapd/password2 password ldappwd" | debconf-set-selections
echo -e "slapd slapd/password1 password ldappwd" | debconf-set-selections
echo -e "slapd slapd/domain string 'int.morot.fr'" | debconf-set-selections
echo -e "slapd shared/organization string 'int.morot.fr'" | debconf-set-selections
echo -e "slapd slapd/backend string MDB" | debconf-set-selections
echo -e "slapd slapd/purge_database boolean true" | debconf-set-selections
echo -e "slapd slapd/move_old_database boolean true" | debconf-set-selections
echo -e "slapd slapd/allow_ldap_v2 boolean false" | debconf-set-selections
echo -e "slapd slapd/no_configuration boolean false" | debconf-set-selections

Activons le mode développeur et le fronted sans interaction utilisateur, tel qu’utilisé par Puppet :

export DEBCONF_DEBUG=developer
export DEBIAN_FRONTEND='Noninteractive'

Il ne reste plus qu’à lancer l’installation du package et examiner la sortie ou le syslog :

apt install slapd

Pour ma part, j’ai pu voir que les quotes autour des paramètres organization et domain posaient problème et demandaient à être supprimés :

debconf (developer): <-- INPUT medium slapd/domain
debconf (developer): --> 30 question skipped
debconf (developer): <-- INPUT medium shared/organization
debconf (developer): --> 30 question skipped

Profit!

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.