Apt-get / yetkinliğinin kurulum sırasında diyalog göstermesini nasıl önleyebilirim?


28

Linode'da bazı Ubuntu 12.04 sunucularını yerleştirmek için bir Ansible Playbook oluşturmaya çalışıyorum, ancak benim sorunum Ubuntu gibi görünüyor. Apt-get veya yetenek farklı kombinasyonları çalıştırdığımda, her zaman yanıt vermem gereken aşağıdaki iletişim kutusunu görüyorum.

Paket yapılandırma iletişim kutusu

Bunun otomatik dağıtımı kesmemesi için komut satırından yanıtlanmasını istiyorum. Herhangi bir fikir?

Geçerli komutlarım aşağıda. DEBIAN_FRONTEND ayarlamaya çalıştığımı unutmayın:

#!/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

Yanıtlar:


34

debconf-set-selectionsPaketi kurmadan önce değeri ayarlamayı deneyin :

echo iptables-persistent iptables-persistent/autosave_v4 boolean true | sudo debconf-set-selections
echo iptables-persistent iptables-persistent/autosave_v6 boolean true | sudo debconf-set-selections

Veya, cevaplanabilir

- name: prevent the iptables-peristent install dialog
  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

@Braiam Ben sudo ekledim
Lorin Hochstein

Siz de iptables-kalıcı olarak eklemek isteyebilirsiniz iptables-persistent/autosave_v4 boolean true.
Braiam

@Braiam Eklendi v4
Lorin Hochstein

0

Iskaladın -q. Deneyin:

sudo DEBIAN_FRONTEND=noninteractive aptitude install -y -q iptables-persistent

1
Yani 12.04 tarihinde iş vermedi :( Ben paket sadece ortam değişkeni yok sayar merak yüzden zaten, diğer hata düzeltmeyi yapmak zorundayız.
Brian Lyttle

1
Bunu göndermeden önce bir 12.04-masaüstü vm'de test ettim. Yani belki 12.04-sunucunuzla ilgili olabilir?
Germar

Debian aynı mesajı gösteriyor ...
Braiam

0

Tüm süreci otomatikleştirmek için bir debconf veritabanı yapmayı düşünmelisiniz bence. Bu sezgisel olmayan bir süreçtir ve çalışmasını sağlamak için kendi deb dosyalarınızı yeniden paketlemek gibi çok fazla iş gerektirir ve buna "debconf preseeding" denir .

Debian wiki'de bunun nasıl yapılacağına ilişkin birkaç örnek var :

Zamana ve koşullara bağlı olarak bir tane seçersiniz (bu yüzden ayrıntılara girmedim). Yararlı görünen birini alın ve sonuna kadar devam edin.

Sorun yaşarsanız, ne yapmaya çalıştığınızı ve nasıl yapmayı planladığınızı anlatan başka bir soru sorun.


0

@ Lorin-hochstein'ın küçük düzeltmeler / düzeltmeleri, görevin sudo ayrıcalıklarının başarılı bir şekilde çalışmasını gerektiren etkileşimli olarak iptables-persentent yüklemesini yapmasına yönelik Ansible tabanlı cevap become: yes: ## 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


0

Bir Docker resmi oluşturuyorsanız:

RUN echo iptables-persistent iptables-persistent/autosave_v4 boolean true | debconf-set-selections \
  && echo iptables-persistent iptables-persistent/autosave_v6 boolean true | debconf-set-selections
RUN apt-get install -y iptables-persistent
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.