| |

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:

DecisionOptions
Where to installEntire disk, partition, VM disk, cloud volume
Filesystemext4, Btrfs, XFS, ZFS
PartitioningAutomatic, manual, LVM, encrypted
BootloaderGRUB, systemd-boot, other
DesktopNone, minimal, full
UsersRoot only, additional users
NetworkDHCP, 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:

ResourceMinimumRecommended
CPU1 GHz, 64-bit2+ GHz, multi-core
RAM512 MB โ€“ 1 GB (server)2โ€“4 GB (server), 8+ GB (desktop)
Disk5โ€“10 GB (server)20+ GB (desktop), more for data
NetworkOptionalRecommended
DisplayNone (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:

ItemWhy
Backup of existing dataInstall may wipe the disk
Installation mediaUSB, ISO, or cloud access
Network detailsWi-Fi password or Ethernet
HostnameTo identify the machine
User credentialsUsername, password
Time zoneFor correct timestamps
Disk layout planIf 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:

AspectBare-metalVMCloudContainer
Physical accessโœ…โš ๏ธ to hostโŒโŒ
Setup time30โ€“60 min20โ€“40 min1โ€“5 minSeconds
Persistenceโœ…โœ…โœ…โš ๏ธ
CostHardwareHost hardwarePer hourHost
Use caseProduction, personalDev, testScalable prodMicroservices

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:

ContextCommon method
Personal laptopBare-metal
Dev environmentVM or container
Production serverCloud or bare-metal
MicroserviceContainer
CI/CD runnerContainer or ephemeral VM
Learning LinuxVM
Testing before upgradeVM
HomelabBare-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:

TaskPurpose
Update packagesGet security patches
Create usersAvoid working as root
Set hostnameIdentify the machine
Configure time zoneCorrect timestamps
Configure localeCorrect language and formats
Enable firewallBasic security
Set up SSHRemote access
Install essential toolsEditor, 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

JobResult
Place system filesKernel, userland, config on disk
Configure bootloaderMachine can boot
Set initial stateUsers, hostname, network

Minimum Hardware (Typical)

Use caseCPURAMDisk
Minimal server1 GHz512 MB5 GB
Standard server2 GHz+2 GB20 GB
Desktop2 GHz+4 GB25 GB
Container baseAnySharedShared

Firmware Options

FirmwarePartitioningBoot
BIOSMBRGRUB in MBR
UEFIGPTGRUB/systemd-boot in ESP
UEFI + Secure BootGPTSigned bootloader

Install Methods

MethodPrepSetup timeUse case
Bare-metalUSB30โ€“60 minProduction, personal
VMHypervisor + ISO20โ€“40 minDev, test, learning
CloudCloud account1โ€“5 minScalable prod
ContainerRuntimeSecondsMicroservices

Preparation Checklist

ItemWhy
Backup existing dataInstall may wipe the disk
Installation mediaUSB, ISO, or cloud access
Network detailsWi-Fi password or Ethernet
HostnameIdentify the machine
User credentialsUsername and password
Time zoneCorrect timestamps
Disk planIf not using automatic

Partition Layouts (Example)

MountSizePurpose
/boot/efi512 MBEFI System Partition (UEFI only)
/boot1 GBKernel and initramfs
/20โ€“30 GBRoot filesystem
/homeRestUser data
/var10โ€“20 GBLogs, databases (servers)
swap= RAM or 2 GBSwap space

Filesystem Options

FSUse case
ext4Default, widely supported
XFSLarge files, high performance
BtrfsSnapshots, subvolumes
ZFSAdvanced features (data integrity, snapshots)
FAT32EFI System Partition

Bootloader Options

BootloaderFirmwareNotes
GRUBBIOS, UEFIStandard
systemd-bootUEFISimpler, modern
rEFIndUEFIAlternative

Cloud Instance Setup

RequirementDetail
AccountAWS, Azure, GCP, etc.
CredentialsIAM user or role
SSH keyFor initial access
RegionGeographic location
Instance typeCPU, RAM, GPU
StorageEBS, persistent disk, etc.
Security groupFirewall rules
VPCNetwork configuration

Container Setup

RequirementDetail
RuntimeDocker, Podman, containerd
Imageubuntu:24.04, alpine:latest
NetworkBridge, host, custom
VolumeFor persistence
Env varsConfiguration

Post-Install Tasks

TaskCommand (Debian)Command (Red Hat)
Updateapt update && apt upgradednf upgrade
Hostnamehostnamectl set-hostnamesame
Time zonetimedatectl set-timezonesame
Add useruseradd -m -s /bin/bashsame
Sudo groupusermod -aG sudousermod -aG wheel
Firewallufw enablefirewall-cmd
SSHsystemctl enable sshsystemctl enable sshd

Common Install Issues

IssueCauseFix
Won’t boot from USBBoot orderChange BIOS/UEFI order
“No bootable device”Wrong firmware modeMatch UEFI/BIOS to ISO
Installer can’t find diskRAID/driverEnable AHCI or drivers
No networkWi-Fi firmwareUse Ethernet or install firmware
Secure Boot blocksUnsigned bootloaderDisable Secure Boot or use signed
Disk too smallInsufficient spaceResize or free space

Choosing a Method

NeedMethod
Physical laptop/desktopBare-metal
Sandbox / testingVM
Scalable productionCloud
MicroserviceContainer
HomelabBare-metal + VMs
CI/CD runnerContainer or ephemeral VM
LearningVM

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

PitfallProblemSolution
No backupData loss on repartitionBack up first
Wrong firmware modeWon’t bootMatch UEFI/BIOS to ISO
Bad ISOFailed installVerify checksum
Insufficient diskInstall failsCheck minimums
No networkCan’t fetch packagesPlan network access
Working as rootSecurity riskCreate a user
Skipping updatesVulnerabilitiesUpdate immediately
No firewallExposedEnable before connecting
Wrong filesystemPerformance/feature mismatchChoose deliberately
Missing driversHardware doesn’t workInstall 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

ConceptMeaning
InstallationPlace files, configure boot, set state
Bare-metalInstall on physical hardware
VMInstall in virtualized environment
CloudProvision from provider image
ContainerStart from base image
FirmwareBIOS (legacy) or UEFI (modern)
PartitioningMBR (BIOS) or GPT (UEFI)
BootloaderGRUB, systemd-boot
Minimum specsVaries by distro and use case
Post-installUpdate, 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!