Pesquisando alguns erros do debconf que meu script encontra, outro perguntas respondidas todas parecem ter a mesma coisa em comum - execução remota via SSH. Esse também parece ser o método da Amazon de executar scripts de dados do usuário quando as instâncias são provisionadas.
Essas conexões SSH parecem não ter acesso a determinadas variáveis de ambiente ou dados de configuração padrão, portanto, defini-las explicitamente ajuda a reduzir os erros. A configuração da variável de ambiente DEBCONF_FRONTEND=noninteractive
como sugerida aqui e em outras perguntas não funciona nesse caso específico.
Consegui definir a codificação padrão (que fazia meu script ser interrompido) para o pacote de configuração do console usando debconf-set-selections
para atualizar o banco de dados de configuração antes da primeira chamada para apt-get
. É necessário um arquivo como argumento, para que a linha de configuração possa ser gravada em um arquivo temporário e excluída posteriormente:
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
Além disso, eu consegui suprimir muitos dos avisos do debconf adicionando export TERM=xterm
ao topo do script.