Penguin Pages / unofficial Linux reference / plain static HTML loading local time...
Tux, the Linux mascot

Penguin Pages

An unofficial Linux reference shelf for kernel notes, boot repair, system administration, command examples, source tree maps, desktop notes, filesystems, init systems, security, audio, virtualization, and distribution documentation.

site: static kernel docs: linked display: 800x600 friendly license: GPL-3.0

Welcome to the Linux shelf.

Penguin Pages is a compact reference site in the old Linux mirror tradition: restrained colors, small type, hard borders, dense links, and notes that are meant to be read.

what is here?

  • Kernel boot parameter notes
  • /proc, /sys, modules, devices, initramfs
  • Boot chain and recovery commands
  • Filesystem, init, security, audio, virtualization, and networking notes
  • Source tree map for browsing Linux kernel code
  • X.Org, Wayland, Mesa, DRM, and desktop stack references
  • A tiny local lookup shell for common Linux topics

classic reading order

  1. Learn paths, permissions, shells, and logs.
  2. Read man hier, man boot, and the docs for your init system.
  3. Learn how your bootloader finds the kernel and initramfs.
  4. Learn storage, networking, users, services, and package tools.
  5. Build a kernel once, even if you never daily-drive it.
  6. Keep notes when you fix things.

sample boot log

[    0.000000] Linux version 6.x.x (builder@penguinbox)
[    0.000000] Command line: root=UUID=... rw loglevel=3
[    0.120241] x86/fpu: Supporting XSAVE feature 0x001
[    0.428922] ACPI: bus type PCI registered
[    1.104911] virtio_blk virtio2: 1/0/0 default/read/poll queues
[    2.021014] EXT4-fs mounted filesystem with ordered data mode
[    2.880100] init: reached multi-user target
                

Old rule: read the logs first. They are not friendly, but they are usually honest.

Site crew.

Penguin Pages is maintained as a small static GitHub Pages site. This page lists the active people working on the site and the main project links.

active maintainers

person role github
RobertFlexx Main design and maintainer. Handles the site direction, old-web layout, content structure, and repository upkeep. github.com/RobertFlexx
Moritisimor Active developer. Works on site development, fixes, additions, and keeping the page useful as it grows. github.com/Moritisimor

about the site

Penguin Pages is built as a plain static website with separate HTML, CSS, and JavaScript files. The goal is to keep it readable, fast, easy to host, and easy to edit without needing a build system.

The design follows an old Linux documentation mirror style: simple boxes, small text, practical links, and direct reference material.

development focus

  • Keep the site lightweight and static.
  • Use real project links and official documentation where possible.
  • Keep tabs organized by Linux topic.
  • Keep the style consistent with early Linux reference pages.
  • Avoid unnecessary frameworks, tracking, and heavy page effects.

Kernel documentation notes.

The kernel is memory management, schedulers, filesystems, drivers, networking, architecture code, process handling, security hooks, build logic, and many small interfaces that userspace quietly depends on.

how to read this page

Start with the boot parameters and virtual filesystems, then move to modules and logs. Most kernel troubleshooting begins with dmesg, /proc/cmdline, loaded modules, and the exact hardware or filesystem involved.

official kernel documentation

boot parameters

parameter purpose example
root= Root filesystem device or UUID. root=UUID=abcd-1234
rw / ro Mount root read-write or read-only during early boot. rw
init= Use a specific first userspace process. init=/bin/sh
loglevel= Control console kernel message verbosity. loglevel=7
nomodeset Disable kernel mode setting for graphics debugging. nomodeset
systemd.unit= Boot to a systemd target. systemd.unit=rescue.target
single Request single-user or rescue style boot on many systems. single
panic= Automatically reboot after a panic delay. panic=10

/proc

Runtime process and kernel information. Try cat /proc/cpuinfo, cat /proc/meminfo, cat /proc/cmdline, and cat /proc/mounts.

/sys

Kernel object model exported to userspace. Devices, buses, drivers, firmware, power, and module attributes live here.

/dev

Device nodes. Disks, terminals, loop devices, random devices, input devices, and pseudo devices are exposed as files.

module workflow

# list loaded modules
lsmod

# inspect a module
modinfo i915

# load and unload manually
sudo modprobe loop
sudo modprobe -r loop

# show kernel ring buffer
sudo dmesg -T
                

Linux kernel lab.

