Why Ubuntu 20.04 LTS Server Edition?

Updated 29 July 2021


Mistake number 1: Using CentOS 8
For more than two decades, I was using Red Hat releases, specifically the original Red Hat Linux and CentOS. When Red Hat decided to sunset CentOS 8 only one year after release (in favor of CentOS Stream), I decided it was time to dump all the CentOS 8 installations and go to something else. My $DAYJOB had moved to Ubuntu on AWS. That observation led me to Ubuntu. Moreover, AWS provides EC2 instances of Ubuntu Server Edition, so that also guided me to my new "home".

Shifting from CentOS 8 to Ubuntu requires some learning new ways for doing things. I started with Ubuntu on an AMD system, which I now use for many of my non-Red-Hat tasks.

Mistake number 2: Using Ubuntu Desktop on a server
My mail server, running CentOS 4, finally cratered. I rebuilt the server on CentOS 8. During an update cycle, Red Hat had muffed the update to GRUB. Couldn't bring it back. Rebuilt the server (again!) but with Ubuntu Desktop. This meant the server has a lot of unnecessary software, and more importantly it means that it has NetworkManager. Gnome still doesn't provide ways of setting up VLANs, so one has to use nmtui(8) to get the job done.

Discovery 1: Ubuntu 20.04 LTS Server Edition
I discovered Server Edition quite by accident. The installed system is much cleaner: no GUI, no GNOME, a lot less cruft. Yes, you have to edit the the various configuration files by hand, but once you get a working checklist, the process of running a text editor and doing exactly what you need to isn't hampered by someone else's idea of what you should and shouldn't be able to do. You are going to have to use the editor for some things, why not do it for all? But that's me.

Discovery 2: Why vi(1) Does Strange Things: For many years I tried to avoid Debian and Ubuntu systems for one reason and one reason only: the vi(1) editor over SSH would screw up when trying to use cursor controls. I hated it when a sysadmin partner launched Ubuntu virtual machines. (Hisses.) This problem existed even when doing SSH from Ubuntu Desktop.

I chanced across an article recently that explained why: Ubuntu server edition installs vim.tiny in their installation. So the fix is simple: apt remove vim; apt autoremove; apt install vim...and it's fixed. Now I can consign nano(1) to the dust bin in my minds, and let muscle memory do its thing.

Sharing With Others:
The remainder of the "lessons learned" web site tree will detail those things I uncovered while building various servers that are as proof against attack as can be accomplished with the tools Ubuntu 20.04 provides.


Comments, suggestions, and error reports are welcome.
Send them to: spamfilter (at) satchell (dot) net)
© 2021 Stephen Satchell, Reno NV