44 votes

Variable d'environnement DEBIAN_FRONTEND

Mon fournisseur d'hébergement potentiel suggère d'exécuter une commande dans le terminal pour rendre l'image du système d'exploitation du serveur basé sur KVM minimal. Comme leurs modèles KVM contiennent des packages dont je n'ai pas besoin, j'ai pensé utiliser cette même commande pour supprimer les packages non désirés.

Cette commande commence par DEBIAN_FRONTEND=noninteractive, puis invoque apt-get remove comme suit :

DEBIAN_FRONTEND=noninteractive apt-get remove --purge -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" package-1 package-2 ... package-n; apt-get -y autoremove; apt-get clean all

C'est la première fois que je rencontre la variable d'environnement DEBIAN_FRONTEND, et je n'ai pas encore trouvé d'informations utiles à ce sujet. Je me demande donc ce que fait le fait de la définir sur noninteractive, et s'il est conseillé de le faire, car je suppose que cette valeur (noninteractive) persisterait.

52voto

steeldriver Points 118154

Tout simplement préfixer une commande apt avec DEBIAN_FRONTEND=quelquechose ne persiste pas après la seule commande à laquelle elle est appliquée.

Les options DEBIAN_FRONTEND sont documentées dans les pages de manuel de la Section 7 de debconf (vous devrez peut-être installer le paquet debconf-doc pour les rendre disponibles sur votre système). De man 7 debconf:

Interfaces
   Une des fonctionnalités uniques de debconf est que l'interface qu'il
   vous présente n'est qu'une parmi tant d'autres, qui peuvent être changées à volonté. Il existe de nombreuses
   interfaces debconf disponibles :

   dialogue L'interface par défaut, utilise les programmes whiptail(1) ou dialog(1)
          pour afficher des questions. Fonctionne en mode texte.

   readline
          L'interface la plus traditionnelle, elle ressemble beaucoup à la configuration Debian traditionnelle : une série de questions,
          imprimées sur la console en texte brut, et des invites faites
          en utilisant la bibliothèque readline. Elle prend même en charge la complétion automatique. Le
          paquet libterm-readline-gnu-perl est fortement recommandé si vous
          choisissez d'utiliser cette interface ; le module readline par défaut ne supporte
          pas l'invite avec des valeurs par défaut. Au minimum, vous aurez besoin du paquet perl-modules installé pour utiliser cette interface.

          Cette interface possède quelques raccourcis spéciaux. Pageup (ou ctrl-u)
          retournent à la question précédente (si le package utilisant debconf le supporte), et pagedown
          avance à la question suivante.

          C'est la meilleure interface pour le travail d'admin à distance sur une connexion lente, ou pour ceux qui sont à l'aise avec Unix.

   noninteractif
          C'est l'anti-interface. Elle n'interagit jamais avec vous,
          et utilise les réponses par défaut pour toutes les questions. Elle peut envoyer des messages d'erreur à root, mais c'est tout ; sinon elle est
          complètement silencieuse et discrète, une interface parfaite pour
          les installations automatiques. Si vous utilisez cette interface, et avez besoin
          de réponses non par défaut aux questions, vous devrez préconfigurer la
          base de données debconf ; voir la section ci-dessous sur l'installation de paquets
          sans surveillance pour plus de détails.

Il est également noté que :

   Vous pouvez changer l'interface par défaut que debconf utilise en reconfigurant
   debconf. D'autre part, si vous voulez simplement changer l'interface
   pour une minute, vous pouvez définir la variable d'environnement DEBIAN_FRONTEND sur
   le nom de l'interface à utiliser. Par exemple :

     DEBIAN_FRONTEND=readline apt-get install slrn

   Les commandes dpkg-reconfigure(8) et dpkg-preconfigure(8) vous permettent également de
   passer --frontend= à ces commandes, suivi de l'interface que vous voulez
   utiliser.

   Notez que toutes les interfaces ne fonctionneront pas dans toutes les circonstances. Si une interface
   échoue à démarrer pour une raison quelconque, debconf affichera
   un message expliquant pourquoi, et passera à l'interface la plus similaire suivante.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X