Comment empêcher l'invite qui demande de redémarrer les services lors de l'installation de libpq-dev

29

Je souhaite installer libpq-devsur ma machine Vagrant. Je l'installe avec

$ apt-get install -y libpq-dev

Au cours de l'installation, une invite apparaît qui demande s'il est autorisé de redémarrer certains services automatiquement. Cette invite rompt ma disposition Vagrant. Comment désactiver cette invite?

rapide

Texte:

Certains services installés sur votre système doivent être redémarrés lorsque certaines bibliothèques, telles que libpam, libc et libssl, sont mises à niveau. Étant donné que ces redémarrages peuvent provoquer des interruptions de service pour le système, vous serez normalement invité à chaque mise à niveau pour la liste des services que vous souhaitez redémarrer. Vous pouvez choisir cette option pour éviter d'être invité; au lieu de cela, tous les redémarrages nécessaires seront effectués automatiquement pour vous afin que vous puissiez éviter de poser des questions sur chaque mise à niveau de la bibliothèque.

****MODIFIER ****

Grâce à la réponse de Patrick et à cette question, je l'ai corrigée. Maintenant, mon Vagrantfile contient:

 sudo DEBIAN_FRONTEND=noninteractive apt-get install -y libpq-dev
OrangeTux
la source
Je proposais d'utiliser, -ymais il semble que cela ne change pas grand-chose. voirman apt-get | less +/--force-yes
Valentin Bajrami
J'ai également essayé cette option, mais cela n'a pas fonctionné non plus.
OrangeTux

Réponses:

28

Définissez la variable d'environnement DEBIAN_FRONTEND=noninteractive.

Par exemple:

export DEBIAN_FRONTEND=noninteractive
apt-get install -y libpq-dev

Cela fera apt-getsélectionner les options par défaut.

Patrick
la source
2
Ne fonctionne pas dans ce cas.
Nigel Horne
2
Veuillez préciser ce qu'est "ce cas". L'auteur de la question a sélectionné cette réponse comme correcte. Si la réponse ne fonctionne pas pour vous, je vous recommande de poser une nouvelle question et assurez-vous de clarifier en quoi votre cas est différent, et que cela ne fonctionne pas pour vous.
Patrick
1
Cela n'a pas fonctionné pour moi non plus.
Felipe
L'option par défaut est-elle de redémarrer le service ou de ne pas redémarrer le service?
Nicholi
n'a pas fonctionné pour moi non plus - export DEBIAN_FRONTEND=noninteractive; sudo apt-get update; sudo apt-get install -y libssl-dev openssl. ubuntu 18
RSHAP
9

Vous devriez pouvoir y parvenir en utilisant debconf-set-selections. Depuis la page de manuel:

debconf-set-selections can be used to pre-seed the debconf database
with answers, or to change answers in the database. Each question will
be marked as seen to prevent debconf from asking the question
interactively.

Afin de déterminer l'entrée requise en debconf-set-selectionscas d'inconnu, vous pouvez répondre manuellement à l'invite, puis inspecter la base de données debconf pour trouver la valeur correcte. Pour ce faire, installez debconf-utils:

sudo apt-get -y install debconf-utils

qui fournit la debconf-get-selectionscommande. Ensuite:

sudo debconf-get-selections | grep libssl1.0.0:amd64

pour vérifier les valeurs dans la base de données. Sur mon système (Ubuntu, mais Debian devrait être similaire), je ne suis pas invité lorsque j'apt-get installe libpq-dev, et j'ai cette entrée:

libssl1.0.0:amd64   libssl1.0.0/restart-services     string

vous devriez donc pouvoir utiliser:

echo 'libssl1.0.0:amd64 libssl1.0.0/restart-services string' | sudo debconf-set-selections

pour définir la liste des services à redémarrer lors de la mise à niveau de libssl sur «aucun».

Sous Debian, il devrait y avoir plus d'informations sur les valeurs valides pour cette ligne dans le questions.datfichier sous /var/lib/cdebconf. Voir https://www.debian.org/releases/stable/i386/apbs03.html.en pour plus de détails.

mvermaes
la source
4

Je pense que les réponses existantes peuvent être un peu anciennes. Ce qui suit a fonctionné pour moi récemment.

Pour voir les paramètres d'un package

sudo debconf-show <package-name>

PAR EXEMPLE:

$ sudo debconf-show libssl1.1 
  libssl1.1/restart-services:
  libssl1.1/restart-failed:
* libraries/restart-without-asking: false

Pour modifier le paramètre

echo '<package-and-setting-string>' | sudo debconf-set-selections

PAR EXEMPLE

echo 'libssl1.1 libraries/restart-without-asking boolean true' | sudo debconf-set-selections

Astuce bonus, pour définir ce paramètre pour tous les packages, utilisez «*» à la place du nom du package.

PAR EXEMPLE

echo '* libraries/restart-without-asking boolean true' | sudo debconf-set-selections
PiersyP
la source
La réponse acceptée n'a pas fonctionné pour moi mais l'utilisation debconf-set-selectionsa fonctionné.
bradj