Americas

  • United States

5 top Linux server distros: How to choose the right one

Reviews
Mar 09, 202121 mins
Linux

What you need to know to choose among Debian, Fedora, CentOS, RHEL, and Ubuntu.

cloud strategy 5 five trends cloud computing by daniel pascoa via unsplash by ktsimage getty
Credit: Daniel Pascoa / ktsimage / Getty Images

More and more networking pros need to familiarize themselves with Linux because the operating system underpins so many enterprise tools and platforms including software-defined networking and SD-WANs, cloud networking, network automation, and configuration management.

And in the decades since it was first introduced, the number of distributions of Linux has blossomed as developers create versions that meet the needs of specific interest groups. While all the versions share a common core, they each have distinguishing characteristic suited to designated purposes.

This article takes a look at five top Linux distros, how to acquire and install them, and an assessment of what they might best be suited for.

Similarities across Linux distros

All Linux distributions use the Linux kernel and benefit from updates that are made to the operating system core software and processes.  They all use standard Linux commands like cd, ls, rm, and cp to navigate the directory structure. They also include many familiar commands like find, grep, tail, more, cat, and ps.  All Linux versions have similar commands to add and remove users, move files around, and interact with external devices with device drivers. The Linux community has also standardized on LibreOffice as the productivity suite, which often comes installed by default.

Most Linux systems use systemd as their init system, process management, and system manager.  Administrators use the systemctl command to control how it is configured and start, restart, enable, disable, reload, or check the status of services running on the operating system.

When it comes to networking, most Linux OSs use NetworkManager, support DHCP for IPv4 and DHCPv6, SLAAC with RDNSS/DNSSL, and natively support IPv6.

Major differences among Linux distros

There are several important differentiating characteristics among Linux distributions.

Linux distributions may support different computer hardware architectures, although x86-64-bit, and Arm are popular. It’s imperative to choose a distro that your hardware supports.

Linux OSes can use different default filesystem types, with ext4 and xfs being common among popular Linux distros.

The software-package manager is one of the most distinguishing differences among Linux distributions. Loading software onto the Linux system can use RPM, APT, yum, DNF, dpkg, Flatpak, or a number of others. Different Linux distros come with a variety of software included and have a wide array of open-source apps that can be added.

Linux fans often have their favorite window manager and desktop environment, and they can be quite passionate and opinionated about what they prefer.  Even if a Linux distro comes with a default windows manager like GNOME, KDE, Xfce, LXDE, you can find an installation or distribution that comes with the preferred graphical environment and customize it to your liking.  However, GNOME is available on most Linux distributions and comes enabled by default.

Even though Linux is open-source, the licensing model allows for commercial organizations to provide technical support. Different Linux distributions have different support and license models. Some users need live support to ensure the uptime of servers running business-critical applications; others may have personal uses that call for writing code themselves and contributing to the open-source community.

How to choose a Linux distro

It can be daunting to try to determine which Linux distribution you should run (see this diagram of Linux variations). One way to choose a Linux distro is to use what all the other cool kids are using.  W3Techs estimates that 72% of all websites use some type of Unix operating system (39% using Linux).  Of the Linux OSes that W3Techs can observe in use on the internet, Ubuntu is used most frequently, then CentOS and Debian, but there are many Linux versions W3Techs cannot identify using the information it gathers.

It’s advisable to choose distribution that is popular enough to get timely updates from its community or a vendor.  Also support will likely be better because with more users, the higher the probability that others may have encountered and documented solutions to issues you might encounter.

Choose an OS with some guarantee of longevity. If you chose an obscure community-driven OS and the community disbands, you’ll face support challenges. (Updated information on Linux versions in use can be found here.)

You may prefer Linux distributions that could be used as a desktop workstation or a data center server.

5 top Linux distros: The reviews

  1. Fedora
  2. RHEL
  3. CentOS Stream
  4. Debian
  5. Ubuntu

We selected five Linux server distributions based on popularity, longevity, supportability, open-source contribution, and industry momentum.  In this article we review CentOS Stream 8, Debian 10.7, Fedora 33, Red Hat Enterprise Linux (RHEL) 8, and Ubuntu 20.04.

We downloaded ISO images from the authoritative websites, then created virtual machines using VMware Workstation 16 Pro running on Intel NUC (NUC10i7FNH) mini computers.  These VMs were bridged to a physical dual-protocol (IPv4 and IPv6) lab network with dual-protocol Internet access. 

Fedora

Fedora is the upstream development branch of Red Hat Enterprise Linux (RHEL), which means it tests and proves the viability of software features that may eventually make their way into RHEL.

