Ubuntu or Debian? Which might be better for email?

I have been running postfix and dovecot on a Debian 8 Linode for a few years. Given that Debian 8 is outdated and giving me more and more software problems, I'm thinking of switching these email services to a Linode with a more modern OS.

I run Ubuntu 20.04 at home and Debian 10 on another Linode without email services, and both are performing well, and so I'm thinking of using one of those two OS's on the new Linode. However, I'm wondering if anyone here might have a sense of which of those two might be a better choice for my postfix/dovecot setup.

… or in your folks' experience, would it just be a toss-up between the two?

Or perhaps is there a different OS which you feel might be even better for this postfix/dovecot configuration?

But in the end, if there is no clear, definitive choice for the best OS for this purpose, I might just toss a coin.

Any thoughts?

Thank you very much in advance.

10 Replies

A long time ago, I used to run my email server on Ubuntu, which worked well, even when I upgraded to different releases. I know that Ubuntu is based off Debian in part, and I think that Ubuntu 20.04 may have newer packages than Debian 10, as I believe it was released after Debian 10. If you're looking for more up-to-date software, you might go with Ubuntu 20.04. Both are just as stable as one another, so far as I know, so aside from the software packages and which may be newer, I think it would pretty much be a toss between the two. Those are my thoughts.

Good luck!


Thank you very much for your helpful feedback.

I now think that I will go with Ubuntu 20.04, since it's a bit newer.

@HippoMan --

<opinion flame-war="off">

I run a mail server using postfix(1)/dovecot(1) as well. I switched from Ubuntu (18.04 at the time) to Debian 10 (Buster) for three reasons:

  • IMHO, Mark Shuttleworth is a con artist;

  • there's a lot of "churn" in Ubuntu package components that caused stuff to break after an apt upgrade (I had to use PPAs with unsupported releases for some things for a long time to fix things); and

  • Canonical packages spy-/adware with Ubuntu.

Wrt the third point, even if you don't use the GUI, Ubuntu phones home about different things that your system is doing for the benefit of their marketing efforts. They put ads that you can't remove in the "message of the day" that's displayed when you log in.

See: https://www.fsf.org/blogs/rms/ubuntu-spyware-what-to-do

Now, you can take EVERYTHING Richard Stallman says with about two tons of salt and it still wouldn't be enough…that's up to you. For the record, I don't trust him implicitly either. However on this point, he's correct because I've seen/found what he reports in the above citation myself.

I don't have any stake in which you choose. I'm not a Debian contributor or have any relationship with the product. Ditto for Ubuntu. I'm only relaying my experiences with Ubuntu as a user from 10.04 - 18.04.

As for running my mail server, Debian is solid as a rock. Things work the way you'd expect them to. It's actively developed and there's no spy-/adware to turn off or remove. Sure, the kernel used in Debian may not be the latest/greatest Captain-Billy-WhizBang version but, in a virtual private server environment, you never need the latest drivers for graphics cards, USB-C ports, network interfaces, etc. That's about 80% of what's in a typical new release of the Linux kernel. You just need stuff that works…and doesn't phone home with usage information for marketers that's none of their business.


-- sw