This tab is for kernel source, releases, building, patching, and Linux From Scratch references. It keeps the deeper kernel material separate from the basic kernel notes.

official kernel sources

resource link use
The Linux Kernel Archives kernel.org Main place to find current kernel releases, tarballs, patches, changelogs, and release information.
Kernel release list kernel.org releases Explains mainline, stable, and longterm release categories.
Kernel source archive cdn.kernel.org/pub/linux/kernel Direct archive tree for kernel tarballs and patches.
Official git browser git.kernel.org Browse official kernel git repositories.
Torvalds tree torvalds/linux on git.kernel.org Mainline Linux kernel source tree.
GitHub mirror github.com/torvalds/linux Convenient read-only style mirror for browsing and cloning.
Bootlin Elixir Bootlin source browser Search and cross-reference Linux kernel source online.

release types

type meaning good use
mainline Current development release line after a merge window. Testing new kernel work and following current development.
stable Released kernel with bug fixes backported after mainline release. General users who need newer hardware support or fixes.
longterm Older supported kernel maintained for a longer period. Servers, appliances, conservative systems, and production-style setups.
linux-next Integration tree for upcoming kernel work. Developers testing future merge material, not normal installs.

get the source

# clone mainline from kernel.org
git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
cd linux

# or clone the GitHub mirror
git clone https://github.com/torvalds/linux.git
cd linux

# check current version
make kernelversion
                

basic kernel build

# start from the running distro kernel config
cp /boot/config-$(uname -r) .config

# update config for the new tree
make olddefconfig

# optional terminal config menu
make menuconfig

# build kernel and modules
make -j$(nproc)

# install modules and kernel
sudo make modules_install
sudo make install
                

Many distributions handle bootloader updates differently. Keep an older working kernel in your boot menu.

Debian and Ubuntu style packages

# build Debian packages from a kernel tree
make -j$(nproc) bindeb-pkg

# install generated packages from parent directory
cd ..
sudo dpkg -i linux-image-*.deb linux-headers-*.deb
                  

Arch style package path

Arch users usually build kernels through PKGBUILDs, the Arch Build System, or custom packages. This keeps the kernel tracked by pacman instead of scattering files outside the package database.

asp export linux
cd linux
makepkg -s
                  

patching sketch

# apply a patch
patch -p1 < ../some-kernel.patch

# inspect changes
git diff

# build after patching
make olddefconfig
make -j$(nproc)
                

For serious kernel work, use git branches, keep patches small, and read the kernel development process documentation.

Linux From Scratch

resource link use
LFS home linuxfromscratch.org Main project site.
Read LFS online LFS read online Read current stable and development books.
Download LFS LFS download Download the book in available formats.
Beyond Linux From Scratch BLFS Desktop, networking, server, and extended package instructions after base LFS.
Hints LFS hints Community notes and extra build ideas.
Kernel build warning: do not replace your only working kernel. Keep a known-good distro kernel installed, keep the bootloader menu visible, and test custom kernels before relying on them.

Boot chain and recovery notes.

A Linux boot usually fails at one layer: firmware, bootloader, kernel, initramfs, root filesystem, init system, display manager, or user session. Name the layer before replacing random packages.

boot repair rule

Work in order. Check firmware entries, bootloader config, kernel files, initramfs contents, root filesystem UUIDs, and service logs. Random reinstalling usually hides the real problem.

boot path

stage what happens common clues
firmware UEFI or BIOS initializes hardware and picks a boot entry. No boot menu, missing disk, wrong EFI entry.
bootloader GRUB, systemd-boot, Limine, rEFInd, or another loader starts the kernel. GRUB prompt, missing config, wrong UUID.
kernel Hardware discovery, drivers, mounts, and early console output. Kernel panic, driver errors, root not found.
initramfs Temporary early userspace assembles storage and mounts root. Emergency shell, missing modules, LUKS or LVM issue.
init systemd, runit, OpenRC, s6, dinit, or another init starts services. Failed units, stuck target, service loops.
login/session Display manager, shell login, desktop session, user services. Black screen, login loop, broken user config.

chroot repair pattern

# from a live USB, adjust partitions first
sudo mount /dev/nvme0n1p2 /mnt
sudo mount /dev/nvme0n1p1 /mnt/boot/efi
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt

# example GRUB EFI reinstall
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Linux
grub-mkconfig -o /boot/grub/grub.cfg
                

