Debian – Using an MTA to Solve Dependencies

debiandependenciesmta

It has bothered me for years that with every new Debian installation, a full MTA (Mail Transport Agent) was installed even if I had no desire to use the machine as a mail server. The MTA was necessary to satisfy package dependencies, though. I ended up with exim (which took forever to load during boot on some machines) and others (which seemed to run memory-heavy background stuff that slowed down the entire system). Removing one required installing another…

Best Answer

The solution is a dummy MTA, already provided with Debian Linux. It is called lsb-invalid-mta. Quoting the package description:

Paket: lsb-invalid-mta (4.1+Debian12)

Linux Standard Base sendmail dummy

The Linux Standard Base (http://www.linuxbase.org/) is a standard core system that third-party applications written for Linux can depend upon.

This package contains nothing else than a fake /usr/sbin/sendmail command to fulfill the LSB's requirement of providing this command without requiring an MTA to get installed, which once introduces a daemon which can cause security problems and second, users get asked questions about how they want their MTA configured when in reality they simply wanted to install a desktop application or a printer driver, but the dependency on LSB compliance pulls in an MTA with the installation.

The LSB requirement on /usr/sbin/sendmail comes from old times where Linux and Unix machines had all fixed IPs and did server tasks in data centers. Today's typical desktop Linux machines do not do local e-mail any more as users use external e-mail services.

The /usr/sbin/sendmail always exits with exit status -1 (255) and sends a warning message to stderr, so that if a program actually tries to send e-mail via the sendmail command the user gets note.

Thanks to the dependency resolver within aptitude for suggesting the removal of whatever big MTA and suggesting lsb-invalid-mta.

Related Question