CertGrid CertGrid
Concepts·Linux Foundation Certified System Administrator

LFCS exam format and lab strategy

LFCS is a two-hour performance-based exam: you are given tasks on a live system and graded on the end state, not on how you reached it. This guide covers what that format rewards, why the exam is sat on either Ubuntu or Rocky and what that means for preparation, and introduces the machines every later page runs on.

Start Here Guide 1 of 38 Beginner

Exam format and the five domain weights are the Linux Foundation's published certification page, linked below. Nothing here is derived from this site's practice questions - a question bank is edited, and a guide that quotes one goes quietly out of date.

Both distributions, because the commands on this page differ between them. Every output is captured on the host it belongs to.
Server NameIP AddressOSRolesCPURAMHDD
LFCS-A01192.168.0.70Ubuntu 26.04 LTSPrimary host - most guides run only here2 Core4 GB50 GB
LFCS-C01192.168.0.72AlmaLinux 10.2The other distribution - dnf, firewalld and NetworkManager2 Core4 GB50 GB

This guide includes

Use this before you book anything. This matters because LFCS is sat on a live system against a two-hour clock, and you choose Ubuntu or Rocky at the start - so half the commands you revise have two correct spellings and only one of them counts on the day.

Before you start

  1. The machines, and why there are two distributions

    The candidate chooses the distribution at the start of the exam.

    bash Example session
    hostnamectl hostname; . /etc/os-release; echo "$PRETTY_NAME  kernel $(uname -r)"lfcs-a01Ubuntu 26.04 LTS  kernel 7.0.0-30-generichostnamectl hostname; . /etc/os-release; echo "$PRETTY_NAME  kernel $(uname -r)"lfcs-c01AlmaLinux 10.2 (Lavender Lion)  kernel 6.12.0-211.7.3.el10_2.x86_64

    Expected resultUbuntu 26.04 LTS and AlmaLinux 10.2, on kernels 7.0.0-30-generic and 6.12.0-211.7.3.el10_2.

    Success conditionYou know which machine each command on this path ran on.

  2. The tooling that differs between them

    Not a preference - the two families genuinely ship different tools.

    bash Example session
    printf '%-18s %s\n' "package manager" "$(command -v apt-get >/dev/null && echo apt || echo dnf)" "init system" "$(ps -p 1 -o comm=)" "firewall front end" "$(command -v ufw >/dev/null && echo ufw || echo firewall-cmd)" "network config" "$(command -v netplan >/dev/null && echo 'netplan + systemd-networkd' || echo NetworkManager)"package manager    aptinit system        systemdfirewall front end ufwnetwork config     netplan + systemd-networkdprintf '%-18s %s\n' "package manager" "$(command -v apt-get >/dev/null && echo apt || echo dnf)" "init system" "$(ps -p 1 -o comm=)" "firewall front end" "$(command -v ufw >/dev/null && echo ufw || echo firewall-cmd)" "network config" "$(command -v netplan >/dev/null && echo 'netplan + systemd-networkd' || echo NetworkManager)"package manager    aptinit system        systemdfirewall front end ufwnetwork config     netplan + systemd-networkd

    Expected resultapt with ufw and netplan on one side; dnf with firewalld and NetworkManager on the other.

    Success conditionYou can see what "either distribution" actually costs you in preparation.

  3. What a performance exam does not give you

    The login shell, and why it matters when you are being timed.

    zsh Example session
    echo "SHELL=$SHELL"; echo "BASH_VERSION=[$BASH_VERSION]"; echo "ZSH_VERSION=[$ZSH_VERSION]"; getent passwd sysadmin | cut -d: -f7SHELL=/bin/zshBASH_VERSION=[]ZSH_VERSION=[5.9]/bin/zshbash -c 'echo "under bash -c: BASH_VERSION=$BASH_VERSION"'under bash -c: BASH_VERSION=5.2.26(1)-release

    Expected resultSHELL=/usr/bin/zsh with an empty BASH_VERSION, and a version appearing only once the same question is asked under bash -c.

    Success conditionYou will not lose exam minutes to a shell that is not the one you assumed.

Troubleshooting

Official sources