initramfs tools

  • Debian or Ubuntu: update-initramfs -u
  • Arch: mkinitcpio -P
  • Fedora: dracut --force
  • Generic dracut: dracut --regenerate-all --force

boot inspection

  • efibootmgr -v lists UEFI entries.
  • lsblk -f shows UUIDs and filesystems.
  • cat /proc/cmdline shows kernel args.
  • journalctl -xb shows current boot logs.

Sysadmin field notes.

Most repair work is finding which layer lied to you: firmware, bootloader, kernel, initramfs, root filesystem, init system, display stack, network stack, package database, or user config.

admin method

Before editing config files, collect basic facts: what changed, which service failed, which log mentions it, which package owns the file, and whether the problem happens for a fresh user account.

filesystem layout

path role
/boot kernel, initramfs, bootloader files
/etc system configuration
/usr programs, libraries, shared data
/var logs, cache, databases, spools
/home user files and per-user config
/run runtime state since boot

first checks

  • journalctl -xb for current boot errors.
  • dmesg -T for kernel and driver messages.
  • lsblk -f for block devices and filesystems.
  • ip addr and ip route for networking.
  • systemctl --failed for failed units.
  • df -h for full filesystems.

users and permissions

task command
show identity id
change owner sudo chown user:group file
change permissions chmod 755 script.sh
show ACL getfacl file
edit sudo permissions sudo visudo
add user to group sudo usermod -aG group user
Rule of thumb: fix the simplest layer first. Cable, disk, partition, filesystem, bootloader, kernel, initramfs, service, user session.

Command cribsheet.

A small shelf of commands that eventually become muscle memory. None of this replaces the manual pages, but it gets you moving.

command habit

Prefer commands that show state before commands that change state. Read with lsblk , findmnt , ip , ss , journalctl , and systemctl status before editing files or restarting services.

daily shell

task command
find files by name find . -name "*.conf"
show tree size du -h --max-depth=1 .
watch a command watch -n1 free -h
search text grep -R "needle" /etc
list sockets ss -tulpn
show open files lsof -i
process tree ps auxf
environment printenv

network

ip addr
ip route
resolvectl status
ping -c 4 1.1.1.1
tracepath kernel.org
nmcli dev status
ss -tulpn
                  

storage

lsblk -f
blkid
findmnt
df -h
sudo smartctl -a /dev/sda
sudo btrfs filesystem usage /
sudo zpool status
                  

package managers

system install search
Debian or Ubuntu sudo apt install pkg apt search pkg
Fedora sudo dnf install pkg dnf search pkg
Arch sudo pacman -S pkg pacman -Ss pkg
openSUSE sudo zypper in pkg zypper se pkg
Void sudo xbps-install pkg xbps-query -Rs pkg
Gentoo sudo emerge pkg emerge --search pkg

mini lookup shell

lookup$

Linux source tree map.

The kernel source tree looks scary until the top-level directories become familiar. Start by reading names, then build paths, then small subsystems.

browsing advice

Use a source browser first, then clone the tree later. Follow one subsystem at a time. For example, a filesystem path usually touches fs/ , headers in include/ , and shared code in kernel/ or mm/ .

top level directories

directory what lives there
arch/ Architecture-specific code: x86, arm64, riscv, powerpc, and more.
block/ Block layer and request handling.
drivers/ The giant driver forest: GPU, USB, PCI, net, storage, input, sound, etc.
fs/ Filesystem implementations and VFS glue.
include/ Kernel headers and public UAPI headers.
init/ Early kernel init and startup path.
kernel/ Core scheduler, locking, time, signals, tracing, cgroups, and process machinery.
mm/ Memory management.
net/ Networking stack.
security/ LSM framework and security modules.
tools/ Userspace tooling like perf and testing helpers.

build sketch

# configure
make menuconfig

# build with all cores
make -j$(nproc)

# install modules and kernel
sudo make modules_install
sudo make install

# update bootloader if your distro does not do it automatically
sudo grub-mkconfig -o /boot/grub/grub.cfg
                

patch culture

The kernel is developed through mailing lists, maintainers, subsystem trees, review, signed-off patches, and a long memory for broken changes. Read the development process docs before sending patches.

Graphics stack notes.

