Estou tentando criar um Ansible Playbook para implantar alguns servidores Ubuntu 12.04 no Linode, mas meu problema parece ser o Ubuntu. Quando executo combinações diferentes de apt-get ou aptitude, sempre recebo a seguinte caixa de diálogo à qual tenho que responder.
Gostaria que isso fosse respondido na linha de comando para que não interrompa a implantação automática. Alguma ideia?
Meus comandos atuais estão abaixo. Observe que estou tentando definir DEBIAN_FRONTEND:
#!/bin/bash
echo 'DEBIAN_FRONTEND="noninteractive"' >> /etc/profile
echo 'DEBIAN_FRONTEND="noninteractive"' >> ~/.profile
source /etc/profile
source ~/.profile
# This next line is the one that pops up the dialog
sudo aptitude -y install iptables-persistent
# Need this to fix an issue with the package post-install (this works fine.)
sudo sed \
-i 's/\(modprobe -q ip6\?table_filter\)/\1 || true/g' \
/var/lib/dpkg/info/iptables-persistent.postinst; \
sudo aptitude install iptables-persistent
iptables-persistent/autosave_v4 boolean true
.Você errou
-q
. Experimentar:fonte
Eu acho que você deve considerar fazer um banco de dados debconf para automatizar todo o processo. Este é um processo não intuitivo e requer muito trabalho, como reembalar seus próprios arquivos deb, para fazê-lo funcionar e é chamado de "pré-configuração do debconf" .
Existem vários exemplos no wiki do Debian sobre como fazer isso:
Dependendo do tempo e das circunstâncias, você selecionará um (é por isso que não entrei em detalhes). Pegue uma que pareça útil e fique com ela até o fim.
Se você tiver problemas, faça outra pergunta detalhando o que você está tentando fazer e como planeja fazê-lo.
fonte
Correção / ajuste menor na resposta baseada em Ansible do @ lorin-hochstein para instalar de forma não interativa o iptables-persistent, no qual a tarefa exige que os privilégios sudo sejam executados com êxito (adicionado o
become: yes
linha):## Prevent iptables-persistent pckgs install dialog (debconf-set-selections) - name: prevent the iptables-peristent install dialog become: yes debconf: name=iptables-persistent question={{ item }} vtype=boolean value=true with_items: - iptables-persistent/autosave_v4 - iptables-persistent/autosave_v6 - name: install iptables-persistent apt: name=iptables-persistent
fonte
Se estiver criando uma imagem do Docker:
fonte