Installer des paquets avec APT sans intervention
![Installer des paquets avec APT sans intervention](pilotage.jpg)
Lorsqu’on scripte l’installation d’un serveur, l’appel de APT peut déclencher des questions interactives sur certains paramètres.
Il est bien sûr posssible de les ignorer avec les flags --quiet
accompagné de --assume-yes
ou --assume-no
pour avoir des réponses automatiques mais dans certains cas, ce n’est pas satifaisant. Par exemple, lors de l’installation du paquet opensmtpd
, il est nécessaire de renseigner l’adresse à laquelle faire suivre le courrier de root
ainsi que le nom du serveur de mail.
Pour fournir automatiquement ces informations à l’installeur, il suffit de renseigner la base de données des questions de APT avant de lancer la commande d’installation. Cela se fait facilement à l’aide de la commande debconf-set-selections
. Cette commande prend en entrée (sur stdin) : le nom du paquet, le nom de la “question” et la réponse à fournir.
Par exemple :
echo "opensmtpd opensmtpd/root_address string admin@mondomaine.fr" | debconf-set-selections
echo "opensmtpd opensmtpd/mailname string smtp.mondomaine.fr" | debconf-set-selections
apt-get install opensmtpd
Dans cet exemple, on renseigne les éléments suivants :
- la question
root_address
(qui correspond à l’adresse à laquelle sont renvoyés les emails destinés à l’utilisateurroot
) - le nom de la machine pour le serveur SMTP
Pour connaitre la liste des questions possibles pour un paquet donné, il faut utiliser la commande debconf-show <nom du paquet>
.
Par exemple :
root@serveur# debconf-show opensmtpd
* opensmtpd/root_address: admin@mondomaine.fr
opensmtpd/mailname:
Les lignes qui commencent par une étoile sont celles qui ont été renseignées.