Jak zapobiec wyświetlaniu monitu o ponowne uruchomienie usług podczas instalowania libpq-dev

29

Chcę zainstalować libpq-devna mojej maszynie Vagrant. Instaluję to za pomocą

$ apt-get install -y libpq-dev

Podczas instalacji pojawia się monit z pytaniem, czy wolno automatycznie zrestartować niektóre usługi. Ten monit przerywa moją Vagrant. Jak wyłączyć ten monit?

skłonić

Tekst:

W systemie są zainstalowane usługi, które należy zrestartować po aktualizacji niektórych bibliotek, takich jak libpam, libc i libssl. Ponowne uruchomienie może spowodować przerwy w działaniu systemu, więc przy każdej aktualizacji zwykle pojawia się monit o listę usług, które chcesz zrestartować. Możesz wybrać tę opcję, aby uniknąć wyświetlania monitu; zamiast tego wszystkie niezbędne ponowne uruchomienia zostaną wykonane automatycznie, dzięki czemu można uniknąć zadawania pytań na temat każdej aktualizacji biblioteki.

****EDYTOWAĆ ****

Dzięki odpowiedzi Patryka i temu pytaniu to naprawiłem. Teraz mój plik Vagrantfile zawiera:

 sudo DEBIAN_FRONTEND=noninteractive apt-get install -y libpq-dev
OrangeTux
źródło
Sugerowałem użyć, -yale wydaje się, że niewiele się to zmienia. patrzman apt-get | less +/--force-yes
Valentin Bajrami
Próbowałem też tej opcji, ale to też nie zadziałało.
OrangeTux,

Odpowiedzi:

28

Ustaw zmienną środowiskową DEBIAN_FRONTEND=noninteractive.

Na przykład:

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

Spowoduje to, że apt-getwybierz opcje domyślne.

Patrick
źródło
2
W tym przypadku nie działa.
Nigel Horne
2
Podaj, co to jest „ta sprawa”. Autor pytania wybrał tę odpowiedź jako poprawną. Jeśli odpowiedź Ci nie odpowiada, radzę zadać nowe pytanie i wyjaśnić, czym różni się Twoja sprawa, i że to nie działa.
Patrick
1
Dla mnie też to nie działało.
Felipe
Czy jest domyślną opcją ponownego uruchomienia usługi, czy też nie?
Nicholi
też nie działało dla mnie export DEBIAN_FRONTEND=noninteractive; sudo apt-get update; sudo apt-get install -y libssl-dev openssl. ubuntu 18
RSHAP
9

Powinieneś być w stanie to osiągnąć za pomocą debconf-set-selections. Ze strony podręcznika:

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.

Aby określić wymagane dane wejściowe, debconf-set-selectionsjeśli nie są znane, możesz ręcznie odpowiedzieć na monit, a następnie sprawdzić bazę danych debconf, aby znaleźć poprawną wartość. Aby to zrobić, zainstaluj debconf-utils:

sudo apt-get -y install debconf-utils

który zapewnia debconf-get-selectionspolecenie. Następnie:

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

aby sprawdzić wartości w bazie danych. W moim systemie (Ubuntu, ale Debian powinien być podobny) nie pojawia się monit przy apt-get install libpq-dev i mam następujący wpis:

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

więc powinieneś być w stanie użyć:

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

ustawić listę usług do zrestartowania podczas aktualizacji libssl do „none”.

W obszarze Debian powinno być więcej informacji o prawidłowych wartościach tego wiersza w questions.datpliku pod /var/lib/cdebconf. Więcej informacji na stronie https://www.debian.org/releases/stable/i386/apbs03.html.en .

mvermaes
źródło
4

Myślę, że istniejące odpowiedzi mogą być nieco stare. Poniższe działało dla mnie ostatnio.

Aby zobaczyć ustawienia pakietu

sudo debconf-show <package-name>

NA PRZYKŁAD:

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

Aby zmienić ustawienie

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

NA PRZYKŁAD

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

Dodatkowa wskazówka, aby ustawić to ustawienie dla wszystkich pakietów, użyj „*” zamiast nazwy pakietu.

NA PRZYKŁAD

echo '* libraries/restart-without-asking boolean true' | sudo debconf-set-selections
PiersyP
źródło
Przyjęta odpowiedź nie działała dla mnie, ale używanie działało debconf-set-selections.
bradj