No MTA
Summary
Don't ship a MTA by default for the desktop.
Owner
- Name: Adam Miller
- email: maxamillion [AT] gmail.com
Current status
- Targeted release: Fedora 13
- Last updated: 2009-08-27
- Percentage of completion: 0%
Working:
- Everything as designed
TODO:
- Verify there are no packages that will require a patch to function without a MTA
Detailed Description
The shipping of a default MTA has long been the de facto standard, but for the vast majority of users this is simply wasted resources and wasted disk space for the packages installed. Without an MTA the utilities that would have previously delivered local mail will just simply silently not deliver mail. Instead we can redirect the output to a log and those users who need a MTA are free to install any one they so choose.
Benefit to Fedora
Less used disk space for default install, less used resources, stopping of the MTA madness.
Scope
MTAs are not a necessary daemon on a desktop system, so we need not include one by default.
cronie
is the only package in a default Fedora install that requests the use of an MTA. If /usr/sbin/sendmail
is not present, it will simply stop sending mail. Therefore, if the existing cron jobs are modified so they don't need to send mail, we can remove the requirement for an MTA with no loss of functionality.
All cron jobs launched by files in /etc/cron.{hourly,daily,weekly,monthly}
are run through the /usr/bin/run-parts
script[1]. Therefore we can fix all these cron jobs by modifying run-parts
to send stdout to syslog.
The remaining cron jobs are launched by placing a file in /etc/cron.d/
. These cron jobs will have to be examined and modified individually.
Required changes:
- Modify
run-parts
to send stdout to syslog (/var/log/cron
)- Add something like:
| logger -p cron.notice -t "$(basename $i)"
- Add something like:
- Change any
/etc/cron.d/
cron job that emits output to send its output to syslog or a log file - Remove
Requires: /usr/sbin/sendmail
fromcronie
's spec file
Packages that may require changes:
cronie
- RHBZ 472710crontabs
- Any package that places files in
/etc/cron.d
(seerepoquery --source -qf '/etc/cron.d/*'
)
How To Test
Uninstall sendmail on your current machine and enjoy the "no warning messages, no crashing, just blissful MTA-free silence" - wwoods
User Experience
Transparent to majority of users, will add a 'yum install <insert-MTA-here>' step to advanced users who have an actual use case for a MTA on their machines.
Dependencies
none
Contingency Plan
Do Nothing.
Documentation
- None
Release Notes
- None
Comments and Discussion
- ↑ You can verify this by tracing how the jobs are launched -
/etc/cron.d/0hourly
runs the jobs in/etc/cron.hourly
and/etc/anacrontab
launches the daily/weekly/monthly jobs.