Désactiver les invites lors de l'installation d'un paquet Debian

22

Comment puis-je désactiver totalement les invites qui apparaissent lors de l'installation d'un paquet Debian, j'ai utilisé toutes les options que j'ai trouvées mais il y a des paquets qui me demandent encore.

J'utilise cette commande:

apt-get -y --allow-unauthenticated --force-yes -o DPkg::Options::="--force-overwrite" -o DPkg::Options::="--force-confdef" install x11-common

Pourquoi le package x11-common invite-t-il toujours? comment puis-je me débarrasser de ces invites?

Merci d'avance

--Victor

Modifier: juste pour clarifier, les invites ne sont pas des invites "oui / non", sont des questions ouvertes dans un écran coloré (écran typique à deux couleurs) mais je veux définir l'option par défaut de ces questions

victorgp
la source

Réponses:

38

Sélectionnez un nouveau frontal en définissant votre env.

DEBIAN_FRONTEND=noninteractive apt-get -y install x11-common

Je l'utilise tout le temps pour automatiser l'installation des packages avec cfengine.

bahamat
la source
+1 C'est la bonne réponse
lynxman
Dans certains cas étranges, comme lorsque vous devez utiliser ce chroot à l'intérieur de manière non interactive, vous pouvez utiliserDEBIAN_FRONTEND=noninteractive sudo -E chroot . echo "something"
mschuett
8

N'ayant pas installé manuellement x11-common, je ne sais pas quelles questions vous sont posées. Mais s'ils proviennent de debconf, vous devriez pouvoir répondre à l'avance aux questions debconf-set-selections.

Zoredache
la source
Ceci est la solution, merci. J'ai les propriétés avec debconf-get-selections et je les ai définies précédemment avec debconf-set-selections et plus aucune invite n'apparaît
victorgp
Même avec des sélections définies, certains packages peuvent toujours poser des questions en fonction de la priorité. Mais je recommande de définir des sélections lorsque cela est possible. Définir l'interface noninteractiveest le drapeau magique "ne me demandez rien quoi qu'il arrive".
bahamat
4

Vous devez le faire dpkg-reconfigure debconfet lui dire "Ignorer les questions avec une priorité inférieure à: Critique".

Cela ne vous empêche pas de répondre à des questions critiques.

DerfK
la source
1

Pour désactiver globalement les invites de reconfiguration de tous les packages avec debconf, il suffit de commenter la deuxième ligne du /etc/apt/apt.conf.d/70debconffichier.

Ou si vous approvisionnez une machine virtuelle, ajoutez ces commandes à votre script d'approvisionnement:

sudo ex +"%s@DPkg@//DPkg" -cwq /etc/apt/apt.conf.d/70debconf
sudo dpkg-reconfigure debconf -f noninteractive -p critical

Vous pouvez également essayer de la même manière que Travis CI:

sudo -E apt-get -yq --no-install-suggests --no-install-recommends --force-yes install some_package

Pour certains autres packages, comme ttf-mscorefonts-installer(qui dépend language-pack-en), ce qui précède ne semble pas fonctionner, alors essayez:

echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | sudo debconf-set-selections
sudo apt-get install -y language-pack-en
kenorb
la source
1
--force-yesest un moyen TRÈS effrayant et non recommandé d'explorer les invites. Ne soyez pas surpris si vous vous retrouvez avec un système cassé et éventuellement irrécupérable un jour.
dragon788