Estoy tratando de construir un Playbook Ansible para implementar algunos servidores Ubuntu 12.04 en Linode, pero mi problema parece ser uno de Ubuntu. Cuando ejecuto diferentes combinaciones de apt-get o aptitude siempre obtengo el siguiente cuadro de diálogo al que tengo que responder.
Me gustaría que esto se responda desde la línea de comandos para que no interrumpa la implementación automática. ¿Algunas ideas?
Mis comandos actuales están a continuación. Tenga en cuenta que estoy tratando de configurar 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
.Te perdiste
-q
. Tratar:fuente
Creo que deberías considerar hacer una base de datos debconf para automatizar todo el proceso. Este es un proceso no intuitivo y requiere mucho trabajo, como reempaquetar sus propios archivos deb, para que funcione y se llama "preselección debconf" .
Hay varios ejemplos en el wiki de Debian sobre cómo hacer esto:
Dependiendo del tiempo y las circunstancias, seleccionará uno (por eso no entre en detalles). Tome uno que parezca útil y manténgalo hasta el final.
Si tiene problemas, haga otra pregunta que detalle lo que está tratando de hacer y cómo planea hacerlo.
fuente
Corrección / ajuste menor a la respuesta basada en Ansible de @ lorin-hochstein para instalar de forma no interactiva iptables-persistent en el que la tarea requiere que sudo-privilges se ejecute correctamente (se agregó la
become: yes
línea):## 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
fuente
Si construye una imagen Docker:
fuente