LFCA 6 ๐ง Installing Linux โ Overview and Requirements
Installing Linux is not one task โ it’s a family of tasks, each with different requirements, tools, and trade-offs. A bare-metal install on a laptop is a different process from provisioning a cloud VM, which is different again from running a container. The LFCA exam expects you to understand the concepts behind each install method, the requirements they share, and the decisions you make before you touch a keyboard. This chapter covers the landscape: what an installation actually does, what you need before you start, and how the major install methods compare.
Key point: Every Linux installation, regardless of method, does the same three things: places the kernel and system files on storage, configures the bootloader to find them, and sets up the initial system state. The methods differ in where and how, not in what. Understand the three jobs, and every install method becomes a variation on a theme.
What an installation actually does
An installation is the process of taking a Linux distribution and making it bootable and usable on a target system. It does three jobs.
1. Places the system files on storage. The kernel, the bootloader, the userland tools, the package manager, and the default configuration all need to be written to disk. This is often called “unpacking the root filesystem.”
2. Configures the bootloader. The machine needs a way to find and start the kernel at boot. On BIOS systems, that’s typically GRUB in the MBR. On UEFI systems, it’s GRUB or systemd-boot in the EFI System Partition.
3. Sets up the initial system state. Users, hostname, timezone, locale, network configuration, and often the initial package set. This varies by distribution and install method.
What every installation must decide:
| Decision | Options |
|---|---|
| Where to install | Entire disk, partition, VM disk, cloud volume |
| Filesystem | ext4, Btrfs, XFS, ZFS |
| Partitioning | Automatic, manual, LVM, encrypted |
| Bootloader | GRUB, systemd-boot, other |
| Desktop | None, minimal, full |
| Users | Root only, additional users |
| Network | DHCP, static, none |
What an installation does not do:
- It doesn’t configure every service โ that’s post-install
- It doesn’t harden the system โ that’s separate
- It doesn’t install every tool you’ll need โ that’s the package manager’s job after
- It doesn’t back up existing data โ that’s your responsibility before
Why this matters: The exam tests the concepts, not the exact clicks. Knowing that every install does the same three jobs means you can reason about any installation โ bare-metal, VM, cloud, container โ without memorizing each one’s steps.
Requirements โ hardware
Every Linux installation has minimum hardware requirements. The specific numbers vary by distribution and desktop environment.
Minimum vs recommended:
| Resource | Minimum | Recommended |
|---|---|---|
| CPU | 1 GHz, 64-bit | 2+ GHz, multi-core |
| RAM | 512 MB โ 1 GB (server) | 2โ4 GB (server), 8+ GB (desktop) |
| Disk | 5โ10 GB (server) | 20+ GB (desktop), more for data |
| Network | Optional | Recommended |
| Display | None (server) | Required (desktop) |
These numbers depend heavily on the distro and use case:
- Alpine Linux runs in 128 MB RAM and a few hundred MB of disk
- Ubuntu Server typically wants 1 GB RAM and 5 GB disk minimum
- Ubuntu Desktop wants 4 GB RAM and 25 GB disk
- Fedora Workstation wants similar to Ubuntu Desktop
- Enterprise distros (RHEL, SLES) have higher minimums for supported configurations
Architecture matters:
- x86_64 (amd64) โ the dominant architecture for servers, desktops, and cloud
- ARM64 (aarch64) โ Raspberry Pi, AWS Graviton, Apple Silicon via VMs
- 32-bit x86 โ mostly obsolete but still supported by some distros
- Other โ RISC-V, POWER, s390x for specific hardware
Firmware:
- BIOS โ legacy firmware, MBR partitioning
- UEFI โ modern firmware, GPT partitioning, Secure Boot support
- UEFI with Secure Boot โ requires signed bootloaders; most distros support this
Why minimums matter: A machine below minimum specs won’t install or won’t run well. A server doesn’t need a desktop environment, so its minimums are lower. A desktop needs graphics, so its minimums are higher. Matching the distro to the hardware is the first decision.
Why the exam tests requirements: Choosing the wrong distro for the hardware is a common mistake. A beginner might try to install a heavy desktop distro on an old laptop and fail. Knowing minimums lets you pick a distro that actually runs. It’s the same reasoning as choosing a distro in Chapter 5 โ requirements first, then options.
Requirements โ preparation
Before installing, you need three things prepared.
1. A backup of existing data. An install that repartitions the disk wipes everything on it. If the machine has data you care about, back it up first.
2. Installation media or access. Depending on the method:
- A bootable USB drive (bare-metal)
- An ISO in a VM (virtualization)
- Cloud console access (cloud)
- Docker or container runtime (container)
3. A plan for the disk. Automatic partitioning is fine for most users. Manual partitioning is needed when:
- Dual-booting with another OS
- Preserving existing data partitions
- Using LVM, encryption, or a specific layout
- Installing on a cloud volume with specific mount points
What to gather before starting:
| Item | Why |
|---|---|
| Backup of existing data | Install may wipe the disk |
| Installation media | USB, ISO, or cloud access |
| Network details | Wi-Fi password or Ethernet |
| Hostname | To identify the machine |
| User credentials | Username, password |
| Time zone | For correct timestamps |
| Disk layout plan | If not using automatic |
For cloud installs:
- Cloud account and credentials
- Region and availability zone
- Instance type and size
- SSH key pair
- VPC and security group configuration
For VMs:
- Hypervisor installed (VirtualBox, VMware, KVM, Hyper-V)
- ISO or cloud image downloaded
- VM configured with adequate CPU, RAM, and disk
Why preparation matters: Most install failures come from missing preparation โ no backup, no bootable media, wrong firmware mode, no network. Five minutes of preparation prevents hours of troubleshooting. The exam tests this indirectly: scenario questions often involve “what’s the first step?”
Installation methods overview
There are four main methods. Each serves a different scenario.
1. Bare-metal installation
Installing Linux directly on a physical machine’s disk. The most traditional method.
- Requires: Bootable USB, physical access
- Used for: Desktops, laptops, physical servers, homelab
- Installer runs: Locally, on the target machine
- Disk: The physical disk
- Persistence: Full โ the OS is on the hardware
2. Virtual machine installation
Installing Linux inside a VM running on a hypervisor.
- Requires: Hypervisor (VirtualBox, VMware, KVM, Hyper-V), ISO or cloud image
- Used for: Development, testing, learning, some production workloads
- Installer runs: Inside the VM
- Disk: A virtual disk file
- Persistence: Full, but virtualized
3. Cloud installation
Provisioning a Linux instance from a cloud provider.
- Requires: Cloud account, SSH key, image selection
- Used for: Production workloads, scalable infrastructure
- Installer runs: Provider’s tooling provisions the image
- Disk: A cloud volume (EBS, persistent disk, etc.)
- Persistence: Full, but managed by the provider
4. Container base image
Starting from a Linux base image inside a container.
- Requires: Container runtime (Docker, Podman, containerd)
- Used for: Applications, microservices, CI/CD
- Installer runs: Pulls a pre-built image
- Disk: Overlay filesystem on the host
- Persistence: Ephemeral by default
Comparison:
| Aspect | Bare-metal | VM | Cloud | Container |
|---|---|---|---|---|
| Physical access | โ | โ ๏ธ to host | โ | โ |
| Setup time | 30โ60 min | 20โ40 min | 1โ5 min | Seconds |
| Persistence | โ | โ | โ | โ ๏ธ |
| Cost | Hardware | Host hardware | Per hour | Host |
| Use case | Production, personal | Dev, test | Scalable prod | Microservices |
Why multiple methods exist: They serve different needs. A laptop needs a bare-metal install. Testing needs a VM. Scalable production needs the cloud. Microservices need containers. The method matches the use case โ not the other way around.
Why the exam covers all four: Modern IT uses all four methods. A sysadmin might install bare-metal for a database server, spin up a VM for testing, provision a cloud instance for a web app, and deploy a container for a microservice โ all in one week. Knowing each method’s shape is expected.
Choosing a method
The decision tree is simple.
Choose bare-metal when:
- You’re installing on physical hardware you own or control
- The machine is the destination โ laptop, desktop, homelab server
- You need full disk access and performance
- You’re not going to migrate the system
Choose a VM when:
- You’re learning or testing
- You need a safe sandbox
- You want to snapshot and revert
- You’re running multiple OSes on one machine
Choose cloud when:
- You need scalable, on-demand infrastructure
- The workload has variable load
- You want managed services around the VM
- You’re deploying for production
Choose a container when:
- You’re deploying an application, not a system
- You need portability and fast startup
- You’re building microservices
- You want a minimal, reproducible image
Combinations are common:
- A physical host running VMs for various purposes
- A cloud VM running containers
- A bare-metal server running containers for production
What you’ll see in practice:
| Context | Common method |
|---|---|
| Personal laptop | Bare-metal |
| Dev environment | VM or container |
| Production server | Cloud or bare-metal |
| Microservice | Container |
| CI/CD runner | Container or ephemeral VM |
| Learning Linux | VM |
| Testing before upgrade | VM |
| Homelab | Bare-metal + VMs |
Why method matters: Each method has different tooling, preparation, and constraints. The install itself is conceptual โ the same three jobs โ but the execution is specific. Knowing which method fits which scenario is the practical skill.
Requirements by method
The specific requirements shift by install method.
Bare-metal:
- Physical machine with supported CPU and enough RAM/disk
- Bootable USB drive (usually 8+ GB)
- BIOS/UEFI access to change boot order
- Network for downloading packages during install
- Backup of existing data
- UEFI vs BIOS compatibility
VM:
- Hypervisor installed (VirtualBox, VMware, KVM, Hyper-V)
- Host with enough resources for the VM
- ISO or cloud image
- Allocated VM resources (CPU, RAM, disk)
- Network mode (NAT, bridged, host-only)
Cloud:
- Cloud account (AWS, Azure, GCP, etc.)
- Credentials with permission to create instances
- SSH key pair
- Region/zone selection
- Instance type (CPU, RAM, GPU options)
- Storage volume size
- VPC and security group rules
Container:
- Container runtime (Docker, Podman, containerd)
- Host with enough resources
- Container image reference (e.g.,
ubuntu:24.04) - Network configuration
- Volume mounts for persistent data
- Environment variables for configuration
Common to all:
- Understand the use case
- Know the persistence requirements
- Plan for updates and security
What the exam tests: Not the clicks for each method, but the requirements โ what each method needs, and which method fits which scenario. Match the method to the need.
Why requirements vary by method: A cloud install needs a credit card and an SSH key. A bare-metal install needs a USB and physical access. A VM needs a hypervisor. A container needs a runtime. The core requirements โ CPU, RAM, disk, network โ are the same, but the specifics shift. The exam expects you to know the differences.
Post-installation basics
After installation, every Linux system needs some baseline configuration.
Common post-install tasks:
| Task | Purpose |
|---|---|
| Update packages | Get security patches |
| Create users | Avoid working as root |
| Set hostname | Identify the machine |
| Configure time zone | Correct timestamps |
| Configure locale | Correct language and formats |
| Enable firewall | Basic security |
| Set up SSH | Remote access |
| Install essential tools | Editor, git, curl, etc. |
Typical commands:
# Update everything
sudo apt update && sudo apt upgrade # Debian family
sudo dnf upgrade # Red Hat family
sudo zypper update # SUSE family
sudo pacman -Syu # Arch
# Set hostname
sudo hostnamectl set-hostname my-server
# Set time zone
sudo timedatectl set-timezone Europe/Oslo
# Create a user
sudo useradd -m -s /bin/bash alice
sudo passwd alice
# Add to sudo (Debian family)
sudo usermod -aG sudo alice
# Add to sudo (Red Hat family)
sudo usermod -aG wheel alice
Cloud-specific post-install:
- SSH key is often the only initial credential
- No root password by default
- First user has sudo access
- Cloud-init may run first-boot scripts
- Instance metadata service provides configuration
VM-specific post-install:
- Often a full desktop or server setup
- Snapshot before major changes
- Shared folders or clipboard with the host
- Network sharing via NAT or bridged mode
Container-specific post-install:
- Nothing โ containers are ephemeral
- Configuration via environment variables or mounted files
- Data persistence via volumes
- Not designed for interactive use
Why post-install matters: A freshly installed system is minimal and unconfigured. Post-install is where you make it useful, secure, and consistent. Skipping it leaves the system vulnerable and inefficient.
Why the exam covers this: Installation isn’t the end โ it’s the start. The exam expects you to know the baseline steps after install: update, users, hostname, timezone, firewall, SSH. These are the first tasks on any new system, in any method.
A full example
Walking through preparation for a bare-metal install.
# ============================================
# STEP 1: CHECK THE HARDWARE
# ============================================
# CPU architecture
uname -m
# [ x86_64 ]
# Memory
free -h
# [ total used free ]
# [ Mem: 16Gi 2.1Gi 13Gi ]
# Disk
lsblk
# [ NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS ]
# [ sda 8:0 0 500G 0 disk ]
# Firmware
[ -d /sys/firmware/efi ] && echo "UEFI" || echo "BIOS"
# [ UEFI ]
# ============================================
# STEP 2: BACK UP EXISTING DATA
# ============================================
# Before repartitioning, back up anything important
sudo rsync -av --progress /home/ /mnt/backup/home/
# ============================================
# STEP 3: DOWNLOAD THE ISO
# ============================================
# Verify the checksum after downloading
sha256sum ubuntu-24.04-desktop-amd64.iso
# [ e240e4b1... ubuntu-24.04-desktop-amd64.iso ]
# Compare with the official checksum from the distro site
# ============================================
# STEP 4: CREATE BOOTABLE USB
# ============================================
# On Linux
sudo dd if=ubuntu-24.04-desktop-amd64.iso of=/dev/sdb bs=4M status=progress
# On macOS
# sudo dd if=ubuntu-24.04-desktop-amd64.iso of=/dev/rdiskN bs=4m
# On Windows โ use Rufus or balenaEtcher
# ============================================
# STEP 5: PLAN THE DISK LAYOUT
# ============================================
# If wiping the disk โ automatic is fine
# If dual-booting โ plan partitions
# If using LUKS + LVM โ plan volume groups
# Example layout for a server:
# /boot/efi โ 512 MB (EFI System Partition)
# /boot โ 1 GB (kernel and initramfs)
# / โ 30 GB (root)
# /home โ rest (user data)
# swap โ = RAM (or 2 GB min)
# ============================================
# STEP 6: GATHER NETWORK INFO
# ============================================
# Wi-Fi SSID and password
# Or Ethernet is available
# Hostname choice
# User credentials
# ============================================
# STEP 7: ENTER BIOS/UEFI
# ============================================
# Reboot and press the setup key (varies by vendor)
# F2, F10, F12, Del, Esc
# Set boot order to USB first
# Ensure UEFI mode if installing 64-bit Linux
# ============================================
# STEP 8: BOOT FROM USB
# ============================================
# The installer starts
# Follow prompts:
# - Language, keyboard
# - Network
# - Disk layout
# - User creation
# - Package selection
# ============================================
# STEP 9: FIRST BOOT
# ============================================
# After install, remove the USB and reboot
# Log in with the user created during install
# ============================================
# STEP 10: POST-INSTALL
# ============================================
sudo apt update && sudo apt upgrade -y
sudo timedatectl set-timezone Europe/Oslo
sudo hostnamectl set-hostname my-server
sudo apt install -y curl git vim ufw
sudo ufw enable
This sequence works for a bare-metal install. The VM and cloud versions are similar but with virtualization or provider tooling replacing USB and BIOS steps.
Why this walkthrough: It covers preparation, media creation, planning, and post-install โ the whole flow. For the exam, remember the concepts: check hardware, back up, plan the disk, create the media, boot, install, configure. The method changes; the shape doesn’t.
Complete Example Session
# ============================================
# PART 1: HARDWARE CHECKS
# ============================================
echo "=== Architecture ==="
uname -m
# [ x86_64 ]
echo "=== CPU ==="
lscpu | grep -E 'Model name|CPU\(s\)|Architecture'
# [ Model name: AMD Ryzen 5 5600X ]
# [ CPU(s): 12 ]
# [ Architecture: x86_64 ]
echo "=== Memory ==="
free -h
# [ total used free ]
# [ Mem: 16Gi 2.1Gi 13Gi ]
echo "=== Disk ==="
lsblk
# [ NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS ]
# [ sda 8:0 0 500G 0 disk ]
echo "=== Firmware ==="
[ -d /sys/firmware/efi ] && echo "UEFI" || echo "BIOS"
# [ UEFI ]
# ============================================
# PART 2: DISTRO CHOICE
# ============================================
cat << 'EOF'
Choose based on use case:
Personal laptop โ Ubuntu LTS / Fedora / Mint
Server โ Ubuntu LTS / Debian / RHEL
Cloud โ Ubuntu LTS / Amazon Linux
Container โ Alpine / Debian slim
Learning โ Ubuntu first, then Arch/Debian
EOF
# ============================================
# PART 3: PREPARE INSTALL MEDIA
# ============================================
# Verify the ISO checksum
# Create a USB installer
# Test that the USB boots
# ============================================
# PART 4: PLAN PARTITIONS
# ============================================
cat << 'EOF'
Sample partition plan:
Single-disk desktop:
/boot/efi 512 MB FAT32 (EFI)
/ 30 GB ext4
/home rest ext4
swap = RAM swap
Server:
/boot/efi 512 MB FAT32 (EFI)
/boot 1 GB ext4
/ 30 GB ext4
/var 20 GB ext4
/home rest ext4
swap 2 GB swap
Encrypted:
LUKS container holding LVM volume group
LVM logical volumes for /, /home, swap
EOF
# ============================================
# PART 5: INSTALL
# ============================================
# Bare-metal:
# - Boot from USB
# - Follow installer prompts
# - Reboot
# VM:
# - Create VM in hypervisor
# - Attach ISO
# - Start and follow installer
# Cloud:
# - Launch instance from image
# - Select size, region, SSH key
# - Wait for boot
# Container:
# - docker run -it ubuntu:24.04 bash
# ============================================
# PART 6: POST-INSTALL
# ============================================
echo "=== Update ==="
# sudo apt update && sudo apt upgrade -y
echo "=== Hostname ==="
# sudo hostnamectl set-hostname myserver
echo "=== Timezone ==="
# sudo timedatectl set-timezone Europe/Oslo
echo "=== User ==="
# sudo useradd -m -s /bin/bash alice
# sudo passwd alice
# sudo usermod -aG sudo alice
echo "=== Firewall ==="
# sudo ufw allow OpenSSH
# sudo ufw enable
echo "=== SSH ==="
# sudo systemctl enable --now ssh
echo "=== Essentials ==="
# sudo apt install -y curl git vim htop
# ============================================
# PART 7: VERIFY
# ============================================
echo "=== Kernel ==="
uname -r
echo "=== Distro ==="
cat /etc/os-release | head -2
echo "=== Bootloader ==="
ls /boot/efi/EFI/ 2>/dev/null
echo "=== Installed packages ==="
dpkg -l | wc -l
Each step matches a concept from this chapter โ hardware check, distro choice, media preparation, partitioning, installation, post-install, verification.
Why this exercise helps: It walks through a complete install flow without committing to a specific distribution. The commands are conceptual โ the exact syntax varies by distro. Understanding the flow is what the exam tests.
Quick Reference
Installation Does Three Jobs
| Job | Result |
|---|---|
| Place system files | Kernel, userland, config on disk |
| Configure bootloader | Machine can boot |
| Set initial state | Users, hostname, network |
Minimum Hardware (Typical)
| Use case | CPU | RAM | Disk |
|---|---|---|---|
| Minimal server | 1 GHz | 512 MB | 5 GB |
| Standard server | 2 GHz+ | 2 GB | 20 GB |
| Desktop | 2 GHz+ | 4 GB | 25 GB |
| Container base | Any | Shared | Shared |
Firmware Options
| Firmware | Partitioning | Boot |
|---|---|---|
| BIOS | MBR | GRUB in MBR |
| UEFI | GPT | GRUB/systemd-boot in ESP |
| UEFI + Secure Boot | GPT | Signed bootloader |
Install Methods
| Method | Prep | Setup time | Use case |
|---|---|---|---|
| Bare-metal | USB | 30โ60 min | Production, personal |
| VM | Hypervisor + ISO | 20โ40 min | Dev, test, learning |
| Cloud | Cloud account | 1โ5 min | Scalable prod |
| Container | Runtime | Seconds | Microservices |
Preparation Checklist
| Item | Why |
|---|---|
| Backup existing data | Install may wipe the disk |
| Installation media | USB, ISO, or cloud access |
| Network details | Wi-Fi password or Ethernet |
| Hostname | Identify the machine |
| User credentials | Username and password |
| Time zone | Correct timestamps |
| Disk plan | If not using automatic |
Partition Layouts (Example)
| Mount | Size | Purpose |
|---|---|---|
/boot/efi | 512 MB | EFI System Partition (UEFI only) |
/boot | 1 GB | Kernel and initramfs |
/ | 20โ30 GB | Root filesystem |
/home | Rest | User data |
/var | 10โ20 GB | Logs, databases (servers) |
swap | = RAM or 2 GB | Swap space |
Filesystem Options
| FS | Use case |
|---|---|
| ext4 | Default, widely supported |
| XFS | Large files, high performance |
| Btrfs | Snapshots, subvolumes |
| ZFS | Advanced features (data integrity, snapshots) |
| FAT32 | EFI System Partition |
Bootloader Options
| Bootloader | Firmware | Notes |
|---|---|---|
| GRUB | BIOS, UEFI | Standard |
| systemd-boot | UEFI | Simpler, modern |
| rEFInd | UEFI | Alternative |
Cloud Instance Setup
| Requirement | Detail |
|---|---|
| Account | AWS, Azure, GCP, etc. |
| Credentials | IAM user or role |
| SSH key | For initial access |
| Region | Geographic location |
| Instance type | CPU, RAM, GPU |
| Storage | EBS, persistent disk, etc. |
| Security group | Firewall rules |
| VPC | Network configuration |
Container Setup
| Requirement | Detail |
|---|---|
| Runtime | Docker, Podman, containerd |
| Image | ubuntu:24.04, alpine:latest |
| Network | Bridge, host, custom |
| Volume | For persistence |
| Env vars | Configuration |
Post-Install Tasks
| Task | Command (Debian) | Command (Red Hat) |
|---|---|---|
| Update | apt update && apt upgrade | dnf upgrade |
| Hostname | hostnamectl set-hostname | same |
| Time zone | timedatectl set-timezone | same |
| Add user | useradd -m -s /bin/bash | same |
| Sudo group | usermod -aG sudo | usermod -aG wheel |
| Firewall | ufw enable | firewall-cmd |
| SSH | systemctl enable ssh | systemctl enable sshd |
Common Install Issues
| Issue | Cause | Fix |
|---|---|---|
| Won’t boot from USB | Boot order | Change BIOS/UEFI order |
| “No bootable device” | Wrong firmware mode | Match UEFI/BIOS to ISO |
| Installer can’t find disk | RAID/driver | Enable AHCI or drivers |
| No network | Wi-Fi firmware | Use Ethernet or install firmware |
| Secure Boot blocks | Unsigned bootloader | Disable Secure Boot or use signed |
| Disk too small | Insufficient space | Resize or free space |
Choosing a Method
| Need | Method |
|---|---|
| Physical laptop/desktop | Bare-metal |
| Sandbox / testing | VM |
| Scalable production | Cloud |
| Microservice | Container |
| Homelab | Bare-metal + VMs |
| CI/CD runner | Container or ephemeral VM |
| Learning | VM |
Best Practices
โ Do This:
# Back up existing data before installing
rsync -av /home/ /mnt/backup/home/ # โ
# Check hardware compatibility
lscpu; free -h; lsblk # โ
# Verify the ISO checksum
sha256sum ubuntu-24.04-desktop-amd64.iso # โ
# Test the USB before installing
# Boot from USB and use "Try" mode # โ
# Plan the disk layout
# Automatic for most users; manual for dual-boot # โ
# Note the firmware mode
[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS # โ
# Update immediately after install
sudo apt update && sudo apt upgrade -y # โ
# Create a non-root user with sudo
sudo useradd -m -s /bin/bash alice # โ
# Enable a firewall
sudo ufw enable # โ
# Snapshot a VM before major changes
# Use hypervisor's snapshot feature # โ
# Use cloud-init for cloud instances
# User data scripts for first-boot config # โ
โ Don’t Do This:
# Don't install without a backup
# Repartitioning wipes the disk # โ
# Don't skip checksum verification
# A corrupted ISO produces a broken install # โ
# Don't install in the wrong firmware mode
# UEFI-only ISO on BIOS mode โ won't boot # โ
# Don't ignore hardware minimums
# Too little RAM โ installer crashes # โ
# Don't work as root permanently
# Create a user with sudo instead # โ
# Don't skip updates
# A fresh install has vulnerabilities until patched # โ
# Don't leave the firewall off
# Enable it before connecting to a network # โ
# Don't assume the install is done
# Post-install configuration is required # โ
# Don't use the same partitioning for every use case
# Desktop, server, and containers have different needs # โ
Common Pitfalls
| Pitfall | Problem | Solution |
|---|---|---|
| No backup | Data loss on repartition | Back up first |
| Wrong firmware mode | Won’t boot | Match UEFI/BIOS to ISO |
| Bad ISO | Failed install | Verify checksum |
| Insufficient disk | Install fails | Check minimums |
| No network | Can’t fetch packages | Plan network access |
| Working as root | Security risk | Create a user |
| Skipping updates | Vulnerabilities | Update immediately |
| No firewall | Exposed | Enable before connecting |
| Wrong filesystem | Performance/feature mismatch | Choose deliberately |
| Missing drivers | Hardware doesn’t work | Install firmware post-setup |
Real-World Examples
1. Check architecture
uname -m
# x86_64
2. Check memory
free -h
3. Check disk
lsblk
4. Check firmware
[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS
5. Verify ISO checksum
sha256sum ubuntu-24.04-desktop-amd64.iso
6. Create a bootable USB
sudo dd if=ubuntu-24.04-desktop-amd64.iso of=/dev/sdb bs=4M status=progress
7. Boot from USB
Change BIOS/UEFI boot order; select USB.
8. Partition plan
/boot/efi 512M
/ 30G
/home rest
swap = RAM
9. Install via VM
Create VM in VirtualBox, attach ISO, start.
10. Install via cloud
Launch EC2 instance with Ubuntu AMI, SSH key, security group.
11. Install container base
docker run -it ubuntu:24.04 bash
12. Update after install
sudo apt update && sudo apt upgrade -y
13. Set hostname
sudo hostnamectl set-hostname myserver
14. Set time zone
sudo timedatectl set-timezone Europe/Oslo
15. Create user
sudo useradd -m -s /bin/bash alice
16. Grant sudo
# Debian
sudo usermod -aG sudo alice
# Red Hat
sudo usermod -aG wheel alice
17. Enable firewall
sudo ufw enable
18. Enable SSH
sudo systemctl enable --now ssh
19. Snapshot a VM
Use hypervisor snapshot before major changes.
20. Cloud-init for first boot
Provide user data on instance launch.
Visual: Installation Does Three Jobs
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Installer โ
โ โ
โ 1. Place system files โโโบ disk โ
โ 2. Configure bootloader โโโบ boot โ
โ 3. Set initial state โโโบ users, hostname โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Bootable, usable Linux system โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Visual: Four Installation Methods
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Bare-metal โ
โ โ physical disk โ
โ โ bootable USB โ
โ โ physical access โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Virtual machine โ
โ โ virtual disk โ
โ โ hypervisor โ
โ โ ISO image โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Cloud โ
โ โ provider tooling โ
โ โ SSH key โ
โ โ managed by provider โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Container โ
โ โ runtime + image โ
โ โ ephemeral โ
โ โ layered filesystem โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Visual: Preparation Flow
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 1. Back up existing data โ
โ โ
โ 2. Check hardware compatibility โ
โ โ CPU, RAM, disk, firmware โ
โ โ
โ 3. Choose a distribution โ
โ โ
โ 4. Download the ISO โ
โ โ
โ 5. Verify checksum โ
โ โ
โ 6. Create bootable media โ
โ โ
โ 7. Plan the disk layout โ
โ โ
โ 8. Gather network details โ
โ โ
โ 9. Note the boot firmware โ
โ โ
โ 10. Install โ
โ โ
โ 11. Post-install setup โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Visual: Typical Partition Layout
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ /boot/efi 512 MB FAT32 (EFI System) โ
โ โ
โ /boot 1 GB ext4 (kernel) โ
โ โ
โ / 30 GB ext4 (root) โ
โ โ
โ /home Rest ext4 (user data) โ
โ โ
โ swap = RAM swap โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Encrypted (LUKS + LVM) โ
โ โโ /dev/sda1 512 MB EFI (unencrypted) โ
โ /dev/sda2 Rest LUKS container โ
โ โโโ LVM volume group โ
โ โโโ lv_root โ / โ
โ โโโ lv_home โ /home โ
โ โโโ lv_swap โ swap โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Visual: Firmware Modes
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ BIOS (legacy) โ
โ โ MBR partitioning โ
โ โ GRUB in MBR โ
โ โ Max 2 TB boot disk โ
โ โ 4 primary partitions โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ UEFI (modern) โ
โ โ GPT partitioning โ
โ โ Bootloader in EFI System Partition โ
โ โ Supports > 2 TB disks โ
โ โ Secure Boot option โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ UEFI + Secure Boot โ
โ โ Signed bootloader required โ
โ โ Some distros support out of the box โ
โ โ Disable for unsigned kernels โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Visual: Method Decision Tree
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Physical machine? โ
โ โ โ
โ โโโ Yes โโโบ Bare-metal โ
โ โ โ
โ โโโ No โ
โ โ โ
โ โโโ Need scalability? โโโบ Cloud โ
โ โ โ
โ โโโ Need isolation? โโโบ VM โ
โ โ โ
โ โโโ Deploying an app? โโโบ Containerโ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Visual: Post-Install Checklist
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Immediately after install: โ
โ โ
โ [ ] Update packages โ
โ [ ] Create a non-root user โ
โ [ ] Grant sudo โ
โ [ ] Set hostname โ
โ [ ] Set time zone โ
โ [ ] Enable firewall โ
โ [ ] Enable SSH if remote โ
โ [ ] Install essential tools โ
โ โ
โ For servers: โ
โ [ ] Harden SSH โ
โ [ ] Configure logs โ
โ [ ] Set up monitoring โ
โ [ ] Configure backups โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Visual: Common Install Issues
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Won't boot from USB โ
โ โ boot order โ
โ โ USB not bootable โ
โ โ Secure Boot blocking โ
โ โ
โ No bootable device after install โ
โ โ wrong firmware mode โ
โ โ bootloader not installed โ
โ โ MBR/GPT mismatch โ
โ โ
โ Installer can't find disk โ
โ โ RAID mode not supported โ
โ โ drivers missing โ
โ โ
โ No network during install โ
โ โ Wi-Fi firmware missing โ
โ โ wrong network config โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Visual: Requirements by Method
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Bare-metal โ
โ โ Physical machine โ
โ โ USB drive โ
โ โ BIOS/UEFI access โ
โ โ Backup โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ VM โ
โ โ Hypervisor โ
โ โ Host resources โ
โ โ ISO โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Cloud โ
โ โ Account + credentials โ
โ โ SSH key โ
โ โ Region and instance type โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Container โ
โ โ Container runtime โ
โ โ Image โ
โ โ Volume for persistence โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Summary
| Concept | Meaning |
|---|---|
| Installation | Place files, configure boot, set state |
| Bare-metal | Install on physical hardware |
| VM | Install in virtualized environment |
| Cloud | Provision from provider image |
| Container | Start from base image |
| Firmware | BIOS (legacy) or UEFI (modern) |
| Partitioning | MBR (BIOS) or GPT (UEFI) |
| Bootloader | GRUB, systemd-boot |
| Minimum specs | Varies by distro and use case |
| Post-install | Update, users, security |
Key takeaways:
- Every Linux installation does three jobs โ place files, configure boot, set state
- Four install methods โ bare-metal, VM, cloud, container โ each suited to a different scenario
- Minimum hardware depends on the distro and use case โ servers can run on less
- Firmware is BIOS or UEFI โ UEFI is modern, supports GPT and Secure Boot
- Preparation matters โ back up, verify media, plan the disk, gather network details
- Partitioning can be automatic or manual โ manual for dual-boot, encryption, or specific layouts
- Filesystem choice โ ext4 default, XFS for scale, Btrfs for snapshots, FAT32 for EFI
- Cloud installs need an account, SSH key, region, instance type, security group
- Container installs need a runtime and image โ no full system, just an app environment
- Post-install is required โ update, create users, set hostname and timezone, enable firewall
- Match the install method to the use case โ physical machine, sandbox, production, or microservice
Remember: Installing Linux is a concept before it’s a procedure. Every method โ bare-metal, VM, cloud, container โ does the same three jobs: put the system on storage, make it bootable, set up the initial state. The steps differ; the shape doesn’t. Prepare carefully, choose the method that fits the scenario, and finish with the post-install basics. That’s what the exam tests โ not the clicks, but the concepts.
linux, installation, distros, bootloader
Stop using slow, ad-bloated tool sites! ๐คฎ
๐ Search “KandZ Tools” on Google to use many professional utilities for free.
KandZ.me is the ultimate minimalist hub for:
โ
Finance (Mortgage, Interest, Inflation)
โ
Tech (Base64, JSON, Dev Suite, IP)
โ
Health (BMI, BMR, TDEE)
โ
Productivity (Timer, Workspace, QR)
โก๏ธ Fast & Private
๐ No data leaves your device
๐ 100% Free
๐ Use it now: https://tools.kandz.me
๐ Bookmark itโyouโll need it later!