Automatizar la instalación de postfix en Ubuntu

65

El script de configuración de mi sistema hace un "apt-get install -y postfix". Lamentablemente, el script se detiene cuando el instalador de postfix muestra una pantalla de configuración. ¿Existe algún método para obligar a postfix a usar los valores predeterminados durante la instalación para que un script automatizado pueda continuar hasta el final?

¿El instalador de postfix puede verificar la configuración existente en / etc / postfix y, si existe, no molestar al usuario con la pantalla de configuración?

sutch
fuente

Respuestas:

83

Puede utilizar la inicialización previa para esto, utilizando el debconf-set-selectionscomando para responder previamente a las preguntas formuladas por debconf antes de instalar el paquete.

Por ejemplo:

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
Phaphink
fuente
¿Para qué son las opciones disponibles main_mailer_type? ¿Hay una lista para hacer referencia en alguna parte sin tener que ejecutarla interactivamente una vez primero?
beporter
2
beporter, al parecer: No configuration, Internet site, Internet with smarthost, Satellite system, Local onlysin embargo, parece como Sitio de Internet es generalmente la mejor opción para la mayoría de la gente: bugs.debian.org/cgi-bin/bugreport.cgi?bug=450787
willbradley
1
¿Podría algún cuerpo explicar cómo podemos obtener esta cadena para otros paquetes? (Kerberos en mi caso): "postfix postfix / mailname string your.hostname.com" Quiero decir, ¿cuál es el primer "postfix", y el segundo "postfix /" y luego "mailname", etc ... donde puede ¿Tengo esas cadenas para mi paquete?
Mohammed Noureldin el
Sé que la pregunta es sobre Ubuntu, pero necesito esto para Amazon Linux (AWS), que es una rama de RHEL ... ¿Alguien?
TheStoryCoder
@MohammedNoureldin Mirando man debconf-set-selections, veo que también hay debconf-get-selectionsque volcar qué selecciones se han realizado en el sistema actual, en el formato utilizado para la entrada aquí. Puede configurar manualmente un sistema y luego ejecutarlo para ver qué usar para kerberos.
Morgangan
25

Si quieres esto a nivel mundial:

dpkg-reconfigure debconf

Luego configúrelo para que sea " no interactivo "

Si solo lo desea para una sola instalación, ejecute:

DEBIAN_FRONTEND=noninteractive apt-get install PACKAGE
David Rickman
fuente
2
También podría hacerlo export DEBIAN_FRONTEND=noninteractivepara configurarlo globalmente de forma desatendida.
Mahn
Encontré que esto funcionó bien en Ubuntu 14.04 para una configuración predeterminada de 'entregar a local / var / mail', mientras que la debconf-set-selectionsrespuesta anterior no.
RichVel