- Why Testcontainers Cloud is a Game-Changer Compared to Docker-in-Docker for Testing Scenarios| Docker
- One of the most secure laptops I've tested this year is also one of the lightest
- ShrinkLocker Ransomware: What You Need To Know
- The best iPhone 15 screen protectors of 2024: Expert tested
- I've tested a lot of AI tools for work. These 4 actually help me get more done every day
5 top Linux server distros: How to choose the right one
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 of them – Debian, Fedora, CentOS, RHEL, and Ubuntu – how to acquire and install them, and an assessment of what they might best be suited for.
Distro similarities
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 system 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 distro differences
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.
Selecting the right 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 annot 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 which could be used as a desktop workstation or a data center server.
The review
We selected five Linux 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.