Cómo evitar el aviso que solicita reiniciar los servicios al instalar libpq-dev

29

Quiero instalar libpq-deven mi máquina Vagrant. Lo instalo con

$ apt-get install -y libpq-dev

Durante la instalación, aparece un mensaje que pregunta si está permitido reiniciar algunos servicios automáticamente. Este aviso rompe mi disposición de Vagabundo. ¿Cómo puede deshabilitar este aviso?

rápido

Texto:

Hay servicios instalados en su sistema que deben reiniciarse cuando se actualizan ciertas bibliotecas, como libpam, libc y libssl. Dado que estos reinicios pueden causar interrupciones en el servicio del sistema, normalmente se le solicitará en cada actualización la lista de servicios que desea reiniciar. Puede elegir esta opción para evitar que se le solicite; en cambio, todos los reinicios necesarios se realizarán automáticamente para que pueda evitar que se le hagan preguntas en cada actualización de la biblioteca.

**** EDITAR ****

Gracias a la respuesta de Patrick y esta pregunta, la arreglé. Ahora mi Vagrantfile contiene:

 sudo DEBIAN_FRONTEND=noninteractive apt-get install -y libpq-dev
OrangeTux
fuente
Estaba sugiriendo usar, -ypero parece que no cambia mucho. verman apt-get | less +/--force-yes
Valentin Bajrami
También probé esa opción, pero tampoco funcionó.
OrangeTux

Respuestas:

28

Establecer la variable de entorno DEBIAN_FRONTEND=noninteractive.

Por ejemplo:

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

Esto hará que apt-getseleccione las opciones predeterminadas.

Patricio
fuente
2
No funciona en este caso.
Nigel Horne
2
Por favor, especifique qué es "este caso". El autor de la pregunta ha seleccionado esta respuesta como correcta. Si la respuesta no funciona para usted, le recomiendo que haga una nueva pregunta y asegúrese de aclarar cómo su caso es diferente, y que esto no funciona para usted.
Patrick
1
A mí tampoco me funcionó.
Felipe
¿La opción predeterminada es reiniciar el servicio o no reiniciar el servicio?
Nicholi
tampoco funcionó para mí - export DEBIAN_FRONTEND=noninteractive; sudo apt-get update; sudo apt-get install -y libssl-dev openssl. ubuntu 18
RSHAP
9

Deberías poder lograr esto usando debconf-set-selections. Desde la página del manual:

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.

Para determinar la entrada requerida debconf-set-selectionssi no se conoce, puede responder el mensaje manualmente y luego inspeccionar la base de datos de debconf para encontrar el valor correcto. Para hacer esto, instale debconf-utils:

sudo apt-get -y install debconf-utils

que proporciona el debconf-get-selectionscomando Luego:

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

para verificar los valores en la base de datos. En mi sistema (Ubuntu, pero Debian debería ser similar) no se me solicita cuando aplico apt-get install libpq-dev, y tengo esta entrada:

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

así que deberías poder usar:

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

para configurar la lista de servicios para reiniciar cuando actualice libssl a 'ninguno'.

Bajo Debian, debería haber más información sobre valores válidos para esta línea en el questions.datarchivo debajo /var/lib/cdebconf. Consulte https://www.debian.org/releases/stable/i386/apbs03.html.en para obtener más detalles.

mvermaes
fuente
4

Creo que las respuestas existentes pueden ser un poco viejas. Lo siguiente funcionó para mí recientemente.

Para ver la configuración de un paquete

sudo debconf-show <package-name>

P.EJ:

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

Para cambiar la configuración

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

P.EJ

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

Consejo adicional: para establecer esta configuración para todos los paquetes, use '*' en lugar del nombre del paquete.

P.EJ

echo '* libraries/restart-without-asking boolean true' | sudo debconf-set-selections
PiersyP
fuente
La respuesta aceptada no funcionó para mí, pero debconf-set-selectionssí lo hizo.
bradj