Любой пакет 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
Источники
person
jpaugh
schedule
12.08.2016