Today I approach the question of which Linux distro – Debian vs Ubuntu Server – to deploy on servers? I’ve setup and deployed tons of Linux servers over the years. Many of the servers I deploy are on very small / inexpensive cloud instances – servers with 1 to 2GB of system memory – which weighs heavily into my short list of reasons why I prefer to deploy Debian as my distro of choice on new servers.
Valid Reasons To Choose Ubuntu
Before I get into my reasons for choosing Debian, let me start by mentioning that there are very valid reasons that you might choose to deploy Ubuntu instead of Debian. The point of this article is not to dump all over Ubuntu. I’m not a Linux elitist. There is no one perfect Linux distribution. People who prefer Arch or Ubuntu or Fedora or whatever is fine by me – though, starting a Linux fanboy war would be great for post engagement, that’s not my goal here. I’m happy with people using Linux – period.
With that said, let’s briefly explore why someone might choose Ubuntu Server.
Predictable Software Lifecycle
From the very beginning, Ubuntu has had a very predictable software lifecycle. With one exception in 2006 where a release was pushed back 2 months, every April and October Canonical puts out a new release of Ubuntu with a 9 month support window and LTS versions every two years with 3 years desktop and 5 years server support. You always know when to expect the release and you know how long you can run it. In the business world, having this predictable schedule is important for long term planning.
Paid Support From Canonical
Another extremely valid reason to choose Ubuntu over Debian is the availability of paid support from Canonical. The corporate IT world lives and breathes on support contracts. Having this level of support available makes the business decision of choosing Ubuntu make perfect sense.
Now, for the servers I deploy and the way I deploy them, I don’t need a predictable release cycle and I don’t need paid support. What I do care about when deciding between Debian vs Ubuntu Server is …
#4 – Stability Over Newest Features
When you get Linux people talking about Linux – and boy do Linux people love talking about Linux – words you’ll often see mentioned regarding Debian include:
Debian has been around a LONG time – well long in technology terms anyway. The first release came out in September 1993. Few Linux distributions can claim that kind of longevity. Over that time, Debian’s philosophy of releasing when the bugs are worked out instead of based on a hard release date has earned it this reputation.
The emphasis on bug free / stable software means that the packages included with Debian are usually not the most current versions available. For example, while PHP is up to version 8.1 at the time of writing, the current Debian release (version 11) includes the much more mature version 7.4. While it’s not always desirable in the desktop world to be missing out on the latest features, in the server world security and stability are paramount.
Other software developers benefit, as well, from the stability that Debian provides. For example, the current recommended version of PHP for WordPress is version 7.4. This recommendation tracks with the current Debian release. By recommending the more mature version, WordPress developers have additional time to test and fix software bugs that might appear with the newer versions.
#3 – Distro Upgrades
I may be in the minority on this one, and I’m certain someone will take exception to it – I’ve personally had far fewer issues moving to new releases of Debian than I’ve ever had with running a dist-upgrade on Ubuntu Server.
I’m not saying Ubuntu is notorious for having these sorts of problems. I’m just saying that I’ve had issues with it in the past that left a sour taste in my mouth. Again, that whole stability thing is important.
#2 – Zero Reliance On Snap Packages
While you can easily add support for Canonical’s snap package format to Debian, it doesn’t include it out of the box – which suits me just fine. There’s a lot of, let’s use the word dislike, in the Linux community for snap packages.
I’m not much of a fan of snaps myself, but I will use them when absolutely required. Thankfully, snaps aren’t often found on servers. The notable exceptions to this that come to mind are Canonical’s LXD virtualization / containerization system – which I will admit I actually like and use quite a bit – and Nextcloud. Both are available to install as a snap package.
The main issues people tend to have with snaps are that they start slowly and often use more system memory than their non-snap counterparts.
Conversely, Ubuntu Server comes pre-configured with snap support. If you’re not actually using it on your server, you can save yourself some system memory by removing it from your system.
Speaking of system memory … my #1 reason to choose Debian vs Ubuntu Server …
#1 – Debian Uses Less Memory
This is where this discussion gets a bit long compared to the rest of the list – which was on the subjective side. Now, I’m about to throw some objective data at you.
On fresh OS installs, Debian uses less system memory. On larger systems the difference is small enough to not matter much. However, when it comes to small cloud servers, virtual machines, and containers the difference can be substantial.
For my first test, I created a virtual machine using KVM/QEMU with a single CPU and 1GB of memory – a common configuration found on inexpensive cloud servers and then installed both Ubuntu and Debian. The default Ubuntu Server 22.04 ISO was used for Ubuntu and the Debian Netinst ISO was used for Debian.
Let’s start by looking at Ubuntu. During the install I chose the minimized option that is available in 22.04. The only additional software that I installed was SSH, for remote access to the VM, and htop, for checking the system resources. Total memory being used by the system is 153MB out of 971MB reported as available – almost 16% of the total RAM and we don’t even have any applications installed yet.
To help Ubuntu, I decided to remove snap support from the system. Total memory use decreased by 6MB down to 147MB. This is still a little over 15% of the total memory.
Let’s compare, now, against a fresh Debian installation. Again, the only additional software installed is SSH and htop. Here you see that Debian is using just 67MB of 976MB – just under 7% of the total system memory. Notice also that Debian makes 5MB more of the total VM memory available for use than Ubuntu does.
Having the additional 8 – 9% of the total system RAM available is significant – especially if you are looking to maximize the number of VMs you can run on a server. Twenty Ubuntu based VMs without snapd would need 2940MB of memory just for the base operating system compared to 1340MB with Debian. In fact, forty Debian based VMs would still use less memory – only 2680MB.
To hammer the point home, I thought it worth exploring whether this held true if you used Debian vs Ubuntu Linux container images. For this test, I created two LXD containers – one with Debian 11, the other Ubuntu 22.04 – using the same profile where each container is limited to 1GB of memory. The Ubuntu container already included htop, whereas I had to install it manually in the Debian container.
This comparison takes the kernel differences between the two distros out of the picture entirely, as the host system kernel is being utilized by each container.
Starting again with Ubuntu Server we see the container is using about 90MB of memory. I didn’t bother with a second screenshot, but we can again save about 6MB by removing snap from the system – if needed. Going forward in this comparison we’ll use 84MB as the value to represent the Ubuntu container – 8.8% of the container’s memory.
Compare this with the mere 18MB that the Debian container uses – just 1.9% of the container’s total memory and 66MB less than Ubuntu.
In short, if memory utilization is important, Debian is the better choice over Ubuntu Server.
Which Would YOU Choose?
Debian vs Ubuntu Server – which would you choose? Would you use neither and go with something else entirely? Tell me what you think in the comments below.
If you found this article helpful and would like to support my efforts to create additional resources like this, please consider a subscription for just $3 per month or a one time donation via the “Buy Me A Coffee” button on this website. It looks like a travel mug in the corner of the page – you can’t miss it! Your support is greatly appreciated!
If you can’t make a donation, please consider sharing this article with others who may be interested. If you have questions about anything regarding this article, please be sure to leave them in the comments below. Thanks for reading, and I hope you visit again soon!
2 thoughts on “Top 4 Reasons Why I Choose Debian vs Ubuntu Server”
I got a free tier VPS with 0.5 GB RAM and that’s exactly what I have been looking for. At first I installed Ubuntu, but now I want to switch to Debian. But on big a server I’d prefer Ubuntu because I’m still a noob
Came here from a search for reasons why s.o. would choose ubuntu over debian for a server. You gave 2 reasons, and then a few against which may be summarized as: bloat.
Me, I’ve gone through SuSE, ubuntu, debian, arch on the desktop and Slackware, SuSE, debian on servers. That’s from 1997 to 2022.
On the desktop I want cutting edge and when Linus releases a new kernel and few days later I have that kernel running here, yep.
On the server I want fast security updates (debian is great here) but otherwise: calmness. LTS, mature releases and few of them. Backports to the rescue when I really need a more current version of something.
And, for basically everything I came around, there is always a repo or other install version for debian. Cause it’s Grande.
Have to say though that there is a huge, rich, ample supply of community help pages for ubuntu and it happens again and again that I use those within debian and find them useful.