P.S. My preference would be to use FreeBSD… IMHO, *BSD are light-years ahead of Linux in terms of engineering, security, reliability, supportability and maintainability…and none of them are subject to Linus's temper tantrums. I use NetBSD on my home server (a 32-bit, 8-core ARMv7hf SBC). *BSD run on Linode VPSs…quite well as a matter of fact…but they're not supported by Lassie or backups. Also, FWIW, I hate systemd(1) (it's an overly-complex solution in search of a problem)!

Those are all good points, @stevewi, and now I'm thinking differently about this issue.

A few months ago I installed Ubuntu 20.04 on my home machine, and I indeed notice the "churn" and the need for more PPA's.

Years ago I ran a machine with FreeBSD and I was very happy with it. Unfortunately, it's not available as a "standard" Linode installation option, and I prefer to rely on Lassie due to time constraints in my life.

I have to admit that I haven't paid much attention to Mark Shuttleworth, and so I took some time to read about him after seeing your reference to him. I don't know enough to comment one way or the other about his having or not having con-artist characteristics, however I do not like Canonical, which I now realize that he founded.

I do not like the philosophy behind snap packages, and they definitely contribute to the churn we are discussing. Given that snaps are the offspring of Canonical, this is enough of a reason for me to want to stay away from another one Canonical's progeny: Ubuntu.

So now, I'm leaning towards Debian 10.

Thank you for all of your feedback!

PS: w/r/t systemd: I simply installed s6 and use it for everything I can.

@HippoMan --

Glad to be able to help! snaps are indeed an Ubuntu-only creation. If you get dependent on them, you get dependent on Ubuntu…no going back or to anything else (without major compromise). Mint appears to be the only other distro that's adopted snaps (with no guarantee that they work the same way…or even work at all).

RE: systemd(1)

I use it too…because I'm forced to. Such is life… I've even fixed a few bugs in some of the components (related to hasty/sloppy conversion from init(8) to systemd(8) ). I've written a couple of systemd(8) components as well. Again, IMHO, systemd(8) is a very complex solution in search of a problem. Maybe I'm old fashioned but I have yet to run across a scenario that systemd(8) solves that couldn't be creatively solved with init(8) in Unix System 7 (circa mid 1970s).

I'm ever hopeful that Linode will offer FreeBSD as a supported image…like Digital Ocean does ( See: https://www.digitalocean.com/community/tutorials/how-to-get-started-with-freebsd ). I would switch in a New York minute!

Hint, hint Linode!

-- sw

Agreed on what you wrote.

I use systemd when I have to, but I actually have been using "s6" as a replacement for a few years, and I'm very happy with it:

Another reason I hate "snap" is because it forces applications to run in a sandbox, and that cripples some of them. For example, I have been using "chromium" to provide some in-house admin tools via "file://…" url's, but in their infinite(-ly lacking) wisdom, the Canonical people made "chromium" a snap, so now, it can't access these "file://…" urls.

I found a workaround, but I hate the fact that I need to come up with weird hacks simply in order to run newer versions of general-purpose software like "chromium" the way it used to normally run in the past.

Anyway, as soon as there is a FreeBSD Linode distribution, I'll definitely jump on board.

You write:

I found a workaround, but I hate the fact that I need to come up with weird hacks simply in order to run newer versions of general-purpose software like "chromium" the way it used to normally run in the past.

Get with the program! Of course Shuttleworth/Canonical know what's good for you better than you know what's good for you! They're the masters of the Ubuntu domain.

This alone would cause me to flee screaming.

Shuttleworth & tribe Ubuntu never mention "Linux" when referring to their distro (except when they have to)…it's always "Ubuntu"…like they invented the whole eco-system.

This is part of Shuttleworth's con-artist mystique… No such drivel from Debian…


I've conducted a number of experiments with FreeBSD on a nanode. Once I got the nanode to boot it, it ran flawlessly and I was able to play around with ZFS and block storage (I built a pretty decent RAIDZ file server) and pf(4) (one of the 3 firewalls you can use on FreeBSD)…which runs circles around ipset(8)/iptables(8) in the configuration department.

I also developed a custom-kernel build script for the Linode VPS environment. The GENERIC kernel has every driver known to man in it…most of which are not needed. The GENERIC kernel took up 75Mib of disc space. My grossly "optimized" kernel left out obvious stuff like drivers for graphics chipsets, floppy drives, CD filesystems/devices, tapes/changers, MSDOS filesystems etc. reduced that down to 59Mib. This was a pretty quick/dirty effort…I'm sure I could have reduced it even farther.

-- sw

If you're looking for a guinea pig   sacrifical lamb   beta tester for your FreeBSD package, I'll be happy to test it in a Linode during my not-so-ample spare time.

Debian is always my first choice when setting up a server. I like Ubuntu but always remember that it's a fork of Debian Sid (Unstable). However solid you find Ubuntu, Debian is better.

That's not to say there's never a reason to run Ubuntu. There are cases where Ubuntu will have drivers that Debian doesn't because of the DSC -- I've run into this with storage controllers in the past -- though that's generally only a concern on bare metal. You'll also occasionally find software that provides a .deb that only works on Ubuntu, although rare and usually desktop software.

@greenseeker writes:

You'll also occasionally find software that provides a .deb that only works on Ubuntu, although rare and usually desktop software.

They're also related to Canonical's efforts to supplement their marketing data with information derived from adware/spyware (that Canonical routinely deploys on Ubuntu systems).

-- sw


Please enter an answer

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct