J'essaie de créer un Playbook Ansible pour déployer certains serveurs Ubuntu 12.04 sur Linode, mais mon problème semble être celui d'Ubuntu. Lorsque je lance différentes combinaisons d'apt-get ou d'aptitude, j'obtiens toujours la boîte de dialogue suivante à laquelle je dois répondre.
Je voudrais que cela soit répondu à partir de la ligne de commande afin qu'il n'interrompe pas le déploiement automatique. Des idées?
Mes commandes actuelles sont ci-dessous. Notez que j'essaie de définir 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
.Tu as manqué
-q
. Essayer:la source
Je pense que vous devriez envisager de faire une base de données debconf pour automatiser tout le processus. Ceci est un processus non intuitif et nécessite beaucoup de travail, comme le reconditionnement de vos propres fichiers deb, pour le faire fonctionner et est appelé "préconfiguration debconf" .
Il y a plusieurs exemples dans le wiki Debian sur la façon de procéder:
En fonction du temps et des circonstances, vous en choisirez un (c'est pourquoi je ne suis pas entré dans les détails). Prenez-en un qui vous semble utile et respectez-le jusqu'à la fin.
Si vous rencontrez des problèmes, posez une autre question détaillant ce que vous essayez de faire et comment vous prévoyez de le faire.
la source
Correction / ajustement mineur de la réponse basée sur Ansible de @ lorin-hochstein pour installer de manière non interactive iptables-persistent dans lequel la tâche nécessite les privilèges sudo pour fonctionner correctement (a ajouté la
become: yes
ligne):## 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
la source
Si vous créez une image Docker:
la source