Неинтерактивная подача ответов на вопросы по установке пакета?

Я использую определенное программное обеспечение ( Asterisk ), которое включает в свое исходное дерево изящный маленький скрипт для автоматически загружать и устанавливать все необходимые пакеты из репозиториев вашего дистрибутива, включая, конечно, Ubuntu. Одно из этих предварительных условий ( libvpb1 ) требует некоторой информации (телефонный префикс страны по умолчанию), поэтому сценарий становится не таким автоматическим:

Installing libvpb1

Безобидно иметь эту библиотеку, установленную в системе, которая не t запустить телефонию, так что вы можете протестировать ее самостоятельно.

Мой вопрос: как я могу заранее передать ответ неинтерактивно, чтобы apt-get install (или, скорее, dpkg -i) захватил его и использовал как будто он был напечатан на этом экране ncurses?

Было бы лучше общее решение, например, как мне узнать, требует ли какой-либо пакет подобная информация, и как установить ее из скрипта?

0
задан 24 October 2020 в 00:42

1 ответ

На вопрос, указанный в комментарии пользователя @user535733, был ответ; Я попытаюсь обобщить процедуру здесь.

Во-первых, установите пакет в интерактивном режиме и введите нужные значения;

Во-вторых, запустите это:

root@myhost:~# PACKAGE_NAME=libvpb1
root@myhost:~# debconf-get-selections | grep "^${PACKAGE_NAME}[[:blank:]]"
libvpb1 libvpb1/countrycode     string  55
root@myhost:~#

В следующий раз, когда вам нужно будет установить пакет, просто передайте его вывод в debconf-get- selections заранее:

root@myhost:~# echo 'libvpb1 libvpb1/countrycode string 55' | sudo debconf-set-selections -v
root@myhost:~# apt-get -y install libvpb1

В Ubuntu 20.04 debconf-get-selections находится в пакете debconf-utils.

2
ответ дан 24 October 2020 в 14:55

Другие вопросы по тегам:

Похожие вопросы: