Installation automatique d'un paquet Debian

De Wiki doc

Lors de l'installation de paquets avec APT, certain d'entre eux posent des questions via une interface ncurses, ce qui gène leur installation via des scripts (et ceux, même avec l'option -y). Pour y remédier, il faut soit désactiver complètement cette interaction ncurses afin d'utiliser les valeurs par défaut ou soit configurer debconf afin de préciser nous même les paramètres à appliquer par défaut pour un paquet.

Désactivation de l’interaction

Il faut définir la variable DEBIAN_FRONTEND comme suit

export DEBIAN_FRONTEND=noninteractive

et la réactiver quand on en a plus besoin

unset DEBIAN_FRONTEND

Usage pratique

export DEBIAN_FRONTEND=noninteractive
apt -y install foopackage
apt -y install barpackage
unset DEBIAN_FRONTEND

INFORMATION

La variable DEBIAN_FRONTEND supporte les valeurs noninteractive : ne pose aucune questions et utilise les valeurs par défaut ; dialogue : pose les questions via une interface ncurses (valeur par défaut) ; texte : pose les questions via une interface teste simple ; gtk : pose les questions via une interface graphique GTK (nécessite les paquets cdebconf-gtk et gkdebconf).

Configuration de debconf

Pour cette partie, il va falloir passer des arguments au programme debconf (qui définit les variables à passer à DPKG lors des installations). Afin de connaître les valeurs possibles, il faut installer le paquet debconf-utils (inutile si vous connaissez les valeurs à l'avance)

apt install debconf-utils

La commande debconf-get-selection permet de lister l'ensemble des variables possibles. On peut l'utiliser avec un pipe pour filtrer ce qui nous intéresse. Personnellement, je l'utilise avec less et sa fonction de recherche / afin de trouver ce qui m'intéresse.

debconf-get-selection | less

Pour définir une valeur personnalisé, on l'utilise comme suit (exemple avec Wireshark)

echo "wireshark-common wireshark-common/install-setuid boolean true" | debconf-set-selections

Il suffit ensuite d'installer le paquet (ici wireshark) et constater que le paquet ne pose plus la question qui faisait chier

apt install -y wireshark

Source