CentOS Bombshell: 2 months on

CentOS alternatives for Servers

It has been two months since IBM/RedHat dropped the bombshell that we would see no more CentOS releases, leaving CentOS Stream as the only option to those who will be sticking with this distribution.

CentOS Stream

It is likely stability and price have been key reasons for any existing CentOS roll-out. CentOS Stream will remain free, but stability could now become a problem.

There are several approaches to keeping machines patched and secure and it is difficult to see how any will work well with a rolling release while maintaining stability of the system.

Do we keep installs fully up to date with all packages? This now adds to the risk of a package update breaking a particular configuration of a service or application, perhaps across a large portion of a server/workstation estate at one time.

Do we try to keep up to date with just the security patches? As the amount of non-upgraded non-security updates increases so does the likelihood of security patches pulling in other updates causing much larger changes. This only delays the problem potentially creating a bigger one.

Do we not security patch at all? A crazy solution but an option some may now take.

It is easy see why a move to Stream is going to be a issue for companies that have rolled out CentOS across large estates while trying to minimise changes to their production systems. There may be a market for CentOS Stream, but it’s difficult to understand what it is. Home users that may have used it as the closest thing they can get to RedHat Enterprise without the cost may now be able to take advantage RedHat’s new offering of 16 RHEL installs without charge as long as support isn’t needed.

What other options are there?

Without doubt those who had started to roll out CentOS 8 at scale will be those most concerned with quickly deciding which direction to take. There are endless amounts of Linux distributions to choose from, although perhaps only a few that are repeatedly mentioned in these discussions.

RedHat Enterprise

This is the only paid option we will mention here, obviously the easiest option for those that want to reduce change, but with a price tag.

In early 2020 RedHat made a CentOS to RHEL conversion tool (Convert2RHEL) freely available from the EPEL distribution. Was it known at this time what plans were in store for CentOS? Well it will surprise nobody that a conversion tool was available at the time of this announcement, and it does work well if your install is in good shape and not plagued with the complexity of competing non CentOS distribution RPMS.

There seems little point in converting CentOS 7 critical systems using this tool though, where a major OS update is more likely to involve a new install, just wait until you are ready to go with RHEL 8 and start afresh with that. For those that have been caught out by already upgrading to CentOS 8, maybe this conversion tool is a possible quick solution for you.

Oracle Linux

I’ve spent little time using Oracle Linux or promoting it to anyone before these events. Not because it isn’t a good distribution but simply because of my worry of not knowing what the state of the distribution would be a few years down the road. For many Linux users Oracle “has history” and some of its business practices didn’t go down well with the community. Whether or not Oracle continue to offer its Linux distribution for free in a few years, it is never going to be good for a large proportion of the community not to be on-side.

If we put “Oracle” concerns aside and feel confident that Oracle Linux will continue as a free “no strings attached” Linux distribution in years to come, then this would be the obvious choice for migration. Oracle Linux is built from the same sources as CentOS is (or was) and claims 100% binary compatibility with CentOS. The migration is very easy, and you will see very little difference in the setup and management procedures. It also comes with some nice extras with improvements to the Kernel and system tools.

Assuming no unexpected surprises, Oracle follows the 10 year release cycle of RHEL and the 8th release will be supported until July 2029.

Debian

Debian has been around for over 27 years and for many it has remained the sole server distribution of choice throughout that time. Debian has always been associated with efficiency and stability, clearly a major positive for servers.

Debian uses its own packaging system (although adopted by other distributions) so will mean a small about of research if you have previously only used RPM based systems.

If you are used to spending the time getting an efficient system up and running and you have servers providing specific services, it would be hard to argue against using Debian if not for one issue, the 5 year support cycle. Half that of what you would be used to from CentOS before the 8th release.

Debian base install size (14 February 2021)

  • Installation Image: debian-10.8.0-amd64-netinst.iso
  Filesystem Size  Used  Avail Use% Mounted on
udev 2.0G 0 2.0G 0% /dev
tmpfs 395M 5.3M 390M 2% /run
/dev/sda1 31G 795M 29G 3% /
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup

Ubuntu

An exceptionally popular Linux distribution for the desktop and it does have a version aimed at Server use which many companies are already using at scale without complaint.

One common criticism of Ubuntu though is the “bloat”, the amount of software and running processes installed that may never be used, and this is exactly where my concerns lie…

I hadn’t looked at Ubuntu 20.04 (current LTS release) as a possible option for Servers until after the CentOS announcement. After the install I thought I had accidentally downloaded the Desktop image due to the size and the snapcraft system that had been set up as part of the install. Eventually l was able to install a minimal system using an image available from a legacy downloads folder on the site but it did seem like far too may hoops to jump though to get a minimal server install and the process is certainly not obvious.

