Why I Decided to Write This Article

Recently, I came across a social media post that essentially said:

“Red Hat-based and Debian-based systems are both Linux, yet they feel completely different to use. Aren’t they practically different operating systems?”

For people who have been using Linux distributions for many years, this kind of discussion is so familiar that it hardly needs explanation. However, for someone coming from macOS or Windows and trying Linux for the first time, it is natural to assume that there is a single operating system called “Linux.” Discovering that there are countless distributions can be quite confusing.

As someone who has written many Linux-related articles, I realized that I had never directly addressed this topic. Although there are already plenty of explanations available online, I felt it would be worthwhile to organize my own thoughts into an article.

I’ll try to explain things in a way that is easy for beginners to understand. If you’ve ever wondered:

  • Why are there so many kinds of Linux?
  • Why do systems that are all called Linux behave differently?

then I hope you’ll find this article useful.

Linux Is the Name of a Kernel

The word “Linux,” which is now widely recognized around the world, is actually the name of a kernel—the core component of an operating system.

The Linux kernel is responsible for critical tasks such as:

  • Memory management
  • Process management
  • Network management
  • File system management
  • Device driver management

The name “Linux” comes from its creator, Linus Torvalds.

However, the Linux kernel alone is not enough to function as a modern operating system (we will discuss what an operating system is later). To make the kernel usable, many tools are needed in user space—the area outside the kernel where users interact with the system.

It is important to remember that these tools are developed by projects other than Linux itself.

Free Software and the Relationship Between GNU and Linux

Many readers may already know that Linux is open-source software created by Linus Torvalds and released under the GPL-2.0 license.

Without going into all the details of GPL-2.0, the license allows anyone to:

  • Run the software
  • Redistribute it
  • Modify it

However, if you distribute a modified version to others, you must comply with the GPL’s requirements, including making the source code available.

Going back a bit further in history, Richard Stallman launched the GNU Project with the goal of creating a Unix-compatible operating system built on free software principles. The GNU Project had already produced many important user-space tools before Linux appeared.

GNU also developed its own kernel, GNU Hurd, but it ultimately never achieved widespread adoption.

In hindsight, Linux was fortunate to emerge at a time when GNU had already provided a rich collection of tools that could be combined with the kernel.

The combination of the Linux kernel and GNU software is often referred to as GNU/Linux.

Even today, many Linux distributions consist primarily of the Linux kernel together with GNU user-space tools. Popular distributions such as Ubuntu, Debian, and Fedora all fall into this category.

What Is an Operating System?

We’ve discussed the Linux kernel and GNU tools, but what exactly is an operating system (OS)?

I believe the term “operating system” is commonly used in two different senses: a narrow definition and a broad definition.

The Narrow Definition

In computer science, an operating system is the software responsible for tasks such as:

  • Memory management
  • Process management
  • File management
  • Network management

In this context, the term usually refers to the kernel and closely related system components.

Under this definition, programs such as Bash are considered applications rather than part of the operating system itself.

The Broad Definition

In everyday conversation, the term OS is often used more broadly.

For example:

“Do you use macOS or Windows?”

In this sense, people typically include not only the kernel but also system administration tools, graphical desktop environments, and other core software that makes the system usable.

Linux distributions are designed to provide this broader concept of an operating system. They combine the Linux kernel with GNU user-space tools, desktop environments, office suites, web browsers, and many other components.

Why Are There So Many Linux Distributions?

There are many Linux distributions because there are countless choices regarding which components should accompany the Linux kernel.

A distribution’s characteristics are determined by decisions such as:

  • Which architectures to support
  • Which tools to include
  • Which design philosophies to follow

Some of the major components that differentiate distributions include:

  • Architecture: ARM, x86-64, i386, etc.
  • Init system: systemd, OpenRC, runit, dinit, etc.
  • Package manager: DNF, APT, Pacman, XBPS, etc.
  • Standard C library: glibc, musl libc, etc.
  • User-space tools: Coreutils, iproute2, net-tools, etc.
  • Security frameworks: AppArmor, SELinux, etc.
  • Desktop environments: GNOME, KDE, Xfce, LXQt, etc.

The decision of what to include—and what not to include—is guided by the philosophies of companies and communities.

Linux distributions represent different visions of what an ideal operating system should be.

Distribution Families

Although there are countless Linux distributions, several major families emerged through historical development.

It would be impossible to cover every distribution, so I will briefly introduce only the most influential ones.

Keep in mind that some distributions change direction significantly over time, and classification is not always clear-cut. Different people may categorize distributions differently. For example, Arch Linux was often considered an independent distribution when it first appeared.

