Saya mencoba membuat Ansible Playbook untuk menggunakan beberapa server Ubuntu 12.04 di Linode, tetapi masalah saya sepertinya adalah masalah Ubuntu. Ketika saya menjalankan kombinasi apt-get atau aptitude yang berbeda, saya selalu mendapatkan dialog berikut yang harus saya tanggapi.
Saya ingin ini dijawab dari baris perintah sehingga tidak mengganggu penyebaran otomatis. Ada ide?
Perintah saya saat ini di bawah. Perhatikan bahwa saya mencoba menyetel 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
juga.Kamu melewatkan
-q
. Mencoba:sumber
Saya pikir Anda harus mempertimbangkan untuk melakukan database debconf untuk mengotomatisasi semua proses. Ini adalah proses yang tidak intuitif dan membutuhkan banyak pekerjaan, seperti mengemas ulang file deb Anda sendiri, untuk membuatnya berfungsi dan disebut "debconf preseeding" .
Ada beberapa contoh di wiki Debian tentang cara melakukan ini:
Tergantung pada waktu dan keadaan Anda akan memilih satu (itu sebabnya saya tidak masuk ke rincian). Ambil satu yang tampaknya berguna, dan tetap gunakan sampai akhir.
Jika Anda mengalami masalah, tanyakan pertanyaan lain yang merinci apa yang Anda coba lakukan, dan bagaimana Anda berencana melakukannya.
sumber
Perbaikan / penyesuaian minor ke @ lorin-hochstein Jawaban berbasis-mungkin untuk menginstal iptables-persisten yang tidak interaktif di mana tugas membutuhkan hak akses sudo agar berhasil (menambahkan
become: yes
baris):## 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
sumber
Jika membangun gambar Docker:
sumber