So verhindern Sie die Aufforderung zum Neustart von Diensten bei der Installation von libpq-dev

29

Ich möchte libpq-devauf meinem Vagrant-Computer installieren . Ich installiere es mit

$ apt-get install -y libpq-dev

Während der Installation werden Sie gefragt, ob einige Dienste automatisch neu gestartet werden dürfen. Diese Aufforderung unterbricht meine Vagrant-Bestimmung. Wie kann diese Eingabeaufforderung deaktiviert werden?

Prompt

Text:

Auf Ihrem System sind Dienste installiert, die neu gestartet werden müssen, wenn bestimmte Bibliotheken wie libpam, libc und libssl aktualisiert werden. Da diese Neustarts zu Dienstunterbrechungen für das System führen können, werden Sie normalerweise bei jedem Upgrade aufgefordert, die Liste der neu zu startenden Dienste anzugeben. Sie können diese Option auswählen, um eine Aufforderung zu vermeiden. Stattdessen werden alle erforderlichen Neustarts automatisch für Sie durchgeführt, damit Sie bei jedem Bibliotheksupgrade nicht gefragt werden.

**** EDIT ****

Dank Patricks Antwort und dieser Frage habe ich es behoben. Jetzt enthält meine Vagrantdatei:

 sudo DEBIAN_FRONTEND=noninteractive apt-get install -y libpq-dev
OrangeTux
quelle
Ich habe vorgeschlagen, zu verwenden, -yaber es scheint sich nicht viel zu ändern. sieheman apt-get | less +/--force-yes
Valentin Bajrami
Ich habe diese Option auch ausprobiert, aber das hat auch nicht funktioniert.
OrangeTux

Antworten:

28

Legen Sie die Umgebungsvariable fest DEBIAN_FRONTEND=noninteractive.

Beispielsweise:

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

Dadurch werden apt-getdie Standardoptionen ausgewählt.

Patrick
quelle
2
Funktioniert in diesem Fall nicht.
Nigel Horne
2
Bitte geben Sie an, was "dieser Fall" ist. Der Verfasser der Frage hat diese Antwort als richtig ausgewählt. Wenn die Antwort bei Ihnen nicht funktioniert, empfehle ich Ihnen, eine neue Frage zu stellen und zu klären, wie sich Ihr Fall unterscheidet und dass dies bei Ihnen nicht funktioniert.
Patrick
Es hat auch bei mir nicht funktioniert.
Felipe
Ist die Standardoption zum Neustarten des Dienstes oder nicht den Dienst neu zu starten?
Nicholi
hat auch bei mir nicht funktioniert - export DEBIAN_FRONTEND=noninteractive; sudo apt-get update; sudo apt-get install -y libssl-dev openssl. 18. Ubuntu
RSHAP
9

Sie sollten in der Lage sein, dies mit zu erreichen debconf-set-selections. Von der Manpage:

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.

Um die erforderliche Eingabe zu bestimmen, debconf-set-selectionsfalls diese unbekannt ist, können Sie die Eingabeaufforderung manuell beantworten und anschließend die debconf-Datenbank überprüfen, um den richtigen Wert zu finden. Installieren Sie dazu debconf-utils:

sudo apt-get -y install debconf-utils

welches den debconf-get-selectionsBefehl liefert . Dann:

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

um die Werte in der Datenbank zu überprüfen. Auf meinem System (Ubuntu, aber Debian sollte ähnlich sein) werde ich nicht gefragt, wenn ich libpq-dev apt-get installiere, und ich habe diesen Eintrag:

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

so sollten Sie in der Lage sein zu verwenden:

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

um die Liste der neu zu startenden Dienste festzulegen, wenn libssl auf 'none' aktualisiert wird.

Unter Debian sollten mehr Informationen über gültige Werte für diese Zeile in der questions.datDatei unter sein /var/lib/cdebconf. Weitere Informationen finden Sie unter https://www.debian.org/releases/stable/i386/apbs03.html .

mvermaes
quelle
4

Ich denke, die vorhandenen Antworten könnten ein bisschen alt sein. Folgendes hat kürzlich für mich funktioniert.

Anzeigen der Einstellungen für ein Paket

sudo debconf-show <package-name>

Z.B:

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

Einstellung ändern

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

Z.B

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

Bonus-Tipp, um diese Einstellung für alle Pakete festzulegen, verwenden Sie '*' anstelle des Paketnamens.

Z.B

echo '* libraries/restart-without-asking boolean true' | sudo debconf-set-selections
PiersyP
quelle
Die akzeptierte Antwort hat bei mir nicht funktioniert, hat aber mit debconf-set-selectionsfunktioniert.
Bradj