Любой пакет Debian, который использует debconf
для получения значений конфигурации, может быть запущен без присмотра. Хитрость в том, что debconf
сначала будет искать предустановленные ответы на любой конфиг вопрос , который есть у данного пакета.
Предустановочная конфигурация ответов
Просто создайте файл в следующем формате,
# Use one line for each question
package-name question-name question-type answer
package-name question-name question-type really long \
answer here
package-name question-name question-type answer
...
и введите его в систему следующим образом:
$ debconf-set-selections my-selections-file
Теперь вы готовы к apt-get install
, как обычно.
Разовый
Поскольку эта команда также читает из стандартного ввода, вы можете сделать:
$ echo "man-db man-db/auto-update boolean true" | debconf-set-selections
Поиск ответов по умолчанию
Откуда вы знаете, какие пакеты используют эти ответы о конфигурации? Что ж, если вы уже установили данный пакет в интерактивном режиме, вы можете запросить у вашей локальной системы информацию о том, какие значения настроены в данный момент. debconf-get-selections
выводит список всех ответов конфигурации для текущей системы. Например
$ debconf-get-selections | grep '^man'
возвращает в моей системе следующее:
man-db man-db/install-setuid boolean false
man-db man-db/auto-update boolean true
Вам может потребоваться установить пакет debconf-utils
, чтобы сделать эту команду доступной.
Пример
# Preset values to questions which would otherwise be asked while
# installing packages.
# Use debconf-set-selections to install
openssh-server openssh-server/permit-root-login boolean false
man-db man-db/install-setuid boolean false
man-db man-db/auto-update boolean true
Источники