The two largest families are generally considered to be the Red Hat family and the Debian family. Other notable families include SUSE, Slackware, Arch, Mandriva, and several independent distributions.

Linux Distributions
├─ Debian Family
│  ├─ Debian
│  ├─ Ubuntu
│  └─ Linux Mint
│
├─ Red Hat Family
│  ├─ Fedora
│  ├─ RHEL
│  ├─ Rocky Linux
│  └─ AlmaLinux
│
├─ Arch Family
│  ├─ Arch Linux
│  ├─ Manjaro
│  └─ EndeavourOS
│
├─ SUSE Family
│  ├─ openSUSE
│  └─ GeckoLinux
│
├─ Mandriva Family
│  ├─ Mageia
│  ├─ OpenMandriva
│  └─ PCLinuxOS
│
├─ Slackware Family
│  ├─ Slax
│  └─ Puppy Linux
│
└─ Independent Distributions
   ├─ Gentoo
   ├─ Solus
   └─ Void Linux

Red Hat Family

This family includes Red Hat Enterprise Linux (RHEL), AlmaLinux, Rocky Linux, Fedora, and related distributions.

Their defining characteristic is the use of RPM packages managed through tools such as DNF and Yum.

Debian Family

The Debian family originates from Debian, a community-driven project founded by Ian Murdock and guided by the Debian Social Contract.

It uses DEB packages managed through APT (Advanced Package Tool).

Ubuntu, derived from Debian, played a major role in bringing Linux to a wider audience and has inspired numerous derivatives including Linux Mint, Zorin OS, and elementary OS.

Slackware Family

Created by Patrick Volkerding, Slackware is the oldest surviving Linux distribution.

Its focus on simplicity and manual system administration continues to attract power users who prefer direct control over their systems.

Notable derivatives include Slax and Puppy Linux.

Arch Family

Arch Linux was created by Canadian programmer Judd Vinet, drawing inspiration from simple systems such as Slackware, BSD, and CRUX.

Its package manager, Pacman, remains one of its defining features.

Popular Arch-based distributions include Archcraft, Garuda Linux, EndeavourOS, and Manjaro.

SUSE Family

The SUSE family includes SUSE Linux Enterprise and community-driven openSUSE.

It uses RPM packages and provides the YaST administration framework.

Although it was historically associated with Slackware, it is generally considered an independent family today.

Mandriva Family

The Mandriva family traces its roots back to Mandrake Linux, which itself originated from Red Hat Linux.

Notable examples include OpenMandriva, Mageia, and PCLinuxOS.

These distributions typically use RPM packages managed through DNF, urpmi, or related tools.

Independent Distributions

Some distributions do not fit neatly into any major family.

A well-known example is Gentoo Linux, which emphasizes source-based package management and is often described as a meta-distribution.

Other examples include Solus, Void Linux, and Chimera Linux.

Why Do Red Hat-Based and Debian-Based Systems Use Different Commands?

Red Hat-based and Debian-based distributions are often compared because they evolved independently and adopted different design philosophies.

Many commands are simply the names of programs or scripts. When different distributions choose different tools, command names naturally differ as well.

After Ubuntu gained popularity under Canonical’s leadership, comparisons between Ubuntu-based systems and Red Hat Enterprise Linux (along with compatible distributions such as AlmaLinux) became increasingly common.

As a result, package management and system administration commands may differ between the two families.

For example:

Purpose Common on Red Hat-based Systems Common on Debian-based Systems
Package management dnf apt
Firewall management firewall-cmd ufw

Note: Debian-based distributions can install and use firewalld and firewall-cmd, while Red Hat-based distributions can also use UFW. These are simply the defaults most commonly associated with each family.

Ultimately, these differences exist because different distributions choose different tools according to their own philosophies and goals.

Final Thoughts

In this article, I have attempted to explain what Linux distributions are and why so many of them exist.

As mentioned earlier, people coming from macOS or Windows often find the concept of distributions confusing. Questions such as:

  • Why are there so many versions of Linux?
  • Why do Linux systems behave differently from one another?

are perfectly reasonable.

I hope this article helps answer some of those questions.

Although I tried to keep things beginner-friendly, a few technical terms were unavoidable. If you encounter unfamiliar concepts, I encourage you to look them up and continue exploring.

Technology articles are often written by experts for other experts. However, if we want Linux to continue growing, we need more approachable explanations aimed at newcomers.

Thank you for reading, and I hope you enjoy your Linux journey.

References