Table of Contents Link to heading
The GNU/Linux Operating System Link to heading
What is commonly called “Linux” is more precisely GNU/Linux โ a combination of two distinct software layers that together form a complete operating system.
Understanding the distinction matters when troubleshooting, selecting distributions, or evaluating system behaviour: when something fails at the hardware abstraction layer, that’s a kernel problem; when a command behaves unexpectedly, that’s likely a GNU userland issue.
GNU: The Userland Link to heading
GNU (GNU’s Not Unix) is the collection of free software that surrounds the kernel and provides the tools users and administrators interact with โ shells, compilers, text utilities, libraries, and system programs. GNU tools are open-source equivalents of the UNIX command set, designed to be compatible with UNIX standards while remaining fully free.
Without the GNU layer, a Linux kernel alone is not an operational system โ it can manage hardware and run processes, but there would be no shell to accept commands, no utilities to manage files, and no libraries for applications to link against.
Linux: The Kernel Link to heading
The Linux kernel is the core of the operating system. It is loaded at boot time by the bootloader and remains running for the lifetime of the system, managing every aspect of hardware and process interaction.
Core kernel responsibilities:
- System call interface: The API boundary between user-space programs and kernel-space operations
- Process management: Scheduling, creating, and terminating processes
- Memory management: Virtual address space allocation, paging, swap management
- Virtual filesystems: Abstracting storage devices behind a uniform file interface
- Networking: TCP/IP stack, socket management, network device drivers
- Device drivers: Hardware abstraction for disks, NICs, GPUs, USB devices, and more
Open Source Link to heading
Historically, most commercial software was distributed under closed-source licences โ users received a compiled binary and the legal right to run it, but could not inspect, modify, or redistribute the source code. The source was proprietary.
Open source inverts this model: the source code is made available, users may inspect it, modify it for their own purposes, and (depending on the licence) redistribute modified versions. Linux was developed from the outset as open-source software, and its development model โ distributed, community-driven, transparent โ directly parallels the rise of open-source software as an industry force.
For a sysadmin, open source has concrete operational value: when a system behaves unexpectedly, the source is available to read. Kernel bugs can be traced to specific commits. Security vulnerabilities can be independently verified and patched without waiting for a vendor.
Distributions Link to heading
A Linux distribution (distro) is a packaged, deployable operating system built from the Linux kernel, GNU tools, a package manager, and a curated set of applications. The distribution maintainers make decisions about which kernel version to ship, how to configure defaults, what init system to use, and how to package and deliver software updates.
Different distributions optimise for different use cases:
- Server workloads: RHEL, Debian, Ubuntu Server, Rocky Linux โ stability, long-term support, enterprise tooling
- Desktop use: Ubuntu Desktop, Fedora, Linux Mint โ hardware support, user-friendly defaults, modern applications
- Specialised environments: Kali Linux (security testing), Scientific Linux (research), Raspbian (ARM/embedded)
- Minimal/custom: Arch Linux, Gentoo, Linux From Scratch โ for users who want full control over every component
User Interfaces Link to heading
Linux supports two interaction models. Most sysadmin and DevOps work favours the CLI for its precision, scriptability, and remote accessibility โ but both interfaces serve distinct purposes.
Graphical User Interface (GUI) Link to heading
A GUI presents applications in windows with menus, buttons, and visual controls. Linux GUI environments (GNOME, KDE Plasma, XFCE) run on top of a display server (X11 or Wayland) and are appropriate for desktop workstations, local development environments, and tasks where visual context aids productivity.
Server systems typically run without a GUI entirely โ the overhead of a display server adds attack surface and resource consumption without operational benefit.
Command-Line Interface (CLI) Link to heading
The CLI accepts commands as text input and returns text output. It is the primary interface for remote server administration (via SSH), automation, scripting, and any task that requires precise, repeatable execution.
The power of the CLI is composability: individual tools with narrow, well-defined functions can be chained together through pipes to accomplish complex operations that no single tool provides. This is the Unix philosophy in practice, and it is why fluency in the CLI is a foundational sysadmin skill.