The current Fedora version is 33, and it was released October 27, 2020.  Therefore, this Fedora 33 version would be creating features that will be in the RHEL 8.4+ release.

Licensing and support—Although it is officially supported by Red Hat, a unit of IBM, Fedora is open-source and has Free and Open-Source Software (FOSS) licenses.

Support for each Fedora release lasts a year or two, depending on the version and when you first install it. For example, Fedora 33 should have support for at least through November 2021 before it is deemed end-of-life.

There isn’t formal support for Fedora, but there are Fedora mailing lists, the Fedora Forum, and Ask Fedora. There is also the Bugzilla bug tracking system.

Documentation and training—Fedora has some good documentation at its official documentation website, and the Fedora wiki site also offers resources. The Fedora Project itself doesn’t offer training, but there are third-party online classes.

Download and install—Fedora has five editions: Fedora Workstation for desktop computers, Fedora for physical and virtual datacenters, Fedora IoT for IoT applications, and Fedora CoreOS and Fedora Silverblue fir running and managing container applications. Fedora supports x86-64, Arm, and aarch64 hardware architectures.

For this review, we downloaded the 2.00GB file Fedora-Workstation-Live-x86_64-33-1.2.ISO from the official release download site.  That’s a very small ISO for a GNOME desktop Linux distro. We created a VM using this ISO image, powered it up, and went through the quick installation procedure. The default boot loader for Fedora 33 is GNU GRand Unified Bootloader (GRUB) and the version is GRUB 2.04-31. The default Journaled File System for Fedora 33 is EXT4, but EXT3, Btrfs, and XFS are configurable.

After installation completed, the size of VM without its ISO file is 13.4 GB, while the root partition disk usage is 6.41 GB.  The steady-state memory usage after default install is 1.61 GB.

After installation, you can log into the graphical desktop environment.

Software—This edition of Fedora is built on version 5.9.13-200 of the Linux kernel, the newest kernel version of the OSs we tested.

Fedora has standardized on the GNOME desktop. The ISO tested came with GNOME 3.38.2, which is the newest GNOME version among the OSs we tested.  However, it is possible to use Cinnamon, KDE, LXDE, MATE, and Xfce instead.

Only LibreOffice and Firefox are included by default with this edition, but other applications can be added afterwards.

Networking—The default network interfaces are ens33, virbr0, and virbr0-nic. Fedora uses Network Manager for network interface configuration, but Netplan can be enabled and is installable with Snap.

Fedora is a dual-protocol OS with IPv6 installed and enabled by default. It supports static, SLAAC, or DHCPv6 address assignment. When Fedora was on a network using IPv6 SLAAC, RDNSS, and DNSSL, we it used a stable-privacy address, and RDNSS and DNSSL furnish the DNS info.

Security—During the installation process, a root password and a standard non-privileged user account was created, and that user was automatically added to the sudoers list. The SSH daemon was not installed and running by default so we had to add it before we could SSH into the OS. Fedora uses SELinux for Mandatory Access Control (MAC) host OS security, and it is in Enforcing mode by default.

The OS comes with a host-based firewall, firewalld, installed and enabled by default. There are default iptables rules, but no ip6tables rules are installed by default.

Use case—Fedora has been one of my personal favorite OSs for decades.  I would recommend it if you need RHEL compatibility and want the newest Linux kernel and the latest innovative features. For a free OS, there is a significant Fedora community that keeps you supported, good documentation and forum support.  If you want to learn about Linux and want a solid OS to get you started, choose Fedora.

RHEL

Red Hat Enterprise Linux (RHEL), known back in the early 1990s simply as Red Hat, is now part of IBM and regarded as extremely stable in the most demanding server environments.

As such, its releases are less frequent and presumably are more thoroughly tested and refined before new versions are released.  The current version 8.3, code named Oopta, was released Oct. 29, 2020 and will be supported until 2029. (Oopta was a chat handle for the late Red Hat engineer Larry Troan.) 

Licensing and support—RHEL is available via subscription that entitles the user to support, with several different options available. Self-support gives users access to download and run RHEL and access to the Red Hat knowledge base. Standard support adds daytime access to Red Hat engineers for technical support, and premium support provides 24-hour technical support for the most severe issues.

Documentation and training—Excellent online documentation is available, but you may need a Red Hat username and password to access much of it as is the case with the Red Hat Customer Portal.  Similar to Fedora, there is a Bugzilla bug tracker you can use if you run into difficulties.

