Now that you know the history of Linux, it is time to know more about Linux distributions. In this article, I will cover “What Linux Distribution is”, “What is it composed of”, “What are different Linux Distributions”, “How are they different”, and “What Linux Distribution you can start with”.
What is Linux Distribution
A Linux distribution (often abbreviated as distro) is simply defined as an operating system that has a collection of GNU core utilities and Applications on top of a Linux kernel. In addition, it may also contain a desktop environment / GUI, documentation, etc… In its simplest terms, we can say that Linux Distribution = Operating System.
The following picture depicts the Linux desktop with numerous applications/software pre-installed. You may not be able to figure out what operating system or Linux distribution is this. However, we can easily figure it out by either navigating through the option in Graphical User Interface or using Command Line Interface.
Linux Distribution has Linux Kernel: Kernel is the core component of any Linux distribution with full system control. It enables the interaction between hardware and software components / Applications.
Linux Distribution has Linux GNU Core Utilities: The core utilities are installed with all Linux distributions. I personally haven’t used any Linux Distribution without these utilities installed. These core utilities are basic tools to view/create/move/copy/remove files and directories, change file permissions and ownerships, etc…
For instance, ls is the command to view/list files in a directory. Lots of other basic commands are made available to us through Linux core utilities. We will explore most of these basic commands in our forthcoming articles.
Linux Distribution has Applications and Packages: On a typical Linux distro, you may see some pre-installed applications. These applications are part of the Linux distribution you are using. However, when there is a need to install new applications/software, it is done through Linux Packages. We use .exe and .dmg files to install the application in Windows and macOS respectively. Likewise, we use either .rpm or .deb file to install application/software on a Linux distribution.
Linux Distribution has Desktop Environment: Like Windows OS and Apple macOS, Linux also comes with a nice Graphical User Interface (GUI) and Command Line Interface (CLI). The GUI is also known as “Linux Desktop Environment”. Later in this post, we will learn that there are several Linux distributions available to use. And all these different Linux distributions come with their desktop environments. Some examples of desktop environments are including but are not limited to GNOME, KDE, MATE, XFCE…
The picture below depicts Debian Linux distribution with GNOME desktop environment running.
This picture shows XFCE desktop environment running on my Debian Linux.
You may use any desktop environment you wish. Besides, you can install multiple desktop environments on the same Linux Distribution and switch between them. It is all your choice to choose and use among multiple desktop environments available.
Question: What is an X Server and how it relates to Desktop Environment?
Answer: X Server is the display server for the Linux system. It is the X Server that enables us to make use of Graphical User Interface. It provides the basic framework for a GUI environment. For example, drawing and moving windows on the display device and interacting with a mouse and keyboard.
Lots of applications in the desktop environment requires X Server. For example, Firefox and chrome require a display server / X Server to run. In such scenarios, X Server provides display and I/O services to applications, so it is a server; applications use these services, thus they are clients.
Popular Linux Distros & Their Usages
Red Hat Enterprise Linux
Red Hat is a commercial Linux company that has developed its enterprise Linux targeted toward the Enterprise and commercial market. Red Hat engineers and architects put a lot of effort to develop this Linux, well suited for the enterprise. Since RHEL is free and open-source software, anyone can download the complete source code. However, enterprise customers purchase support subscription from Red Hat to run their systems more reliably and more securely.
CentOS is a free community version of RHEL for small businesses. It has the same set of tools and software as RHEL. Unlike Fedora, CentOS is a reliable operating system as it benefits from changes introduced in Red Hat Enterprise Linux (RHEL). Small businesses do not have to pay any license cost or support subscription and they still get a stable operating system with all stable features.
Update: on December 8th, 2020, RedHat made an announcement that they would shift their focus from CentOS Linux to CentOS stream. CentOS Linux 8 will end at the end of 2021 and CentOS Stream continues after that date, serving as the upstream (development) branch of Red Hat Enterprise Linux.
This initiative is not liked by many in community as CentOS Linux was Downstream of RHEL whereas now CentOS Stream is Upstream of RHEL
This is clearly undermining the actual benefits that people used to take from CentOS Linux. In simplest terms, CentOS stream now will serve as upstream of RHEL and it will be a “testing” branch for Red Hat Enterprise Linux (RHEL). Which means CentOS can become an operating system for personal Laptops/desktops or testing environment, but it cannot serve as a free, stable, and enterprise-ready operating system.
Rocky Linux is a community-driven project, enterprise-ready OS. It is forked from Red Hat Enterprise Linux (RHEL) and is designed to be bug-for-bug compatible with Red Hat Enterprise Linux. It has become popular among enterprises as it is reliable, stable, and can be obtained without paying any licensing cost. Download Rocky Linux from its official website.
AlmaLinux is another community-driven project, enterprise Linux distribution OS. Like Rocky Linux, It is also forked from Red Hat Enterprise Linux (RHEL) and is 1:1 binary compatible with Red Hat Enterprise Linux. It is reliable, stable, and can be obtained without paying any licensing cost. Download AlmaLinux from its official website.
Oracle Linux is compiled from Red Hat Enterprise Linux source code. This Linux is best used for oracle databases/applications. It is free to download, use, and share. There is no license cost. However, enterprises buy support subscriptions for their business-critical infrastructure
Debian is one of the stable and oldest Linux distributions in the Linux family. It comprises free and open-source software developed by the community-supported Debian project. The whole point of Debian from day one was “STABLE”. It is freely available to Download.
Ubuntu is a Linux distro based on Debian Linux. Ubuntu is funded by Canonical. Since its inception, Ubuntu has been very popular among newbies who want to learn Linux. It is easy to use and provides a huge collection of software that can be installed through the software center. Pre-installed tools in ubuntu Linux make it attractive for newcomers and make it a suitable distro for personal use. Ubuntu is officially released in three editions: Desktop, Server, and Core for IoT devices and robots.
Kali Linux is a Debian-derived Linux distribution that is specially designed for penetration testers and cybersecurity professionals. Almost all well-known tools, that are helpful in digital forensics, penetration testing, and various information security tasks, are pre-installed in Kali Linux. With more than 600 penetration testing tools included and freely available, this has been the favorite Linux distro for cybersecurity engineers and certified ethical hackers. It is developed, managed, and funded by Offensive Security.
Tails is a portable operating system that will protect you from surveillance and censorship. Used by many hackers, tails never saves anything on the hard disk and only runs from memory of the computer. And the memory is entirely deleted when you shutdown Tails, erasing all possible traces.
Linux is not just a single operating system. There is a never-ending list of Linux distributions and you may use any Linux distro based on your choice/requirements.
Community vs Enterprise Linux Distros
Of all the available Linux distributions, some of them arecommunity-driven such as Debian, Slackware, and Arch Linux.
Some are sponsored or commercially-backed distributions such as Fedora [Sponsored by Red Hat], openSUSE [Sponsored by SUSE], and Ubuntu [Sponsored by Canonical Ltd.]. Community-driven distros are supported and maintained by the open-source community.
There are Enterprise or commercial Linux distributions available for the commercial markets such as Red Hat Enterprise Linux (RHEL), Oracle Enterprise Linux (OEL), and Suse Linux Enterprise Server (SLES). These distros are normally available with a support subscription from the vendor. With support subscriptions, enterprises have access to the most updated versions of Linux Software, knowledge resources, security updates, and excellent support, advice, and guidance to deploy, configure, and maintain their system.
What Linux Distribution Should I Use?
If you just want one name to start your Linux experience with, It is suggested to use either “Ubuntu Linux” or its forked distribution “Linux Mint”. However, you can use any Linux distributions as a GUI client or use them as a Server.
When I started learning Linux, I used Red Hat Enterprise Linux (RHEL). The only reason I used it because I was studying the Red Hat course. Then in one of my jobs, I had a chance to work on Oracle Enterprise Linux. I also used Kali Linux for my cybersecurity courses and penetration testing. And these days, I am using Debian Linux. As a personal choice, Debian is my favorite for laptops and servers.
All Linux distributions have the same core utilities. Therefore, you can start with any Linux distribution and just stick to it. After using it for some time, you can try other distributions as well.
The Bottom Line
Linux Distros – You may use it when
Red Hat Enterprise Linux
You want to run business-critical applications and you want to buy support subscriptions so that you may have access to security updates, and excellent support, advice, and guidance to deploy, configure, and maintain your system.
You don’t want to pay for a license but still want to use Red Hat Enterprise Linux and want reliable access to toolkits and applications. Rocky Linux and AlmaLinux are two best alternatives to CentOS Linux.
Fedora acts as a testbed for RedHat. Therefore, you may find the latest software and features in the Fedora operating system. Before any feature is put into RHEL, it is first tested in Fedora. This may not be the best choice for business-critical server.
You want to use a highly stable operating system that is free with no licensing required. Debian is perfect for servers where stability is more important. And this is why Debian might not include some of the latest software releases and technologies.
You are a windows user and want to use a similar GUI with pre-installed software. Ubuntu server comes with CLI and specially designed to act as a Server operating system. Ubuntu Core is specially designed for IoT devices.
You are maintaining Oracle databases. Oracle Database is developed on Oracle Linux and it is well suited Linux OS for Oracle cloud applications, Oracle cloud platform, and Oracle cloud infrastructure. It includes Unbreakable Enterprise Kernel (UEK), which is specifically optimized for the best performance of Oracle software.
It can also be used as a stable operating system, forked from RHEL, for your enterprise servers.
You want to perform advanced Penetration Testing, Information security tasks, Security Auditing, Computer Forensics, and Reverse Engineering. This is the top-notch Linux operating system for Cybersecurity professionals, Certified Ethical Hackers with pre-installed tools including but not limited to Wireless Attack Tools, Reverse Engineering, Exploitation Tools, Forensics, Social Engineering Tools, Information Gathering Tools, Vulnerability Analysis Tools, Sniffing & Spoofing Tools, Password Cracking Tools.
It is completely free and is forked from Debian Linux.