Linux graphics is a stack: kernel DRM and KMS, Mesa or vendor drivers, display server or compositor, toolkit, desktop shell, and applications. Debug from the bottom upward.

graphics method

First identify the GPU, kernel driver, session type, and userspace graphics libraries. Most desktop issues make more sense after checking whether the session is X11 or Wayland and whether hardware acceleration is active.

X.Org and Wayland

project link notes
X.Org x.org Open source implementation of the X Window System.
X.Org documentation X.Org docs User documentation, protocol specs, client programming references.
Wayland wayland.freedesktop.org Protocol and architecture intended to replace X11.
freedesktop.org freedesktop.org wiki Desktop interoperability specifications and project hosting.
Mesa mesa3d.org Open source OpenGL, Vulkan, and video acceleration drivers.
DRM docs kernel GPU docs Kernel graphics and DRM documentation.

debug commands

lspci -nnk | grep -A3 -E "VGA|3D|Display"
loginctl show-session "$XDG_SESSION_ID" -p Type
cat /sys/module/nvidia_drm/parameters/modeset
journalctl -b | grep -iE "drm|nvidia|amdgpu|i915|wayland|xorg"
                  

common layers

  • Kernel: DRM, KMS, framebuffer, GPU driver.
  • Userspace driver: Mesa, libglvnd, vendor OpenGL or Vulkan stack.
  • Display server: X.Org or Wayland compositor.
  • Shell: KDE Plasma, GNOME Shell, XFCE, sway, etc.
  • Portal: xdg-desktop-portal and desktop portal backend.

Desktop environments and window managers.

Desktop environments and window managers are central for using Linux as a desktop OS. Without them, you are working from a shell, a TTY, or a manually built graphical session.

choosing a desktop

Choose a desktop environment when you want a complete session with panels, settings, file manager integration, portals, notifications, and login polish. Choose a window manager when you want a smaller, keyboard-focused setup and are willing to assemble more pieces yourself.

common desktop environments

Name Description Link
KDE Plasma Feature-rich Qt-based desktop with strong customization and modern Wayland support. kde.org
GNOME GTK-based desktop focused on a consistent workflow and simplified user experience. gnome.org
XFCE Lightweight GTK desktop that runs well on older or lower-resource machines. xfce.org
LXQt Lightweight Qt desktop commonly used for fast, simple installations. lxqt-project.org
Cinnamon Traditional desktop layout developed by Linux Mint. Cinnamon
MATE Continuation of the GNOME 2 desktop style. mate-desktop.org
Budgie Modern desktop environment with a clean panel-driven workflow. buddiesofbudgie.org

common window managers

Name Description Link
i3 Popular X11 tiling window manager with plain text configuration. i3wm.org
sway Wayland compositor compatible with the i3 workflow. swaywm.org
xmonad Highly configurable tiling window manager written and configured in Haskell. xmonad.org
Hyprland Dynamic Wayland compositor with animations and extensive configuration. hypr.land
IceWM Fast stacking window manager with a traditional desktop feel. ice-wm.org
JWM Small window manager commonly used in lightweight systems. JWM
dwm Minimal suckless tiling window manager configured by editing source. dwm.suckless.org

Filesystem notes.

Filesystems decide how data is stored, recovered, checked, mounted, snapshotted, and sometimes compressed. Pick one for the job, not because a forum yelled loudly.

filesystem choice

For a normal install, ext4 is the quiet dependable choice. Btrfs is useful for snapshots and compression. XFS is strong for large files and server workloads. ZFS is excellent when storage integrity and pools matter more than being built into the mainline kernel.

common filesystems

filesystem use notes
ext4 General Linux systems Reliable, common, simple, mature.
Btrfs Desktops, snapshots, subvolumes Supports compression, snapshots, send/receive, and checksumming.
XFS Large files and servers Strong performance and mature tooling.
ZFS Storage pools and data integrity Checksums, snapshots, datasets, compression, replication.
FAT32 Firmware and portable media Common for EFI System Partitions.
exFAT Large portable drives Useful between Linux, Windows, and macOS.
tmpfs Temporary RAM-backed storage Used for runtime files and fast temporary storage.
overlayfs Containers and live systems Layers one filesystem view over another.

inspection

lsblk -f
findmnt
blkid
df -h
du -h --max-depth=1 /
cat /etc/fstab
                  

repair and maintenance

