Automatiser l'installation de postfix sur Ubuntu

65

Le script de configuration de mon système effectue un "apt-get install -y postfix". Malheureusement, le script est arrêté lorsque le programme d'installation de Postfix affiche un écran de configuration. Existe-t-il une méthode pour forcer postfix à utiliser les valeurs par défaut lors de l'installation de sorte qu'un script automatisé puisse continuer jusqu'à la fin?

Le programme d’installation postfix vérifie-t-il la configuration existante dans / etc / postfix, et si elle existe, ne dérange pas l’utilisateur avec l’écran de configuration?

briser
la source

Réponses:

83

Vous pouvez utiliser le pré-amorçage pour cela, en utilisant la debconf-set-selectionscommande pour pré-répondre aux questions posées par debconf avant d'installer le paquet.

Par exemple:

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
la source
Quelles sont les options disponibles pour main_mailer_type? Existe-t-il une liste à référencer quelque part sans avoir à l'exécuter de manière interactive une première fois?
beporter
2
beporter, apparemment: No configuration, Internet site, Internet with smarthost, Satellite system, Local onlymais il semble que le site Internet est généralement le meilleur choix pour la plupart des gens: bugs.debian.org/cgi-bin/bugreport.cgi?bug=450787
willbradley
1
Quelqu'un pourrait-il expliquer comment obtenir cette chaîne pour d'autres packages? (Kerberos dans mon cas): "postfix postfix / mailname string your.hostname.com" Je veux dire, quel est le premier "postfix", et le second "postfix /" et ensuite "mailname", etc ... où peut je reçois ces ficelles pour mon colis?
Mohammed Noureldin
Je sais que la question concerne Ubuntu, mais j'en ai besoin pour Amazon Linux (AWS), qui est une émanation de RHEL ... Quelqu'un?
TheStoryCoder
@MohammedNoureldin En regardant man debconf-set-selections, je vois aussi debconf-get-selectionsquels vidages ont été effectués sur le système actuel, dans le format utilisé pour la saisie. Vous pouvez configurer manuellement un système, puis l'exécuter pour voir ce qu'il faut utiliser pour Kerberos.
Morganwahl
25

Si vous voulez ceci globalement:

dpkg-reconfigure debconf

Puis configurez-le pour qu'il soit " non interactif "

Si vous ne le souhaitez que pour une installation unique:

DEBIAN_FRONTEND=noninteractive apt-get install PACKAGE
David Rickman
la source
2
Vous pouvez également le faire export DEBIAN_FRONTEND=noninteractivede manière globale, sans surveillance.
Mahn
J'ai trouvé que cela fonctionnait bien sur Ubuntu 14.04 pour une configuration par défaut "livrer au / var / mail", alors que la debconf-set-selectionsréponse ci-dessus ne fonctionnait pas.
RichVel