Skip to main contentBongbetic

Linux

Linux is a kernel. Everything else is paperwork.

Kernel, distribution, desktop, init system and package manager: which is which, and who to blame when one of them fails.

Read the explainersSee the timeline

Which part is which

People say 'Linux' for the whole stack. Strictly, Linux is the kernel; the rest is assembled by other people. Here is the stack, bottom to top.

  • Kernel

    The core that talks to the hardware.

    The kernel schedules processes, manages memory and drives hardware through drivers. Linux is a kernel, started by Linus Torvalds in 1991 and now developed by thousands of contributors. On its own it is not something you can sit down and use.

    Linux
    FreeBSD (a different kernel, not Linux)

    When it fails: a kernel panic, which is a short funeral for your uptime.

  • C library

    The layer almost every program calls to ask the kernel for things.

    The C library wraps system calls and provides the standard C functions. Most distros use glibc; a few, such as Alpine and one flavour of Void, use musl, which is smaller and stricter. Binaries built for one generally do not run on the other.

    glibc
    musl

    This is why a proprietary program that 'works on Linux' sometimes does not work on your Linux.

  • Distribution (distro)

    A kernel plus everything needed to make it usable, packaged by a project.

    A distribution bundles the kernel, the C library, core tools, an init system, a package manager, an installer and a set of defaults, then publishes updates for them. Two distros can ship the same kernel and feel nothing alike.

    Debian
    Fedora
    Arch Linux
    Void Linux

    Choosing one is a personality test with fewer questions and more forum posts.

  • Init system

    The first process. It starts everything else.

    After the kernel boots it starts one program, PID 1, which brings up services such as networking and logging and cleans up orphaned processes. systemd is the most common. Void uses runit, Alpine and Gentoo use OpenRC, and older systems used sysvinit.

    systemd
    runit
    OpenRC
    sysvinit

    Few topics have ended more friendships. In 2014 it split Debian's technical committee 4 to 4.

  • Package manager

    Installs, updates and removes software, and tracks what needs what.

    A package manager fetches signed packages from repositories and resolves their dependencies, so installing one program can pull in thirty libraries. Each distro family has its own tool and package format.

    apt (Debian, Ubuntu)
    dnf (Fedora)
    pacman (Arch)
    xbps (Void)
    apk (Alpine)

    Dependency hell is when package A wants library B version 2, package C wants version 1, and you want both.

  • Desktop environment

    The windows, panels, menus and settings you actually look at.

    A desktop environment is a bundle of a window manager or compositor, a panel, a file manager and settings tools. It is mostly independent of the distro: many distros offer several, and the same desktop runs on many distros. Modern ones run on Wayland or the older X11.

    GNOME
    KDE Plasma
    Xfce
    Cinnamon

    Your desktop choice is the part of Linux your relatives will notice.

Trunk milestones

Selected dates from Unix to Linux 7. Compiled from a research snapshot dated 2026-10-09; versions after that date will have moved on.

  1. Ken Thompson writes Unix on a spare PDP-7 at Bell Labs.
  2. First edition of the UNIX Programmer's Manual.
  3. Unix V4 is rewritten in C.
  4. The GNU project is announced.
  5. Linus Torvalds posts to comp.os.minix about a free operating system, 'just a hobby'.
  6. Linux 0.01.
  7. Andrew Tanenbaum posts 'LINUX is obsolete'. A famous argument follows.
  8. The kernel moves to the GPL.
  9. First distributions appear: MCC Interim (February), SLS (June), Yggdrasil (December 8).
  10. Slackware, the oldest distribution still maintained.
  11. Debian is announced by Ian Murdock.
  12. S.u.S.E. 1.0 in March; Red Hat Linux on November 3.
  13. Linux 2.0 arrives with SMP support.
  14. Mandrake Linux.
  15. Arch Linux (March 11), Red Hat Enterprise Linux (March 26), Gentoo 1.0 (March 31).
  16. Fedora Core 1. Red Hat Linux is retired.
  17. Ubuntu 4.10.
  18. Void Linux begins as a testbed for the XBPS package manager. Android also ships.
  19. Linux 3.0.
  20. Debian chooses systemd as its default init; Devuan forks in protest.
  21. Every system on the TOP500 supercomputer list runs Linux.
  22. Linux 6.0.
  23. The xz backdoor is found. CentOS 7 reaches end of life on June 30.
  24. Intel's Clear Linux is shut down.
  25. Debian GNU/Hurd 2025 is released, 42 years after the GNU announcement.
  26. openSUSE Leap 16.0.
  27. COSMIC 1.0 and Pop!_OS 24.04 LTS.
  28. Linux 7.0.
  29. Linux 7.2.