Automate Postfix installation in Debian and Ubuntu with debconf

Written by - 0 comments

Published on - Listed in Mail Linux LXC

Usually a Postfix installation under a Debian or Ubuntu Linux is followed by an interactive question like this:

apt-get install postfix

Postfix Installation

Nowadays in the age of LXC, this can be annoying, if the LXC template contains the installation of the postfix package.

But this can be automated through the debconf command. I added the following lines into the "configure_debian" section in Debian Wheezy's /usr/share/lxc/templates/lxc-debian template and into the "configure_ubuntu" section in Ubuntu 14.04's /usr/share/lxc/templates/lxc-ubuntu template:

echo "postfix postfix/main_mailer_type select smarthost" | chroot $rootfs debconf-set-selections
echo "postfix postfix/mailname string $hostname.localdomain" | chroot $rootfs debconf-set-selections
echo "postfix postfix/relayhost string smtp.localdomain" | chroot $rootfs debconf-set-selections

This "pre-answers" the questions coming up during the Postfix installation and the postfix installation runs through without asking anything:

apt-get install postfix
Setting up postfix (2.11.0-1) ...
Creating /etc/postfix/
Adding tcp map entry to /etc/postfix/
Adding sqlite map entry to /etc/postfix/
setting myhostname: myhostname
setting alias maps
setting alias database
changing /etc/mailname to myhostname.localdomain
setting myorigin
setting destinations: localhost.localdomain, localhost
setting relayhost: smtp.localdomain
setting mynetworks: [::ffff:]/104 [::1]/128
setting mailbox_size_limit: 0
setting recipient_delimiter: +
setting inet_interfaces: all

By the way, the settings set by "debconf-set-selections" can be verified or manually edited in /var/cache/debconf/config.dat:

cat /var/cache/debconf/config.dat | grep -B 4 seen
Name: postfix/mailname
Template: postfix/mailname
Value: myhostname.localdomain
Owners: postfix
Flags: seen
Name: postfix/main_mailer_type
Template: postfix/main_mailer_type
Value: smarthost
Owners: postfix
Flags: seen
Name: postfix/relayhost
Template: postfix/relayhost
Value: smtp.localdomain
Owners: postfix
Flags: seen

Add a comment

Show form to leave a comment

Comments (newest first)

No comments yet.