Ich versuche, ein Ansible Playbook zu erstellen, um einige Ubuntu 12.04-Server unter Linode bereitzustellen, aber mein Problem scheint ein Ubuntu-Problem zu sein. Wenn ich verschiedene Kombinationen von apt-get oder aptitude ausführe, wird immer der folgende Dialog angezeigt, auf den ich reagieren muss.
Ich möchte, dass dies über die Befehlszeile beantwortet wird, damit die automatische Bereitstellung nicht unterbrochen wird. Irgendwelche Ideen?
Meine aktuellen Befehle sind unten. Beachten Sie, dass ich versuche, DEBIAN_FRONTEND festzulegen:
#!/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
.Du hast es verpasst
-q
. Versuchen:quelle
Ich denke, Sie sollten darüber nachdenken, eine Debconf-Datenbank zu erstellen, um den gesamten Prozess zu automatisieren. Dies ist ein nicht intuitiver Prozess und erfordert viel Arbeit, wie das Umpacken Ihrer eigenen Deb-Dateien, um ihn zum Laufen zu bringen .
Es gibt verschiedene Beispiele im Debian-Wiki wie das geht:
Abhängig von der Zeit und den Umständen werden Sie eine auswählen (weshalb ich nicht auf Details eingegangen bin). Nehmen Sie eine, die nützlich erscheint, und bleiben Sie bis zum Ende dabei.
Wenn Sie auf Probleme stoßen, stellen Sie eine weitere Frage, die genau beschreibt, was Sie versuchen und wie Sie dies planen.
quelle
Kleinere Korrekturen / Anpassungen an @ lorin-hochsteins Ansible-basierter Antwort auf die nicht interaktive Installation von iptables-persistent, bei der die Aufgabe erfordert, dass die sudo-Berechtigungen erfolgreich ausgeführt werden (
become: yes
Zeile hinzugefügt ):## 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
quelle
Wenn Sie ein Docker-Image erstellen:
quelle