Як запобігти підказці, яка вимагає перезапустити служби під час встановлення libpq-dev


29

Я хочу встановити libpq-devна свою машину Vagrant. Я встановлюю його

$ apt-get install -y libpq-dev

Під час встановлення з'являється запит, який запитує, чи дозволяється автоматично перезапускати деякі служби. Це підказка порушує моє положення про Vagrant. Як можна відключити це запит?

підказка

Текст:

У вашій системі встановлені служби, які потрібно перезапустити після оновлення певних бібліотек, таких як libpam, libc і libssl. Оскільки ці перезавантаження можуть спричинити перебої в обслуговуванні системи, вам зазвичай буде запропоновано під час кожного оновлення списку служб, які ви хочете перезапустити. Ви можете вибрати цей варіант, щоб уникнути запиту; натомість усі необхідні перезавантаження будуть виконані для вас автоматично, щоб уникнути запитань щодо кожного оновлення бібліотеки.

**** EDIT ****

Завдяки відповіді Патріка і на це питання я його виправив. Тепер мій Vagrantfile містить:

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

Я пропонував використовувати, -yале, здається, це не дуже зміниться. дивітьсяman apt-get | less +/--force-yes
Валентин Байрамі

Я теж спробував цю опцію, але це теж не вийшло.
OrangeTux

Відповіді:


28

Встановити змінну середовища DEBIAN_FRONTEND=noninteractive.

Наприклад:

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

Це дозволить apt-getвибрати параметри за замовчуванням.


2
У цьому випадку не працює.
Найджел Хорн

2
Вкажіть, будь ласка, що таке "ця справа". Автор питання вибрав цю відповідь правильною. Якщо відповідь не працює для вас, рекомендую вам задати нове запитання та обов’язково уточнити, чим відрізняється ваша справа, і що це не працює для вас.
Патрік

1
Це не працювало і для мене.
Феліпе

Чи є опцією за замовчуванням перезапуск послуги чи не перезапуск послуги?
Ніколі

не працював і для мене export DEBIAN_FRONTEND=noninteractive; sudo apt-get update; sudo apt-get install -y libssl-dev openssl. ubuntu 18
RSHAP

9

Ви повинні мати можливість цього досягти, використовуючи debconf-set-selections. На чоловіковій сторінці:

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.

Для того, щоб визначити необхідний вхід, debconf-set-selectionsякщо він невідомий, ви можете відповісти на запит вручну, а потім оглянути базу даних debconf, щоб знайти правильне значення. Для цього встановіть debconf-utils:

sudo apt-get -y install debconf-utils

яка забезпечує debconf-get-selectionsкоманду. Потім:

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

перевірити значення в базі даних. У моїй системі (Ubuntu, але Debian має бути схожим) Мене не запитують, коли я apt-get install libpq-dev, і у мене є цей запис:

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

тож ви повинні мати можливість використовувати:

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

встановити список служб для перезавантаження при оновленні libssl до "none".

У Debian слід містити більше інформації про дійсні значення для цього рядка у questions.datфайлі під /var/lib/cdebconf. Дивіться https://www.debian.org/releases/stable/i386/apbs03.html.en для отримання більш детальної інформації.


4

Я думаю, що існуючі відповіді можуть бути трохи застарілими. Наступне працювало для мене нещодавно.

Щоб побачити настройки для пакета

sudo debconf-show <package-name>

EG:

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

Щоб змінити налаштування

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

EG

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

Підказка про бонус, щоб встановити цей параметр для всіх пакунків, використовуючи «*» замість назви пакета.

EG

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

Прийнята відповідь не працювала для мене, але за допомогою використання debconf-set-selections.
bradj
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.