Arch Linux Explained
Arch Linux has a reputation that precedes it: demanding, unforgiving, but rewarding. It has also become a meme (“I use Arch, by the way”) to the point where the actual distribution sometimes gets lost behind the jokes. The reality is that Arch makes specific technical choices that suit specific users well, and understanding those choices is more useful than the mythology.
The core ideas
Rolling release
Arch has no version numbers. There is no “Arch 26” or “Arch LTS.” There is just Arch, continuously updated. Running pacman -Syu pulls the latest versions of everything installed on the system.
This means:
- You always have the newest kernel, newest software, newest security patches
- You never perform a major distribution upgrade — there is nothing to upgrade to
- Occasionally an update breaks something, especially on the day a major change ships
# Update everything (the only update command you need)
sudo pacman -Syu
# Check the Arch news before big updates
# https://archlinux.org/news/
# Or install informant to see news in the terminal
sudo pacman -S informant
Minimal base
The Arch installer gives you a command-line environment with the base system and nothing else. No desktop, no graphical tools, no web browser, no office suite. You install exactly what you want:
# After base install: add a desktop environment
sudo pacman -S gnome gnome-extra
sudo systemctl enable gdm
# Or KDE
sudo pacman -S plasma kde-applications
sudo systemctl enable sddm
# Or just a window manager
sudo pacman -S i3-wm i3status dmenu
# Install a browser
sudo pacman -S firefox
# Install development tools
sudo pacman -S base-devel git python neovim
The result is a system with exactly what you need and nothing you do not.
The KISS principle
Arch documentation is built around “Keep It Simple.” The preference is for straightforward solutions that are easy to understand and debug over automated tools that hide what is happening. This is why Arch does not ship with a graphical installer by default (though archinstall now provides one), why the wiki documents the manual process in full, and why you are expected to understand what you install.
Installation
Traditional installation
# Boot from Arch ISO, then:
# Verify EFI/BIOS mode
ls /sys/firmware/efi/efivars # if this exists, you are in UEFI mode
# Connect to Wi-Fi (if needed)
iwctl
device list
station wlan0 scan
station wlan0 get-networks
station wlan0 connect "NetworkName"
exit
# Partition disk (example: EFI + swap + root)
fdisk /dev/sda
# Create: 512MB EFI (type EFI System), 4GB swap, remainder root
# Format
mkfs.fat -F32 /dev/sda1 # EFI
mkswap /dev/sda2 # swap
mkfs.ext4 /dev/sda3 # root (or btrfs, xfs, etc.)
# Mount
mount /dev/sda3 /mnt
mount --mkdir /dev/sda1 /mnt/boot/efi
swapon /dev/sda2
# Install base system
pacstrap -K /mnt base linux linux-firmware base-devel
# Generate fstab
genfstab -U /mnt >> /mnt/etc/fstab
# Enter the new system
arch-chroot /mnt
# Set timezone, locale, hostname
ln -sf /usr/share/zoneinfo/America/New_York /etc/localtime
hwclock --systohc
echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen && locale-gen
echo "LANG=en_US.UTF-8" > /etc/locale.conf
echo "myhostname" > /etc/hostname
# Install and configure bootloader (GRUB)
pacman -S grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg
# Set root password and create user
passwd
useradd -m -G wheel colton
passwd colton
# Uncomment %wheel ALL=(ALL:ALL) ALL in visudo
# Install network manager, reboot
pacman -S networkmanager
systemctl enable NetworkManager
exit
umount -R /mnt
reboot
archinstall: the guided alternative
# From the Arch ISO, run:
archinstall
# Interactive prompts guide you through:
# - Disk layout and formatting
# - Desktop environment selection
# - User creation
# - Bootloader
# - Additional packages
# archinstall produces an equivalent result to the manual process
# but takes minutes instead of an hour
pacman: the package manager
# Sync package database and upgrade everything
sudo pacman -Syu
# Install a package
sudo pacman -S firefox
sudo pacman -S base-devel git neovim htop
# Remove a package (keep config files)
sudo pacman -R firefox
# Remove package + its config files + orphaned dependencies
sudo pacman -Rns firefox
# Search for a package
pacman -Ss video editor
pacman -Ss "^python" # regex search
# Get info about a package
pacman -Si firefox # from repos
pacman -Qi firefox # installed package info
# List all installed packages
pacman -Q
pacman -Qe # explicitly installed (not pulled as dep)
pacman -Qd # installed as dependencies
pacman -Qdt # orphans (deps no longer needed)
# Find which package owns a file
pacman -Qo /usr/bin/vim
pacman -F /usr/bin/vim # search in uninstalled packages too (needs -Fy first)
# Clean package cache (keep last 3 versions)
sudo paccache -r
# Remove orphaned dependencies
sudo pacman -Rns $(pacman -Qdtq)
The AUR
The Arch User Repository is a community-maintained collection of PKGBUILDs — scripts that describe how to download, build, and install a package. Installing from the AUR manually:
# Manual AUR install process
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si # builds and installs
Once you have an AUR helper like yay or paru, the workflow matches pacman:
# Install yay (AUR helper)
# (from the manual step above)
# Then use yay like pacman, but also searches AUR
yay -Syu # update everything including AUR packages
yay -S spotify # install Spotify from AUR
yay -Ss discord # search AUR + official repos
yay -Rns spotify
# paru is another popular AUR helper (written in Rust)
yay -S paru
paru -Syu
paru -S visual-studio-code-bin
Always read PKGBUILDs before installing from the AUR. The AUR is community-maintained and packages can theoretically contain malicious code. Widely-used AUR packages with many votes are generally trustworthy, but the responsibility for reviewing PKGBUILDs is yours.
# Review a PKGBUILD before installing
yay -G spotify # download but do not install
cat spotify/PKGBUILD # read what it does
cd spotify && makepkg -si # then install
The Arch Wiki
The Arch Wiki is one of the best resources in all of Linux, and it is useful far beyond Arch itself. It documents nearly every aspect of Linux system administration, hardware configuration, and software setup in depth, and much of it applies to any distribution.
# Install the wiki-search tool
sudo pacman -S arch-wiki-lite
# Search from the terminal
wiki-search "btrfs subvolumes"
wiki-search "nvidia"
wiki-search "dual boot"
Arch-based distributions
If you want the Arch experience without the manual installation:
| Distribution | Notes |
|---|---|
| EndeavourOS | Closest to vanilla Arch; graphical installer, minimal additions |
| Manjaro | Most popular Arch-based; holds packages for extra testing; own repos |
| Garuda Linux | Opinionated; btrfs + automated snapshots, gaming-focused spins |
| CachyOS | Performance-focused; custom kernel builds, optimised packages |
EndeavourOS is the closest to Arch itself — you get pacman, the AUR, and rolling updates, just with a graphical installer and a few convenience tools added.
Who should use Arch
Arch is well-suited for users who:
- Want the absolute latest packages, including kernels and desktop software
- Want to understand their system deeply and build it from scratch
- Value a minimal install with no unwanted software
- Are comfortable troubleshooting occasional breakage from rolling updates
- Want access to the AUR’s enormous package collection
- Use their Linux machine as a workstation or developer system (not a critical server)
Arch is not ideal for:
- Servers (rolling release and occasional breakage are unacceptable in production)
- Users who want a set-it-and-forget-it system
- Those who prefer to do updates rarely (a very-out-of-date Arch system is difficult to update)
- Complete beginners who have not yet learned Linux fundamentals
Frequently Asked Questions
What makes Arch Linux different from other distributions?
Arch Linux is built around three ideas: a rolling release model (no version numbers, packages are always updated to the latest upstream versions), a minimalist base install (you get a command-line environment and build from there), and the KISS principle (Keep It Simple, Stupid — the system is built from straightforward, well-documented components rather than automation that hides complexity). The result is a distribution where you know exactly what is installed because you installed it yourself, running the latest software, with no defaults imposed on you. The trade-off is that installation and initial configuration require more work and knowledge than distributions like Ubuntu.
Is Arch Linux hard to install?
The traditional Arch installation involves booting from a live ISO, manually partitioning disks, installing the base system with pacstrap, configuring the bootloader, and setting up networking and users — all from the command line. It typically takes 30-90 minutes for an experienced user and longer for a first-timer. Arch does provide archinstall, a guided installation script that automates much of this process and has improved significantly since its introduction. The Arch Wiki documents every step in excellent detail. The installation is not impossible for beginners, but it does require following instructions carefully and understanding what you are doing.
What is the AUR?
The AUR (Arch User Repository) is a community-maintained repository of package build scripts (PKGBUILDs) for software not in the official Arch repositories. When you install a package from the AUR, you download the PKGBUILD, review it, and use makepkg to compile and install the package. The AUR contains over 90,000 packages — by far the largest package collection of any Linux distribution. It covers niche software, proprietary applications, and packages at the absolute latest version. AUR helpers like yay and paru automate the process of searching, downloading, building, and updating AUR packages, making the experience similar to using pacman.
What is rolling release and how does it work in Arch?
A rolling release distribution has no fixed version numbers or release dates. Instead, packages are continuously updated to the latest upstream versions. On Arch, running sudo pacman -Syu updates every installed package to its latest version. This means you always have the newest kernel, newest browser, newest desktop environment — you never perform a major version upgrade because the system is always current. The trade-off is that updates occasionally break things, especially on the day a major update ships. Most Arch users run pacman -Syu daily or weekly and check the Arch Linux news feed before major updates to catch announced potential issues.
What is pacman?
pacman is the package manager for Arch Linux. It handles installing, removing, upgrading, and querying packages from the official Arch repositories. Core commands: pacman -Syu (sync and upgrade everything), pacman -S package (install), pacman -R package (remove), pacman -Rns package (remove with dependencies and config files), pacman -Ss term (search), pacman -Q (list installed packages), pacman -Qi package (detailed info about installed package), pacman -Qo /path/to/file (which package owns this file). The -S flag means sync (download from repos), -R means remove, -Q means query (local database), -U means upgrade from a local file.
What are the Arch-based distributions and why do people use them instead of Arch itself?
Several distributions are built on Arch and inherit its rolling-release model and pacman/AUR access while adding more user-friendly defaults: Manjaro (the most popular, adds its own repos and holds packages for testing), EndeavourOS (closest to vanilla Arch, just adds a graphical installer and some helpers), Garuda Linux (opinionated, performance-focused, btrfs by default), and CachyOS (performance-optimised with custom kernel builds). People use these instead of Arch itself primarily for the easier installation — you get the Arch experience without the manual setup. The trade-off is that Arch-based distros sometimes lag Arch’s packages by days or weeks and add their own layer of potential issues.