Automatisieren Sie die Installation von Postfix unter Ubuntu

65

Mein Systemkonfigurationsskript führt ein "apt-get install -y postfix" aus. Leider wird das Skript angehalten, wenn das Postfix-Installationsprogramm einen Konfigurationsbildschirm anzeigt. Gibt es eine Methode, um Postfix zu zwingen, die Standardeinstellungen während der Installation zu verwenden, damit ein automatisiertes Skript bis zum Ende fortgesetzt werden kann?

Prüft das Postfix-Installationsprogramm möglicherweise, ob in / etc / postfix eine Konfiguration vorhanden ist, und belästigt es den Benutzer nicht mit dem Konfigurationsbildschirm?

sutch
quelle

Antworten:

83

Hierzu können Sie Pre-Seeding verwenden. Verwenden Sie dazu den debconf-set-selectionsBefehl, um die von debconf gestellten Fragen vor der Installation des Pakets zu beantworten.

Zum Beispiel:

debconf-set-selections <<< "postfix postfix/mailname string your.hostname.com"
debconf-set-selections <<< "postfix postfix/main_mailer_type string 'Internet Site'"
apt-get install -y postfix
ℝaphink
quelle
Was sind die verfügbaren Optionen für main_mailer_type? Gibt es eine Liste, auf die Sie verweisen können, ohne sie zuvor einmal interaktiv ausführen zu müssen?
beporter
2
beporter, offenbar: No configuration, Internet site, Internet with smarthost, Satellite system, Local onlyjedoch scheint es , wie Internet - Site der Regel die beste Wahl für die meisten Menschen ist: bugs.debian.org/cgi-bin/bugreport.cgi?bug=450787
willbradley
1
Könnte jemand erklären, wie wir diesen String für andere Pakete bekommen können? (kerberos in meinem fall): "postfix postfix / mailname string your.hostname.com" ich meine, was ist das erste "postfix" und das zweite "postfix /" und dann "mailname" usw .... wo kann bekomme ich die fäden für mein paket?
Mohammed Noureldin
Ich weiß, dass es sich um Ubuntu handelt, aber ich benötige dies für Amazon Linux (AWS), das ein Ableger von RHEL ist ... Jemand?
TheStoryCoder
@MohammedNoureldin Betrachtet man man debconf-set-selections, sehe ich auch, debconf-get-selectionswelche Dumps welche Auswahlen auf dem aktuellen System getroffen wurden, in dem Format, das für die Eingabe hier verwendet wird. Sie können ein System manuell einrichten und dieses dann ausführen, um festzustellen, was für Kerberos verwendet werden soll.
Morganwahl
25

Wenn Sie dies global wollen:

dpkg-reconfigure debconf

Dann konfigurieren Sie es als " nicht interaktiv "

Wenn Sie es nur einmal installieren möchten, führen Sie Folgendes aus:

DEBIAN_FRONTEND=noninteractive apt-get install PACKAGE
David Rickman
quelle
2
Sie können es auch export DEBIAN_FRONTEND=noninteractiveunbeaufsichtigt global festlegen.
Mahn
Ich fand, dass dies unter Ubuntu 14.04 für ein Standard-Setup für "An lokales / var / mail senden" gut debconf-set-selectionsfunktionierte , während die obige Antwort dies nicht tat.
RichVel