Anaconda: The Fedora/RHEL Installer Architecture
Anaconda: The Fedora/RHEL Installer Architecture
Anaconda is the installation system developed by Red Hat that powers Fedora, CentOS, Rocky Linux, and Red Hat Enterprise Linux. It is widely considered the industry benchmark for complex enterprise server and workstation installations.
+-----------------------------------------------------------+
| Anaconda Architecture |
| |
| 1. Storage Subsystem (blivet) |
| - Handles GPT, MBR, LVM2, Stratis, Btrfs, LUKS, RAID |
| |
| 2. Payload Management (pykickstart & dnf) |
| - Reads declarative Kickstart (.ks) automated manifests|
| - Resolves package groups via DNF/RPM API |
| |
| 3. User Interface Layer |
| - Graphical UI: GTK4 / modern WebUI (Cockpit-based) |
| - Text UI (TUI): Curses interface for headless consoles|
| |
| 4. System Configuration & Bootloader |
| - User creation, timezone, localization |
| - GRUB2 EFI / BIOS bootloader installation |
+-----------------------------------------------------------+
The Power of Declarative Kickstart (.ks)
In large-scale enterprise data centers, sysadmins never click through graphical installer wizards. Anaconda pioneered automated headless installations via Kickstart files:
# sample-server.ks — Automated BYOL Enterprise Deployment
lang en_US.UTF-8
keyboard us
timezone UTC
rootpw --plaintext SuperSecretPassword123
reboot
# Partitioning schema
zerombr
clearpart --all --initlabel
part /boot/efi --fstype=efi --size=512
part /boot --fstype=ext4 --size=1024
part pv.01 --grow --size=1
volgroup vg_system pv.01
logvol / --vgname=vg_system --size=20480 --name=lv_root --fstype=xfs
logvol /var --vgname=vg_system --size=10240 --name=lv_var --fstype=xfs
logvol swap --vgname=vg_system --recommended --name=lv_swap
# Package selection
%packages
@core
curl
openssh-server
nftables
-wireless-tools
%end
# Post-installation customization script
%post
echo "BYOL Automated Node Installed" > /etc/motd
systemctl enable sshd
%endWhen an installation boots over PXE or virtual media with inst.ks=http://config-server/sample-server.ks, Anaconda partitions the disks, formats LVM volumes, installs packages, applies post-install scripts, and reboots automatically without human intervention.