If you have just a few servers all providing multiple services and want to minimise time configuring systems this “blot” may not be a problem and Ubuntu still a viable choice. Ubuntu uses Debian’s packaging system and you will not struggle to find help with system issues due to its popularity.

I chose to use Ubuntu on my home desktop and wouldn’t hesitate to recommend it, however we have different things to consider with server use.

Like Debian, Ubuntu also has a 5 year release cycle (for LTS versions).

Ubuntu server base install size (14 February 2021)

  • Installation Image: ubuntu-20.04.2-live-server-amd64.iso (LTS version)
  Filesystem            Size  Used  Avail Use% Mounted on
udev 1.9G 0 1.9G 0% /dev
tmpfs 394M 980K 393M 1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv
20G 6.0G 13G 32% /
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/sda2 976M 104M 806M 12% /boot
/dev/loop0 70M 70M 0 100% /snap/lxd/19188
/dev/loop1 56M 56M 0 100% /snap/core18/1944
/dev/loop2 32M 32M 0 100% /snap/snapd/10707
tmpfs 394M 0 394M 0% /run/user/1000

Ubuntu server install size from mini.iso (14 February 2021)

  • Installation Image: mini.iso (20.04.2 LTS version installed)
  Filesystem            Size  Used  Avail Use% Mounted on
udev 1.9G 0 1.9G 0% /dev
tmpfs 394M 628K 393M 1% /run
/dev/sda5 31G 3.2G 27G 11% /
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/sda1 511M 4.0K 511M 1% /boot/efi
tmpfs 394M 0 394M 0% /run/user/1000

FreeBSD

OK, we’ve gone slightly off track here, FreeBSD is not Linux but it is important to mention it.

FreeBSD should probably be on more of the worlds servers than it is based on its small footprint, efficiency and security. There is a simple reason it isn’t. It isn’t Linux. That doesn’t make it worse at doing the job, but it does make it a system far less people have experience of today.

Getting people onboard with a move to FreeBSD is likely to be more challenging. Maybe an option if you or your team already has the experience or FreeBSD servers are already deployed within your organisation. There isn’t a lot involved for an experienced Linux admin to switch to FreeBSD however it isn’t just a case of logging in and poking around. It does require a different way of working. Linux distributions can vary with tooling for package management, firewall management, security module implementations etc, but there are far greater differences with FreeBSD and its Kernel than Linux.

As with Debian and Ubuntu, FreeBSD has a shorter 5 year release cycle for each major release.

FreeBSD base install size (14 February 2021)

  • Installation Image: FreeBSD-12.2-RELEASE-amd64-disc1.iso
  Filesystem  Size  Used  Avail  Capacity  Mounted on
/dev/da0s1a 29G 1.1G 26G 4% /
devfs 1.0K 1.0K 0B 100% /dev

Rocky Linux

An interesting option because there has been no release of this distribution yet.

A couple of days after the announcement that CentOS releases were to be discontinued, Gregory Kurtzer, founder of CentOS announced he was to repeat what he did 16 years ago, creating a new distribution and in honour of late CentOS co-founder Rocky McGough.

There is estimated to be a release candidate for Rocky Linux on 31 March 2021, clearly the amount of work involved is immense going far beyond just recompiling the RedHat Enterprise RPMs. We should have a much clearer idea by then if Rocky Linux is going to the saviour for those of us running CentOS but we could still be a long way from being able to migrate from CentOS to Rocky. Waiting for it without preparing for other eventualities may not be wise, particularly if you are running CentOS 8.

AlmaLinux

Like Rocky, AlmaLinux is another new distribution specifically to fill this new CentOS gap. It was created by the team at CloudLinux who already have been cloning the the distribution for its own products so had a head start over Rocky in that respect.

There is already an AlmaLinux beta distribution available to download and install. Unsurprisingly you’ll not notice any difference in the installation process to CentOS other than the AlmaLinux branding.

AlmaLinux Beta base install size (18 February 2021)

  • Installation Image: AlmaLinux-8.3-beta-1-x86_64-minimal.iso
  Filesystem                 Size  Used  Avail  Capacity  Mounted on
devtmpfs 890M 0 890M 0% /dev
tmpfs 909M 0 909M 0% /dev/shm
tmpfs 909M 8.8M 900M 1% /run
tmpfs 909M 0 909M 0% /sys/fs/cgroup
/dev/mapper/almalinux_dhcp17-root
37G 2.1G 35G 6% /
/dev/sda1 1014M 184M 831M 19% /boot
tmpfs 182M 0 182M 0% /run/user/0

No help?

If you’ve somehow ended up with a large CentOS estate and no sysadmins to advise you otherwise, wait and see what happens with Rocky and Alma Linux but prepare for the possibility of migrating any CentOS 8 installs to Oracle. Probably the easiest way forward… for now… but none of us know yet if it’s the right one.

Linux, systems, programming 20+ years.