sudo fsck /dev/sdXN
sudo btrfs scrub start /
sudo xfs_repair /dev/sdXN
sudo zpool status
sudo zpool scrub poolname
                  

Init systems and services.

The init system is the first long-running userspace process. It starts services, manages boot targets or runlevels, and decides what happens when the machine shuts down.

service thinking

Service management is mostly dependency order, supervision, logging, and failure handling. Learn how your init system starts services, where it stores service definitions, and how to inspect logs for the current boot.

common init systems

init commands notes
systemd systemctl, journalctl Common on most major Linux distributions.
OpenRC rc-service, rc-update Service manager used by Alpine, Gentoo, and others.
runit sv Small supervision suite used by Void Linux by default.
s6 s6-rc, s6-svstat Process supervision and service management toolkit. Used by Obarun Linux, and Adelie Linux by default.
dinit dinitctl Dependency-aware service manager with a small design. Used by Chimera Linux by default.
SysVinit service, update-rc.d Traditional init style built around scripts and runlevels. Popularly known by being used in Slackware Linux by default.

service checks

systemctl status sshd
journalctl -u sshd -b
rc-service sshd status
sv status /var/service/*
s6-rc -a list
dinitctl list
                

Security basics.

Linux security starts with ordinary administration: permissions, users, groups, updates, logs, network exposure, and service configuration. Fancy tools do not replace sane defaults.

baseline

Patch regularly, expose fewer services, use SSH keys, limit sudo access, check listening ports, and know where authentication logs are stored. Security starts with fewer surprises.

security areas

area tools notes
users and groups id, groups, passwd Know which user can do what.
sudo sudo -l, visudo Keep privilege escalation narrow and readable.
permissions chmod, chown, umask Basic Unix permissions still matter.
ACLs getfacl, setfacl Extended permissions beyond user/group/other.
capabilities getcap, setcap Fine-grained privileges for binaries.
MAC aa-status, sestatus AppArmor and SELinux add policy enforcement.
firewall nft, ufw, firewalld Limit what services are reachable.

checks

id
groups
sudo -l
ss -tulpn
sudo nft list ruleset
last
journalctl -p warning -b
                  

ssh basics

  • Use keys instead of passwords where possible.
  • Disable root login on exposed systems.
  • Keep OpenSSH updated.
  • Use a firewall to expose only needed services.
  • Check logs after failed login storms.

Audio stack notes.

Linux audio has layers. Hardware is handled by ALSA, desktop routing often goes through PipeWire or PulseAudio, and pro-audio workflows may involve JACK.

audio method

Start at the bottom. Confirm the card exists with ALSA, then check the desktop sound server, then check the session manager and selected output device. Many audio problems are routing problems, not driver problems.

audio layers

layer role commands
ALSA Kernel and low-level userspace audio support. aplay -l, alsamixer
PulseAudio Older common desktop sound server. pactl info
PipeWire Modern audio and video graph server. pw-top, wpctl status
WirePlumber Session manager for PipeWire. systemctl --user status wireplumber
JACK Low-latency pro-audio system. jack_lsp

debug commands

aplay -l
alsamixer
pactl info
wpctl status
pw-top
systemctl --user status pipewire wireplumber pipewire-pulse
                

Containers and virtualization.

Linux can isolate workloads with namespaces, cgroups, chroots, containers, virtual machines, and full hypervisor stacks. The right tool depends on how much isolation and hardware emulation you need.

container or VM

Use a container when you want isolated userspace on the same kernel. Use a virtual machine when you need a separate kernel, stronger machine boundaries, firmware testing, or another operating system entirely.

common tools

tool type notes
chroot filesystem isolation Classic repair and build environment tool.
systemd-nspawn container Lightweight system container tool.
Docker container platform Popular application container tooling.
Podman container platform Daemonless container tooling with rootless workflows.
LXC system containers Containers closer to lightweight machines.
QEMU/KVM virtual machines Hardware virtualization and emulation.
libvirt VM management Management layer used by virt-manager and virsh.

commands

sudo chroot /mnt
machinectl list
podman ps
docker ps
lxc-ls --fancy
virsh list --all
qemu-system-x86_64 --version
                

Troubleshooting flowcharts.

Good troubleshooting is boring: identify the layer, collect evidence, change one thing, test, and write down what changed.

general loop

Observe, isolate, test, document. Avoid changing five things at once. A fix you cannot explain is hard to trust and harder to repeat.

boot failure

No boot? -> firmware sees disk? -> bootloader entry exists? -> kernel and initramfs exist in /boot? -> root UUID matches /etc/fstab and kernel cmdline? -> initramfs has storage/filesystem modules? -> init reaches target or runlevel?

network failure

No network? -> link detected? -> interface has IP address? -> default route exists? -> DNS resolver works? -> firewall blocking traffic? -> service listening on expected port?

graphical session failure

No GUI? -> login manager running? -> session is X11 or Wayland? -> GPU driver loaded? -> Mesa/vendor userspace libraries installed? -> display manager logs clean? -> fresh test user works?

disk space failure

Disk full? -> df -h -> du -h --max-depth=1 / -> check /var/log, package cache, snapshots -> check deleted open files with lsof | grep deleted -> clean safely, then reboot services if needed

Linux glossary.

Short definitions for common Linux terms.

how to use it

This glossary is for quick orientation while reading the rest of the site. It keeps definitions short so you can get back to the command output, manual page, or source file you were looking at.

terms

term meaning
kernel The core program managing hardware, memory, processes, filesystems, and system calls.
userspace Programs outside the kernel: shells, services, desktops, tools, and applications.
initramfs Temporary early userspace used during boot before the real root filesystem is mounted.
module Loadable kernel code, often used for drivers and filesystems.
syscall A controlled entry point from userspace into the kernel.
daemon A background service process.
TTY Text terminal interface, often available with Ctrl+Alt+F keys.
compositor Display server component that draws windows and effects, especially in Wayland.
display manager Graphical login manager such as SDDM, GDM, LightDM, or LXDM.
package manager Tool for installing, removing, updating, and querying software packages.
mount point Directory where a filesystem is attached.
environment variable Named value inherited by processes, such as PATH or HOME.

Distro downloads.

Use official download pages. Pick a distribution by release model, hardware support, documentation, package tools, and how much system maintenance you want. Take information here AS IS, and information here is NOT opionated, only based on common consensus.

user friendly desktops

distro download why choose it
Ubuntu Desktop ubuntu.com/download/desktop Broad hardware support, large community, common third-party software support, good first desktop choice.
Linux Mint linuxmint.com/download.php Traditional desktop feel, comfortable defaults, good for users moving from Windows-style workflows.
Fedora Workstation fedoraproject.org/workstation/download Modern GNOME desktop, fresh software, good developer workstation, strong upstream alignment.
Zorin OS zorin.com/os/download Polished desktop aimed at users coming from Windows or macOS.
Pop!_OS system76.com/pop/download Desktop-focused Ubuntu-based system with System76 polish and simple graphics options.
MX Linux mxlinux.org/download-links Debian-based desktop with helpful tools and good performance on older hardware.

advanced and hands-on

distro download why choose it
Arch Linux archlinux.org/download Rolling release, direct control, simple packaging, excellent documentation.
Gentoo gentoo.org/downloads Source-based system for users who want deep control over build options and system composition.
Void Linux voidlinux.org/download Independent distro with XBPS, runit, fast tooling, and non-systemd defaults.
Slackware slackware.com/getslack Traditional Linux with minimal abstraction and old-school administration.
NixOS nixos.org/download Declarative configuration, reproducible systems, rollbacks, and a very different package model.
Linux From Scratch linuxfromscratch.org/lfs/download Build a Linux system from source to learn how the pieces fit together.

rolling and fresh packages

distro download why choose it
openSUSE Tumbleweed get.opensuse.org/tumbleweed Rolling release with strong tooling, snapshots, and quality control.
EndeavourOS endeavouros.com Arch-based system with an easier installer and friendly defaults.
CachyOS cachyos.org/download Arch-based distro focused on performance tuning and desktop responsiveness.
Manjaro manjaro.org/download Arch-family desktop with its own repos, graphical tools, and delayed package flow.
openSUSE Slowroll openSUSE Slowroll A slower rolling option between Leap-style stability and Tumbleweed pace.

server and stable base

distro download why choose it
Debian debian.org/distrib Stable, conservative, widely supported, excellent for servers and quiet systems.
Ubuntu Server ubuntu.com/download/server Popular server choice with cloud support, predictable LTS releases, and broad documentation.
Rocky Linux rockylinux.org/download RHEL-compatible server and workstation base with enterprise-style lifecycle.
AlmaLinux almalinux.org/get-almalinux Community-governed enterprise Linux compatible distribution.
openSUSE Leap get.opensuse.org/leap Stable openSUSE track with YaST, zypper, and conservative package movement.
Oracle Linux oracle.com/linux/downloads Enterprise Linux family option commonly used for Oracle-oriented server environments.

minimal, container, and special use

distro download why choose it
Alpine Linux alpinelinux.org/downloads Small, simple, security-oriented distro using musl libc, BusyBox, and apk. Also very desktop capable.
Kali Linux kali.org/get-kali Security lab and penetration testing distribution. Best used for labs, not normal daily desktop installs.
Tails tails.net/install Live privacy-focused system designed around Tor and amnesic sessions.
Qubes OS qubes-os.org/downloads Security-focused desktop OS built around compartmentalized virtual machines.
Chimera Linux chimera-linux.org/download Independent Linux using apk-tools, LLVM, musl, and a non-GNU userland approach. Very desktop capable.
Download rule: use official distro pages, verify checksums or signatures when provided, and avoid random ISO reuploads.

Distro families and package notes.

A distro is a kernel plus userland plus packaging plus policy. The family matters because it decides package tools, service defaults, release rhythm, and documentation culture.

choosing a distro

Pick a distro based on hardware support, package freshness, release model, documentation, driver needs, and how much maintenance you want. The best distro is the one whose tradeoffs match the machine and the job.

common families

family docs tools good fit
Debian Debian docs apt, dpkg Stable servers, conservative desktops, and users who prefer a slow-moving base with a large package archive.
Ubuntu Ubuntu docs apt, dpkg, Snap General desktop use, hardware support, gaming setups, and people who want broad third-party software support.
Linux Mint Mint docs apt, dpkg Traditional desktop users, Windows switchers, and machines that need a comfortable out-of-box setup.
Pop!_OS Pop!_OS docs apt, dpkg Desktop users who want a polished GNOME-based workflow, System76 hardware support, and simple graphics setup.
Fedora Fedora docs dnf, rpm Modern Linux desktops, developers, GNOME users, and people who want fresh software without full rolling release behavior.
RHEL family Rocky docs dnf, rpm Servers, enterprise-style systems, long maintenance windows, and production-like lab environments.
AlmaLinux AlmaLinux wiki dnf, rpm RHEL-compatible servers and workstations with community governance and long-term stability.
Arch Arch Wiki pacman, PKGBUILD Users who want rolling packages, simple packaging, direct control, and excellent documentation.
EndeavourOS EndeavourOS Discovery pacman, AUR helpers Arch-style systems with a friendlier installer and fewer manual setup steps.
openSUSE openSUSE docs zypper, YaST Users who want strong admin tooling, snapshot-friendly setups, and a choice between stable and rolling tracks.
Gentoo Gentoo Wiki emerge, Portage People who want source-based control, USE flags, custom builds, and deep system learning.
Alpine Alpine docs apk Containers, small systems, security-minded minimal installs, and users comfortable with musl and BusyBox.
Void Void Handbook xbps, runit Independent systems, fast package management, non-systemd setups, and users who like simple service supervision.
NixOS NixOS Manual nix, declarative config Reproducible systems, rollback-friendly machines, declarative configuration, and users willing to learn a different model.
Slackware SlackDocs pkgtool Traditional Unix-like Linux setups with minimal abstraction and old-school administration style.
MX Linux MX manuals apt, MX tools Stable desktop systems, older hardware, and users who want Debian-based convenience with helpful graphical tools.
Kali Kali docs apt, dpkg Security labs, penetration testing, training environments, and tool collections. Not the best choice for a normal daily desktop.

release model notes

model what it means tradeoff
stable Packages change slowly and receive security fixes. Predictable, but less fresh.
rolling Packages continuously update. Fresh, but requires more attention.
source based Packages are commonly built locally from source. Highly configurable, but time-consuming.
declarative System state is described in configuration. Reproducible, but requires learning the model.
enterprise clone Tracks enterprise Linux compatibility. Excellent for servers, less exciting for new desktop software.

stable

Good for servers, boring laptops, and systems where surprise upgrades should not be part of the hobby.

rolling

Good for new hardware, fresh desktops, and users willing to read package transaction output.

source based

Good for learning internals, tuning options, and understanding what your toolchain is doing.