Red Hat has a training and certification program that started off offering classes and certification exams for Red Hat Certified System Administrator (RHCSA), Red Hat Certified Engineer (RHCE) and Red Hat Certified Architect (RHCA). There are RHEL training classes on Java, OpenShift, Ansible, OpenStack, and containers, among other topics.  Red Hat Enterprise Linux Technical Overview (RHO24) is available here for free.

Download and install—To obtain installation software for RHEL, you need to a subscription-support account. If you want to test RHEL first, you can sign up for a free trial–a single 30-day subscription for Red Hat Enterprise Linux Server for x86.  This is what we did.  We created a Red Hat login account, accepted the terms and conditions, and got access to download the OS.  RHEL has a desktop version that supports x86-64 architectures and a server version that supports x86-64, ARM64, and even IBM System z mainframes. We downloaded the ISO automatically.  The filename was rhel-8.3-x86_64-dvd.ISO and it was a large 9.24GB file.

We create a virtual machine using this ISO image, powered-on the VM and went through the quick installation procedure.  We then followed the documented installation steps. The default boot loader for RHEL 8.3 is GNU GRand Unified Bootloader (GRUB) version 2.02-90. The default Journaled File System is XFS.

After installation, the size of VM without its ISO file is 15.4 GB while the root partition disk usage is 5.28 GB. The steady-state memory usage after default install is 1.57 GB. Once it’s installed you can log into the graphical desktop environment.

Software—In this edition, the kernel version is 4.18.0-240. Not surprisingly, of the Linux distros we tested this has the oldest kernel version because RHEL is very conservative and strives for stability and reliability.

The default desktop is GNOME (GNOME 3.32.2 was the version in this installation), but KDE is also an option.

There is not a significant amount of default software included in the RHEL distro other than the Firefox web browser. The LibreOffice productivity suite available for RHEL. RHEL 8 uses RPM, yum, and Flatpak for package management. Extra Packages for Enterprise Linux (EPEL), created by Fedora, are also available for download.

Networking—The default interfaces are ens160, virbr0, and virbr0-nic.

RHEL uses Network Manager for network interface configuration, but Netplan can be enabled and is installable with Snap.

RHEL is a fully dual-protocol OS with IPv6 installed and enabled by default. RHEL supports static, SLAAC, or DHCPv6 address assignment. When RHEL was on a network using IPv6 SLAAC, RDNSS, and DNSSL, we noticed that it uses a stable-privacy address and RDNSS and DNSSL furnish the DNS info.

Security—During the installation process, a root password and a standard non-privileged user account were created, and that user was not added to the sudoers list. Also, the SSH daemon was installed and running by default.

RHEL uses SELinux for Mandatory Access Control (MAC) host OS security, which is in “Enforcing” mode by default. RHEL comes with a host-based firewall, firewalld, installed and enabled by default.

Use case—RHEL is recommended for commercial enterprise-production applications where technical support is required to keep the mission-critical systems running. It is the best Linux OS for running production applications requiring high availability using the most stable OS.

CentOS Stream

CentOS (Community Enterprise Linux Operating System) is a community-supported open-source operating system based on RHEL. While Red Hat is the major sponsor of the OS, it is free to use and has a GNU GPLv2 license model.

Historically, CentOS and RHEL shared a version-naming convention, so CentOS 6.5 was built on source packages of RHEL 6.5, but that changed with the introduction last year of CentOS Stream. The new designation makes CentOS a rolling preview of what’s coming in the next RHEL release. The current version is called CentOS Stream 8, and that is what we are reviewing here. CentOS Stream 9 is due out later this spring.

The last version under the old naming scheme is CentOS 8, which was released in September 2020, and updates for it end Dec. 31, 2021, a major cut to the update window.

While CentOS doesn’t come with formal software support, third-party vendor OpenLogic does provide commercial support. If more support is needed, another option is moving to RHEL, which does have commercial support. Also, because CentOS closely resembles RHEL, much of the RHEL 8 training materials would also be applicable to help configure and maintain CentOS systems.

There are many sources of documentation on the CentOS distribution, including a primary documentation website and a wiki site .  There are also community-monitored and maintained mailing lists, forums, and bug tracking to reach out to when you run into problems.

The CentOS Project doesn’t offer its own training, but there are online classes offered by third parties.  CentOS is easy to download and get running in a testing environment.  It is important to make sure you are downloading the correct install image for the hardware you will run it on.  CentOS has narrowed the hardware architectures supported to x86-64 (the most popular), aarch64, and ppc64le.

Download and Install—For the review, we downloaded the CentOS-Stream-8-x86_64-20201210-dvd1.iso ISO image, a 9.37 GB file, and used it to create a new VM, powered it up, and used the quick installation procedure.

