« Installation automatique d'un paquet Debian » : différence entre les versions
(Page créée avec « Category:apt Lors de l'installation de certain paquet avec apt, certain paquets posent des question via une interface ncurses, ce qui gène leur installation via des s... ») |
(→Usage pratique : Ajout d'une bannière d'information listant les valeurs possibles de DEBIAN_FRONTEND) |
||
(Une version intermédiaire par le même utilisateur non affichée) | |||
Ligne 1 : | Ligne 1 : | ||
[[Category:apt]] | [[Category:apt]] | ||
Lors de l'installation de | Lors de l'installation de paquets avec [[:Category:apt|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= | =Désactivation de l’interaction= | ||
Il faut définir la variable ''DEBIAN_FRONTEND'' comme suit | Il faut définir la variable ''DEBIAN_FRONTEND'' comme suit | ||
export DEBIAN_FRONTEND=noninteractive | export DEBIAN_FRONTEND=noninteractive | ||
et la réactiver quand on en a plus besoin | et la réactiver quand on en a plus besoin | ||
unset DEBIAN_FRONTEND | unset DEBIAN_FRONTEND | ||
==Usage pratique== | ==Usage pratique== | ||
export DEBIAN_FRONTEND=noninteractive | export DEBIAN_FRONTEND=noninteractive | ||
Ligne 11 : | Ligne 14 : | ||
apt -y install barpackage | apt -y install barpackage | ||
unset DEBIAN_FRONTEND | unset DEBIAN_FRONTEND | ||
{{info|La variable [https://fr.linux-console.net/?p{{=}}17177 DEBIAN_FRONTEND] supporte les valeurs <code>noninteractive</code> : ne pose aucune questions et utilise les valeurs par défaut ; <code>dialogue</code> : pose les questions via une interface ''ncurses'' (valeur par défaut) ; <code>texte</code> : pose les questions via une interface teste simple ; <code>gtk</code> : pose les questions via une interface graphique ''GTK'' (nécessite les paquets cdebconf-gtk et gkdebconf).}} | |||
=Configuration de debconf= | =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) | 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 | 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. | 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 | debconf-get-selection | less | ||
Pour définir une valeur personnalisé, on l'utilise comme suit (exemple avec Wireshark) | 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 | 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 | 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 | apt install -y wireshark | ||
=Source= | =Source= | ||
* http://languor.us/disable-pop-ups-unattended-non-interactive-apt-get-install-ubuntu-debian | * http://languor.us/disable-pop-ups-unattended-non-interactive-apt-get-install-ubuntu-debian |
Dernière version du 18 novembre 2023 à 20:09
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 valeursnoninteractive
: 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