Intro
One of the first concept you encounter when you want to install Linux is the “Linux distro”. The distribution or distro is a concept to group all parts of an Operating System as one disk image ready to be downloaded and facilitate the installation,it is associated with Linux and also with BSD family OS.
In this article, we will talk specifically about Linux distributions.
Linux Distros
Linux distros, or “distributions,” consist of various software components bundled together to create a complete operating system. Here are the most typical parts:
- Linux Kernel: The core of the OS.
- System libraries and tools: Typically GNU tools and basic libraries.
- Bootloader: Software that loads the OS, e.g., GRUB, systemd-boot.
- File system: Manages how data is stored, e.g., EXT4.
- Init system: Manages system initialization, e.g., systemd.
- Drivers: Ensure hardware components function correctly.
- Package Manager: Software that manages app installation, upgrades, and removal, e.g., pacman for Arch Linux, APT for Debian, etc.
- Installer Framework (multiple options): Software used for installing the OS, via CLI (arch-install-scripts, debootstrap), TUI (archinstall) or GUI (Calamares installer, Ubiquity, Anaconda).
- Desktop Environments (optional): Provide a Graphical User Interface for ease of use. Popular DEs are KDE, GNOME, XFCE, and Mate.
- Window System: Manages the display, e.g. Xorg (X11) or Wayland.
- Window Manager: Controls window behavior, e.g., floating (KDE Plasma) or tiling (i3 WM).
- Login Manager: Manages user logins, e.g., LightDM, SDDM.
- Menus and Launchers: Like dmenu and rofi.
- Global Themes: Customize the look and feel, including taskbars and wallpapers.
- GUI Apps: Include login manager, bar manager, launcher, file manager, terminal, web browser, text editor, etc.
When a distribution provides the core components such as the Linux kernel, a package management system, software repositories, and a set of default system libraries and tools, it is referred to as a Linux base distro.
Main Linux base distros
While there are hundreds of Linux distributions, the majority are based on these ten foundational Linux base distros.
Linux distro | Mantainer | Release model | Package manager | Source repository |
---|---|---|---|---|
Community | Rolling | Pacman (pkg.tar.zst + PKGBUILD) | Arch pkgs+AUR | |
Community | Fixed | APT (deb) | Debian pkgs | |
Red Hat | Fixed | DNF (rpm) | Fedora pkgs | |
SUSE | Mixed | Zypper (rpm) | OpenSUSE pkgs | |
Community | Rolling | Nix (nar or .nar.xz) | NixOS pkgs | |
Community | Rolling | Portage (tar.xz + ebuild) | Gentoo pkgs | |
Community | Rolling | XBPS (xbps.tar.xz) | Void pkgs | |
Community | LTS | Slackpkg (tar) | Slackware pkgs | |
Community | Rolling | eopkg (eopkg) | Solus pkgs | |
Community | Rolling | APK (apk) | Alpine pkgs |
What I Recommend
First choose choose the Base Distro and then the Desktop Environment based on your preferences and needs.
This way you will not waste your time switching frequently from one distro to another, a concept known as distro-hopping, which many Linux streamers do these days to create content. If you want to explore other options, consider doing so on a virtual machine before making any changes.
Easy installation: Preconfigured Linux distros
If you’re looking for a family-friendly Linux option, consider using a major distribution that comes with a preinstalled desktop environment (DE) like GNOME or KDE. These distributions are well-maintained, feature robust community support, and offer a user-friendly experience.
Distro base | Derivative distro |
---|---|
Arch-based | |
Debian-based | |
Fedora-based |
Advanced installation: Minimal distros
These installations are for advanced users and can be time-consuming
For those interested in a deeper understanding of the installation process, consider these minimal Linux distros that require manual setup via the terminal. Unlike preconfigured distributions, they offer a bare-bones environment for users to build and customize according to their needs.
- Alpine Linux: A lightweight, minimal, and secure distribution focused on simplicity and efficiency.
- Arch Linux: Provides a minimal base system for users to configure and install packages and desktop environments.
- Debian Netinstall: Offers a minimal Debian installation allowing users to choose software during setup.
- Gentoo: Features a highly customizable base where users compile software from source.
- Slackware: Known for its simplicity and minimalism, requiring manual configuration and software installation.
Developer installation: Build the distro
For enthusiasts and those who enjoy a challenge, there’s the exciting option to build your own Linux distribution. You can create a customized Linux distro using various tools designed for building live ISOs, such as: archiso, DebianLive, Fedora LiveCD Tools Alternatively, if you’re up for a more hands-on and educational experience, you can build a Linux system from scratch by following the Linux From Scratch (LFS) documentation. This approach involves assembling every component of your Linux system manually, giving you in-depth knowledge and control over the operating system you build.