The default boot loader in CentOS is GNU GRand Unified Bootloader (GRUB), in this case GRUB 2.02-90. The Journaled File System supported by CentOS is XFS.

After installation completed, the size of VM without its ISO file was 14.5 GB while the root partition disk usage is 4.57 GB.  The steady-state memory usage after default install is 1.31 GB.

After installation, you can log into the graphical desktop environment.

Software—In this edition of CentOS Stream, the Linux kernel version is 4.18.0-257, which is only slightly newer than the RHEL version we tested.

GNOME 3.32.2 was the desktop that came with the distribution we tested, but KDE is also available.

Other default included software with this distribution include: Firefox, GNOME tools, and Cockpit (to control web services).  LibreOffice is available, but was not automatically included in the ISO we installed.

CentOS uses RPM, DNF, yum, and Flatpak for package management. CentOS has the ability to load RHEL 8-compatible software and use the Enterprise Linux (EPEL) packages/repositories because it has a great degree of RHEL compatibility.

Networking—The default interfaces are ens33, virbr0, and virbr0-nic. CentOS uses Network Manager for network interface configuration, but Netplan can be enabled and is installable with Snap.

CentOS is a fully dual-protocol OS with IPv6 installed and enabled by default.  CentOS supports static, SLAAC, or DHCPv6 address assignment.  When CentOS was on a network using IPv6 SLAAC, RDNSS, and DNSSL, it uses a stable-privacy address and RDNSS and DNSSL furnish the DNS info.

Security—During the installation process, a root password and a standard non-privileged user account was created, and that user was not added to the sudoers list. Also, the SSH daemon was installed and running by default.

CentOS uses SELinux for Mandatory Access Control (MAC) host OS security, and it is in enforcing mode by default.

CentOS comes with a host-based firewall (firewalld) installed and enabled by default.

Use case—CentOS is recommended when you needed a Linux distribution that has excellent compatibility with RHEL and EPEL packages but don’t want to spend money. CentOS could be ideal for a dev/test OS or for a lab environment that might be preparing to eventually move on to RHEL.  If you are going to use CentOS for production applications, use RHEL and purchase a support subscription.

Debian

Debian is the Linux version that spawned other distributions including Ubuntu and Raspberry Pi OS and is overseen by the Debian Project, which maintains the ideal of free and open software. It is developed by volunteers from the open-source community.

The current version, released September 26, 2020, is Debian 10.7, also called Buster, named for the dachshund in Toy Story. (Other Debian code names – Lenny, Squeeze, Wheezy, Jessie – are also character in the movie made by Pixar, where Debian was used. It is rumored that the curly Debian logo is the same as the curl on Buzz Lightyear’s chin.)

Debian has no commercial support, but does a support page with links to help options including a mailing list monitored by the open-source community, an IRC chat channel, user forums, and a bug-tracking system. You can also hire third-party Debian consultants.

Documentation and training—Debian offers a wealth of free downloadable documentation, which includes helpful manuals, guides, and release notes. The Debian Project doesn’t offer training, but there are third-party online training classes.

Download and Install—Debian is easy to download and get running in a testing environment, but it is important to download the correct install image for the hardware and desktop environment you will run it on. It supports a variety of hardware architectures but the primary ones are x86, x86-64, and Arm. Others include i386, i686, aarch64, armel, armhf, mips, mipsel, ppc64el, and s390x.

In our test we went to the official download site, selected the DVD/USB option, and downloaded the Debian ISO image via BitTorrent using the Transmission client. We selected a hybrid ISO image file and chose our architecture–amd64.  The 2.59GB file was debian-live-10.7.0-amd64-gnome.iso.torrent. We created a new VM using this ISO image, powered on the VM and went through the quick installation procedure.

The default boot loader in Debian is GNU GRand Unified Bootloader (GRUB), and the GRUB version is GRUB 2.02. The default Journaled File System that came with the version we tested was EXT4, but Btrfs, EXT3, JFS, and XFS are also available.

After installation completed, the size of VM without its ISO file is 11.3 GB while the root partition disk usage is 7.63 GB.  The steady-state memory usage (after default install) is 0.71 GB, the smallest storage and memory utilization of all the distros we tested. In this edition of Debian, the Linux kernel version is 4.19.0-13.

Software—After installation, you can log into the graphical desktop environment,  in this case GNOME 3.30.2.  There is a wide variety of window managers available with the ISO downloads including Cinnamon, Gnome, kde, lxde, lxqt, mate, standard, and xfce. Other default software includes LibreOffice, Firefox, Evolution, Thunderbird, and some games.

Debian and its contributors have written packages of precompiled software that are available for easy installation. Debian’s package management options include APT and dpkg.

