Installation automatique d'un paquet Debian

De Wiki doc

Révision datée du 12 avril 2020 à 17:40 par Ycharbi (discussion | contributions) (Corrections de fautes + aération du code.)

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

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