Skip to Content

What is Linux?

Technically, Linux is an open-source operating system kernel.

A kernel is the core component of an operating system. It acts as the critical interface between a computer’s hardware and the software applications running on it. The kernel is responsible for managing hardware resources (like the CPU, memory, and devices), allowing the OS and its applications to function.

Linux was famously developed by Linus Torvalds in 1991 as a free and open-source alternative to the proprietary Unix operating system.

It is “open source” because its source code is freely available. It’s licensed under the GNU General Public License (GPL), which grants users the freedom to view, modify, and even distribute the code.

From Kernel to OS: The Role of GNU

While the Linux kernel is the core, it isn’t a complete operating system on its own. To create a functional OS, the kernel needs to be bundled with a collection of software tools and libraries.

This is where the GNU project comes in.

“GNU” stands for “GNU’s Not Unix.” Started by Richard Stallman in 1983, the GNU project’s goal was to create a complete, free, and Unix-like operating system. The GNU project successfully built all the essential components except for a kernel.

When the Linux kernel was released, it was the final missing piece. The combination of the GNU tools and the Linux kernel created a complete, free operating system. This is why many technically refer to the system as “GNU/Linux”.

Note on Naming: While the term “Linux” is commonly used to refer to the entire operating system, you will often see it written as “GNU/Linux”. This name explicitly acknowledges the crucial contributions of the GNU project, which provides the essential software that turns the kernel into a complete, functional OS.

Common GNU Components

The GNU project provides many of the essential command-line tools you’ll use daily. Key components include:

  • GNU Compiler Collection (GCC): A set of compilers for programming languages like C, C++, and Fortran.
  • GNU C Library (glibc): The standard C library that provides essential functions for system calls and basic operations.
  • GNU Core Utilities (coreutils): A collection of basic file, shell, and text manipulation utilities (e.g., ls, cp, mv).
  • GNU Bash (Bourne Again SHell): The most widely used command-line shell and scripting language.
  • GNU Make: A build automation tool used to manage the compilation of source code.
  • GNU Debugger (GDB): A powerful debugger for programs written in various programming languages.

At a Glance: Kernel vs. Operating System

It’s helpful to visualize the distinction clearly.

  • The Linux Kernel is the “brain” of the operation. It’s the core layer that sits on top of the hardware. Its primary jobs are:

    • Memory Management
    • Process Scheduling
    • Device Drivers
    • File System Management
  • An Operating System (OS) is the complete package that a user interacts with. It includes:

    • The Linux Kernel
    • GNU Tools and Libraries (like glibc, coreutils, bash)
    • A Windowing System (like X11 or Wayland)
    • A Desktop Environment (like GNOME or KDE)
    • User Applications (like a web browser or text editor)

In short, the kernel manages the hardware, and the OS provides the complete environment for users and applications.


Understanding Linux Distributions

Having understood the kernel and GNU tools, the next logical step is to grasp what a “Linux distribution” is, as this is how most users actually interact with Linux.

A Linux distribution (often called a “distro”) is a complete, installable operating system created from the combination of the Linux kernel and a curated selection of other software.

As we discussed, the Linux kernel on its own is just an engine. A distribution is what makes it a functional, ready-to-use car by bundling all the necessary components into a single, cohesive package.

Different companies and communities (like Red Hat, Canonical, and the Debian Project) build different “cars” for different types of drivers and purposes.

What’s in a Distribution?

Every distribution bundles a unique combination of components, but most include:

  • The Linux Kernel
  • GNU Tools and Libraries (like glibc, coreutils, and bash)
  • A Package Manager: A critical tool for installing, updating, and removing software (e.g., apt, dnf, pacman).
  • A Display System: (e.g., X11 or Wayland), which handles graphical output.
  • A Desktop Environment (DE): The graphical user interface (GUI) you interact with (e.g., GNOME, KDE, XFCE).
  • User Applications: A selection of default software, such as a web browser, text editor, and office suite.

The “Flavors” of Linux: Major Distro Families

The reason there are hundreds of Linux distributions is that each one is “flavored” by its:

  1. Package Manager: How it handles software installation, updates, and removal.
  2. Philosophy: Is its goal stability, cutting-edge features, or user-friendliness?
  3. Target Audience: Is it designed for new users, servers, advanced developers, or specific use cases?

Most distributions are not built entirely from scratch. Instead, they are “downstream” versions of older, “upstream” projects. This creates major “families” of Linux, sharing a common heritage and package management system.

1. Debian-Based Family

This is one of the oldest and largest branches. Its philosophy is built on stability, community, and a strong commitment to free software.

  • Package Management: Uses the .deb package format and the apt / dpkg tools.
  • Key Distros:
    • Debian: The “upstream” source. Famous for its rock-solid stability, making it a popular choice for servers.
    • Ubuntu: A “downstream” derivative of Debian. It focuses on user-friendliness for both desktops and servers. It’s one of the most popular distros in the world and a standard in the cloud.
    • Linux Mint: Based on Ubuntu, it provides a very traditional and beginner-friendly desktop experience.

2. Red Hat-Based (RPM) Family

This branch is heavily focused on the enterprise and commercial support. It is known for driving cutting-edge features (like systemd and Flatpak) into the Linux ecosystem.

  • Package Management: Uses the .rpm package format and the dnf / yum tools.
  • Key Distros:
    • Red Hat Enterprise Linux (RHEL): The commercial, enterprise-grade OS. Companies pay Red Hat for long-term support, stability, and certifications.
    • Fedora: The community-driven “upstream” project for RHEL. It features the latest software and is for users who want cutting-edge features. Think of it as the testing ground for future RHEL versions.
    • CentOS Stream: A rolling-release distro that sits “just ahead” of RHEL. It’s the development version of RHEL, used for testing and contributions.
    • (Other Notables): openSUSE also uses .rpm but is a separate, independent family with its own philosophy and powerful YaST configuration tool.

3. Arch-Based Family

This family follows a “Keep It Simple, Stupid” (KISS) and “Do It Yourself” (DIY) philosophy. It provides a minimal base system and expects the user to build and configure it to their exact liking.

  • Package Management: Uses pacman and has access to the Arch User Repository (AUR), a massive community-driven repository of software.
  • Key Distros:
    • Arch Linux: The “pure” version. You install everything manually from the command line. It’s a “rolling release” distro, meaning it’s constantly updated (no major “versions”).
    • Manjaro: Based on Arch, but provides a user-friendly installer and pre-configured desktop to make Arch’s power more accessible to everyday users.
Last updated on