Networking—The default network name is ens33. Debian uses Network Manager for network interface configuration, but Netplan can be enabled.

Debian is a fully dual-protocol OS with IPv6 installed and enabled by default. Debian supports static, SLAAC, or DHCPv6 address assignment. When Debian was on a network using IPv6 SLAAC, RDNSS, and DNSSL, it used a temporary privacy address, and RDNSS and DNSSL furnished the DNS info.

Security—During the installation process, a root password and a standard non-privileged user account were created, and that user was not added to the sudoers list.  Also, the SSH daemon was not installed and running by default so we had to add it before we could SSH into the OS.

Debian uses AppArmor for Mandatory Access Control (MAC) host OS security.

The operating system comes with a host-based firewall (netfilter) installed with iptables and ip6tables, and it is enabled by default.  However, there aren’t any iptables or ip6tables rules installed by default.

Use case—Debian is recommended if you needed a stripped down, back-to-basics OS and preferred Debian packages.  If you are already familiar with Linux and like having full control and no cruft to get in your way, then Debian is a great way to go.  However, it’s not recommended for mission-critical application.

Ubuntu

Ubuntu is a free, Debian-based Linux operating system, originally developed to be a desktop and server OS that now has an Ubuntu Core edition for IoT applications.

Ubuntu has a free-software license model which means it is free to use Ubuntu and run it wherever. We reviewed Ubuntu 20.04.1 LTS, a.k.a Focal Fossa, that was released April 23, 2020 and has general support until April 2025. There is a newer version, Ubuntu 20.10 (Groovy Gorilla) that was released Oct. 22, 2020, but its support runs out in July 2021. (Ubuntu versions are released periodically, and alternating versions are intended to have a longer lifespan, and also have long-term support (LTS). If you intend to run a system for many years and require software updates, then the LTS versions are recommended. The next one, Ubuntu 21.04 (Hirsute Hippo) will be available sometime around April 2021.)

Licensing and support—Canonical Ltd. publishes and provides commercial services for Ubuntu, including Ubuntu Advantage 24×7 technical support, which is available in flavors to address the needs of applications and the needs of infrastructure. Ubuntu documentation is available online, and the CommunityHelpWiki provides helpful tips and hacks. There are also Ubuntu mailing lists, Ubuntu Forums, Ask Ubuntu, and a bug tracker. Canonical offers basic and advanced  Ubuntu Server training classes.

Download and install—It is easy to download Ubuntu and quickly get it running on a physical or virtual server, and we downloaded Ubuntu 20.04.1 LTS desktop, which is supported by x86-64 and Arm architectures. We downloaded the 2.71GB filename ubuntu-20.04.1-desktop-amd64.ISO, used the image to create a virtual machine, powered it up and installed it.

The default Ubuntu boot loader is GNU GRand Unified Bootloader (GRUB) and the version is GRUB 2.04. The default Journaled File System in the version we tested was EXT4.  However, Btrfs, EXT3, JFS, and XFS are available.

After installation, the size of the VM without its ISO file is 12.1 GB, and the root-partition disk usage is 8.42 GB.  The steady-state memory usage after default install is 0.97 GB. After installation, you can log into the graphical desktop environment.

Software—The Linux kernel version for the OS is 5.4.0-58, and the version of GNOME, the desktop environment, is 3.36.3. LibreOffice, Firefox, Thunderbird, Transmission, and several games come installed by default. Ubuntu uses APT, dpkg, and Flatpak for package management.           

Networking—The default interface is ens33. Ubuntu uses Network Manager for network interface configuration, but it comes with Netplan support installed by default. Netplan is also supported by Canonical.

Ubuntu is a dual-protocol OS with IPv6 installed and enabled by default.  Ubuntu supports static, SLAAC, or DHCPv6 address assignment.  When Ubuntu was on a network using IPv6 SLAAC, RDNSS, and DNSSL, it used a temporary privacy address. RDNSS and DNSSL furnish the DNS info.

Security—During the installation process, a root password and a standard non-privileged user account was created, and that user was automatically added to the sudoers list. The SSH daemon was not installed and running by default so we had to add it before we could SSH into the OS.

Ubuntu uses AppArmor for Mandatory Access Control (MAC) host OS security. The operating system comes with a host-based firewall (UFW) installed with iptables and ip6tables enabled by default, but without iptables or ip6tables rules installed.

Use case—Ubuntu is one of my favorite Debian OSs that has a solid community of support.  It is the extremely popular, de facto OS for network engineers, and has a broad application package to choose from. I would recommend it to those interested in learning about Linux, on a budget, but want a simple, yet modern, GNOME desktop experience.