How To Install Fedora

How To Install Fedora

Reading time1 min
#Linux#OpenSource#Technology#Fedora#Installation#LinuxTips

Mastering Fedora Installation: Engineer-Level Practice and Pitfalls

Fedora tends to attract engineers who want rapid access to upstream technology, robust packaging, and a security-first ecosystem. Correct installation impacts not just initial experience, but system reliability, vulnerability surface, and operational throughput.

Below—the distilled process, with notes drawn from field deployments and postmortems.


Prerequisites

  • Hardware: Minimum 20 GB disk (40+ GB ideal for containers or VMs); 8 GB RAM recommended for desktop workloads.
  • Media: 4 GB+ USB drive (SanDisk recommended—certain no-name brands have caused intermittent dd failures).
  • Backup: Move critical local data off-target disk; rsync or full-disk image.
  • Network: Wired Ethernet is preferred (firmware for wireless cards, e.g., Broadcom BCM43xx, may not be available out-of-the-box).
  • Firmware: Ensure UEFI/BIOS is set to boot USB and not Secure Boot disabled, unless you provide your own keys.

1. Acquire a Fedora ISO

Download from getfedora.org. For most, Fedora Workstation (GNOME desktop); for dedicated servers, Fedora Server. Avoid Silverblue unless you need immutable filesystems (stateless ops, or large-scale dev containers).

EditionUse CaseSize (approx)
Workstation LiveDesktop/Dev2.1 GB
ServerHeadless/Services1.8 GB
NetinstallMinimal, custom700 MB

Warning: Verify checksum. Malicious mirrors exist, and bit-rot isn’t theoretical.

sha256sum Fedora-Workstation-Live-x86_64-*.iso
# Compare with SHA256SUMS on the downloads page

2. Write the ISO to USB (Imaging)

Do not use standard Windows copy-paste. Use a resilient imager:

  • On Windows: Rufus (set “DD Image Mode” when prompted)
  • On macOS/Linux: dd or balenaEtcher

Sample dd invocation (Linux/macOS):

sudo dd if=Fedora-Workstation-Live-x86_64-39-1.5.iso of=/dev/sdX bs=4M status=progress conv=fsync
sync

Replace /dev/sdX carefully—lsblk to confirm. Overwriting the wrong device is unrecoverable.

Known Issue: Some USB 3.1 sticks report I/O errors at boot; fallback to USB 2.0, or try different port.


3. Boot: Target Hardware

Insert USB, hit F12 (Dell), ESC (HP), or as per vendor to bring up boot menu. If Secure Boot fails, verify your media or use a legacy mode.

On most recent machines, Fedora detects UEFI and configures /boot/efi automatically. For older BIOS, MBR partition table is required.


4. Installer Walkthrough

Language & Locale

Often overlooked: Set both locale and keyboard during initial splash, especially with non-ANSI layouts (e.g., German or French). Inconsistent settings here lead to login errors post-install (“password incorrect” due to swapped keys).

Installation Destination & Partitioning

Automatic:

  • Default LVM with ext4
  • No /home separation, one big volume group

Manual/Advanced:

  • /boot/efi (EFI systems): 300 MB, FAT32
  • /boot: 1 GB, ext4
  • /: 20 GB minimum, ext4 or btrfs
  • /home: Remainder, ext4 or btrfs
  • Swap: If < 8 GB RAM, provision swap (dedicated vs swapfile—recent Fedora can use either). Try 2x RAM only if you need hibernation.

Gotcha: On laptops with NVMe + SATA, Fedora occasionally mislabels /dev/nvme0 (seen in F37 installer logs). Validate detected disk.

SSDs: Add discard mount option for TRIM (surprisingly, not always default):

UUID=xxxx / ext4 defaults,discard 1 1

Btrfs users get CoW snapshots—ideal for devs who want filesystem-level rollback, but troubleshooting btrfs corruption is not for the faint of heart.


5. Software Selection & Desktop Environments

Default spin: GNOME 44.x (as of Fedora 39). For Plasma, XFCE, etc., grab respective Spin ISOs (Fedora Spins), or add desktop groups post-install:

sudo dnf groupinstall "KDE Plasma Workspaces"

Subjectively, GNOME’s Wayland session on some legacy AMD GPUs has rendering delay; revert to X11 or use KDE if needed.


6. Networking and User Setup

During installation:

  • Set hostname (avoid dots, use short DNS-compliant label)
  • Create primary user; assign to wheel group for sudo
  • Strong password policy: 14+ chars, symbols. (passwd -nfs recommends this for systemd-homed.)
  • If prompted, connect to Wi-Fi (some chipsets like Intel AX200 require proprietary firmware—will fail until post-install update).

7. Post-Install: Immediate Actions

Update all base packages (mirror sync lag is real—even fresh installs can be outdated):

sudo dnf upgrade --refresh -y
# Watch for [Error] messages—mirror timeouts common on day-one

Enable Third-Party Repos:

sudo dnf install -y fedora-workstation-repositories
sudo dnf config-manager --set-enabled google-chrome

For codecs, enable RPM Fusion:

sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

Security & System Hardening

Fedora ships with SELinux in enforcing by default. Unless you have a pressing reason, leave it on; disabling leads to audit noise and is discouraged by upstream. To diagnose policy issues:

sudo ausearch -m avc --start recent
sudo sealert -a /var/log/audit/audit.log | less

To temporarily permit:

sudo setenforce 0
# Permanent: edit /etc/selinux/config, but audit first.

Not-So-Obvious: Flatpak and Application Sandboxing

Fedora integrates Flatpak natively. For system-wide or per-user isolation:

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install flathub com.spotify.Client

Side effect: Flatpak installs can cause huge $HOME/.var usage. Monitor disk consumption, especially on small /home.


Maintenance and Troubleshooting

  • sudo dnf clean all: Flush cache during package resolution errors—DNS or partial downloads sometimes poison local metadata.
  • Periodic dnf autoremove to clear abandoned dependencies.
  • If dnf stalls at “Waiting for process with PID…”, check for zombie processes (ps aux | grep dnf).

Sample Error:

Error: Transaction test error:
  file /usr/bin/foo from install of bar-1.0 conflicts with file from package baz-2.0

In complex cases, forcibly remove conflicting package or choose alternatives.


Is Everything Perfect?

No. Firmware regressions, driver quirks (esp. NVIDIA), and UEFI-NVMe compatibility bugs remain frequent deployment hurdles. For servers, consider Ansible-based kickstarts or PXE network installs to scale reliably.


Closing Note

Fedora installs can be either a 20-minute routine or a 2-hour debugging session—usually the latter if skipping disks, Secure Boot, or hardware specifics in advance. Treat the installation less as a “one and done” formality and more as your base layer for automation and incremental improvement.

If a particular configuration or post-install tweak isn’t covered above, it’s probably rare or not production-ready—yet.


Have an edge-case or post-install headache? Drop details—real logs beat theory.