Погуглив некоторые из ошибок debconf, с которыми сталкивается мой скрипт, другие ответы на все вопросы, похоже, имеют одну общую черту - удаленное выполнение через SSH. Похоже, что это также метод Amazon для выполнения сценариев пользовательских данных при подготовке экземпляров.
Эти SSH-соединения, по-видимому, не имеют доступа к определенным переменным среды или данным конфигурации по умолчанию, поэтому их явная настройка помогает уменьшить количество ошибок. Установка DEBCONF_FRONTEND=noninteractive
переменной среды, как предлагается здесь и для других вопросов, не помогает в этом конкретном случае.
Я смог установить кодировку по умолчанию (из-за которой мой скрипт зависал) для пакета установки консоли, используя debconf-set-selections
обновление базы данных конфигурации перед первым вызовом apt-get
. Он принимает файл в качестве аргумента, поэтому строку конфигурации можно записать во временный файл и впоследствии удалить:
echo "console-setup console-setup/charmap47 select UTF-8" > encoding.conf debconf-set-selections encoding.conf rm encoding.conf apt-get update && apt-get upgrade -y
Кроме того, я смог подавить многие предупреждения debconf, добавив export TERM=xterm
в начало сценария.