Zautomatyzuj instalację Postfiksa na Ubuntu

65

Mój skrypt konfiguracji systemu wykonuje „apt-get install -y postfix”. Niestety skrypt zostaje zatrzymany, gdy instalator Postfiksa wyświetli ekran konfiguracji. Czy istnieje metoda wymuszenia, aby postfix używał wartości domyślnych podczas instalacji, aby skrypt automatyczny mógł kontynuować do końca?

Czy instalator postfiksa może sprawdzać istniejącą konfigurację w / etc / postfix, a jeśli istnieje, nie przeszkadza użytkownikowi ekranem konfiguracji?

sutch
źródło

Odpowiedzi:

83

Możesz użyć do tego wstępnego seedowania, używając debconf-set-selectionspolecenia, aby wstępnie odpowiedzieć na pytania zadane przez debconf przed zainstalowaniem pakietu.

Na przykład:

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
Inkaphink
źródło
Jakie są dostępne opcje main_mailer_type? Czy istnieje gdzieś lista, do której można się odwoływać bez konieczności jej pierwszego uruchomienia interaktywnie?
beporter
2
beporter, widocznie: No configuration, Internet site, Internet with smarthost, Satellite system, Local onlyjednak wydaje się, że strony internetowe są zwykle najlepszym wyborem dla większości ludzi: bugs.debian.org/cgi-bin/bugreport.cgi?bug=450787
willbradley
1
Czy ktoś może wyjaśnić, w jaki sposób możemy uzyskać ten ciąg dla innych pakietów? (kerberos w moim przypadku): „postfix postfix / mailname string your.hostname.com” Mam na myśli, co to jest pierwszy „postfix”, a drugi „postfix /”, a następnie „mailfirm”, itd.… gdzie można otrzymuję te ciągi dla mojej paczki?
Mohammed Noureldin
Wiem, że pytanie dotyczy Ubuntu, ale potrzebuję tego dla Amazon Linux (AWS), który jest pochodną RHEL ... Ktoś?
TheStoryCoder
@MohammedNoureldin Patrząc man debconf-set-selections, widzę, że istnieje również zrzut , debconf-get-selectionsktóry wybór został dokonany w bieżącym systemie, w formacie użytym tutaj do wprowadzania danych. Możesz ręcznie skonfigurować jeden system, a następnie po prostu go uruchomić, aby zobaczyć, czego użyć do Kerberos.
morganwahl
25

Jeśli chcesz tego globalnie:

dpkg-reconfigure debconf

Następnie skonfiguruj go, aby był „ nieinteraktywny

Jeśli chcesz go tylko do pojedynczej instalacji:

DEBIAN_FRONTEND=noninteractive apt-get install PACKAGE
David Rickman
źródło
2
Możesz również zrobić to, export DEBIAN_FRONTEND=noninteractiveaby ustawić go globalnie w sposób nienadzorowany.
Mahn
Okazało się, że działało to dobrze na Ubuntu 14.04 w przypadku domyślnej konfiguracji „dostarcz do lokalnego / var / mail”, podczas gdy debconf-set-selectionspowyższa odpowiedź nie.
RichVel