Відповідь swill полягає не в тому, як це правильно робиться. Якщо вам потрібна конфігурація пакетів без нагляду / сценарію dpkg, тоді ви хочете скористатися механізмом попереднього засівання debconf.
У вашому випадку це означає, що вам потрібно зробити наступне:
встановіть такі змінні середовища, щоб уникнути того, що debconf намагається задати користувачеві будь-які питання:
export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true
Потім попередньо завантажте debconf із наступним файлом preseed.txt (або будь-якими іншими налаштуваннями):
tzdata tzdata/Areas select Europe
tzdata tzdata/Zones/Europe select Berlin
ви встановили вищезазначений файл, запустивши:
debconf-set-selections /your/preseed.txt
тепер ви можете або встановити tzdata (якщо він ще не встановлений) через apt
або запустити dpkg-reconfigure
. Зрештою, tzdata буде налаштовано відповідно до того, що ви вказали у своєму попередньо завантаженому файлі 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
. Результат повинен дати вам деяке уявлення про те, яку частину конфігурації системи ви можете автоматизувати за допомогою попереднього засівання debconf.
dpkg-reconfigure
з-f noninteractive
так чи інакше ... (Ubuntu 12.04 LTS тут). В іншому випадку ваші вказівки працювали чудово!