« Installation automatique d'un paquet Debian » : différence entre les versions

De Wiki doc

(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 certain paquet avec apt, certain paquets posent des question via une interface ncurses, ce qui gène leur installation via des scriptes (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.
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 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