Ответ swill не в том, как это делается правильно. Если вам нужна конфигурация пакетов dpkg без участия пользователя / с помощью сценариев, то вы хотите использовать механизм предварительного заполнения debconf.
В вашем случае это означает, что вы должны сделать следующее:
установите следующие переменные окружения, чтобы debconf не пытался задавать пользователю какие-либо вопросы:
export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true
и затем preseed debconf со следующим файлом preseed.txt (или с любыми другими настройками, которые вы пожелаете):
tzdata tzdata/Areas select Europe
tzdata tzdata/Zones/Europe select Berlin
Вы установили вышеуказанный файл preseed, запустив:
debconf-set-selections /your/preseed.txt
теперь вы можете либо установить tzdata (если он еще не установлен) через apt
, либо запустить dpkg-reconfigure
. В конце концов, tzdata будет настроен в соответствии с тем, что вы указали в файле preseed debconf.
Помните, что вы можете автоматизировать гораздо больше, используя предварительное задание debconf. Например, в моих семенах я всегда устанавливаю:
locales locales/locales_to_be_generated multiselect en_US.UTF-8 UTF-8
locales locales/default_environment_locale select en_US.UTF-8
Вы всегда можете проверить настройки debconf вашей текущей системы, запустив debconf-get-selections
. Вывод должен дать вам некоторое представление о том, какую часть конфигурации системы вы можете автоматизировать с помощью preseeding debconf.