Come impedire il prompt che richiede di riavviare i servizi durante l'installazione di libpq-dev


29

Voglio installare libpq-devsulla mia macchina Vagrant. Lo installo con

$ apt-get install -y libpq-dev

Durante l'installazione viene visualizzato un prompt che chiede se è consentito riavviare automaticamente alcuni servizi. Questo prompt interrompe la mia disposizione di Vagrant. Come si può disabilitare questo prompt?

richiesta

Testo:

Esistono servizi installati sul tuo sistema che devono essere riavviati quando vengono aggiornate determinate librerie, come libpam, libc e libssl. Poiché questi riavvii possono causare interruzioni del servizio per il sistema, in genere verrà richiesto ad ogni aggiornamento l'elenco dei servizi che si desidera riavviare. È possibile scegliere questa opzione per evitare di essere richiesto; invece, tutti i riavvi necessari verranno eseguiti automaticamente in modo da evitare che vengano poste domande su ogni aggiornamento della libreria.

****MODIFICARE ****

Grazie alla risposta di Patrick e a questa domanda l'ho risolto. Ora il mio Vagrantfile contiene:

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

Stavo suggerendo di usare -yma sembra che non cambi molto. vediman apt-get | less +/--force-yes
Valentin Bajrami il

Ho provato anche quell'opzione, ma non ha funzionato neanche.
OrangeTux,

Risposte:


28

Imposta la variabile d'ambiente DEBIAN_FRONTEND=noninteractive.

Per esempio:

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

Questo renderà apt-getselezionare le opzioni predefinite.


2
In questo caso non funziona.
Nigel Horne,

2
Si prega di specificare quale sia "questo caso". L'autore della domanda ha selezionato questa risposta come corretta. Se la risposta non funziona per te, ti consiglio di porre una nuova domanda e assicurarti di chiarire in che modo il tuo caso è diverso e che questo non funziona per te.
Patrick,

1
Neanche per me ha funzionato.
Felipe,

L'opzione predefinita è il riavvio del servizio o il riavvio del servizio?
Nicholi,

non ha funzionato neanche per me - export DEBIAN_FRONTEND=noninteractive; sudo apt-get update; sudo apt-get install -y libssl-dev openssl. ubuntu 18
RSHAP il

9

Dovresti essere in grado di farlo utilizzando debconf-set-selections. Dalla pagina man:

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.

Al fine di determinare l'input richiesto a debconf-set-selectionsse sconosciuto, è possibile rispondere manualmente al prompt e quindi ispezionare il database debconf per trovare il valore corretto. Per fare ciò, installare debconf-utils:

sudo apt-get -y install debconf-utils

che fornisce il debconf-get-selectionscomando. Poi:

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

per controllare i valori nel database. Sul mio sistema (Ubuntu, ma Debian dovrebbe essere simile) Non mi viene richiesto quando apt-get install libpq-dev, e ho questa voce:

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

quindi dovresti essere in grado di usare:

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

per impostare l'elenco dei servizi da riavviare durante l'aggiornamento di libssl a 'none'.

Sotto Debian, ci dovrebbero essere maggiori informazioni sui valori validi per questa riga nel questions.datfile sotto /var/lib/cdebconf. Vedi https://www.debian.org/releases/stable/i386/apbs03.html.en per maggiori dettagli.


4

Penso che le risposte esistenti possano essere un po 'vecchie. Di seguito ha funzionato per me di recente.

Per visualizzare le impostazioni per un pacchetto

sudo debconf-show <package-name>

PER ESEMPIO:

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

Per modificare l'impostazione

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

PER ESEMPIO

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

Suggerimento bonus, per impostare questa impostazione per tutti i pacchetti utilizzare '*' al posto del nome del pacchetto.

PER ESEMPIO

echo '* libraries/restart-without-asking boolean true' | sudo debconf-set-selections

La risposta accettata non ha funzionato per me ma l'utilizzo debconf-set-selectionsha funzionato.
Brad
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.