LFCS 169 ๐ง LFCS โ Final Review and Exam Day Tips
The previous chapters covered the technical content, the practice scenarios, and the 10-week study plan. This chapter is the final review and the exam day guidance. The LFCS is a performance-based exam delivered through a remote proctoring environment or a testing center, with the 2-hour time limit, the 15โ20 hands-on tasks, and the 66% passing score . The critical trap is the assumption that the technical knowledge is sufficient. The exam also tests the time management, the interpretation of the task requirements, the recovery from the broken configuration, and the verification of the state. The candidates who know the commands but rush without the verification lose the points to the small errors: the wrong path, the missing --permanent, the forgotten fstab, or the trailing slash.
Key point: The exam day is the execution of the preparation. The task is the instruction, the command is the tool, the verification is the proof. The candidate must read the task carefully, plan the sequence, execute the commands, verify the state, and move on. The time budget is approximately 6 minutes per task. The skip and the return is the strategy for the stuck task. The man pages are the allowed reference, but the reliance on them for the basic commands is the time sink.
Why the final review and the exam day require a specific mental model
The interpretation problem. The task is written in the precise language. The “create the user with the home directory and the shell” is the useradd -m -s. The “make it persistent” is the /etc/fstab or the nmcli. The “allow only the local subnet” is the allow 192.168.0.0/16; deny all in the correct order. The candidate who skims the task and executes the partial command loses the points for the omitted requirement .
The verification problem. The exam grader checks the system state, not the command output. The mount /dev/sdb1 /mnt/data may succeed, but the reboot does not preserve it without the /etc/fstab. The firewall-cmd --add-service=http may succeed, but the --reload loses it without the --permanent. The verification is the findmnt, the firewall-cmd --permanent --list-all, the systemctl is-enabled, and the cat /etc/fstab.
The time problem. The 2 hours for the 15โ20 tasks is the 6โ8 minutes per task . The complex tasks (the LVM, the RAID, the SELinux troubleshooting) take longer. The simple tasks (the user, the hostname, the cron job) take 2โ3 minutes. The time budget is the trade-off: the candidate must not spend the 20 minutes on one task and miss the four simple tasks.
The stuck problem. The task that is not working consumes the time. The strategy is the skip after the 5 minutes and the return after the rest. The perspective is the reset. The stuck task often becomes clear after the break.
The recovery problem. The changes can break the system. The iptables rule that drops the SSH. The fstab entry with the typo. The sshd_config with the wrong directive. The candidate must know the console access and the rescue mode. The exam environment provides the console; the recovery is the reboot with the rd.break or the single mode.
The trade-off. The speed versus the accuracy. The candidate who types fast without the verification loses the points to the small errors. The candidate who verifies everything runs out of the time. The balance is the verification of the critical requirements, the speed on the simple tasks.
a. The task interpretation and the sequence
The task is the instruction. The candidate must read the full task, identify the requirements, and plan the sequence before the typing.
# Task: Create the user "devops" with the home directory,
# the bash shell, the supplementary group "docker",
# the password "TempPass123", and the password expiry of 90 days.
# Plan:
# 1. groupadd docker (if not exists)
# 2. useradd -m -s /bin/bash -G docker devops
# 3. echo "devops:TempPass123" | chpasswd
# 4. chage -M 90 devops
# Execute:
sudo groupadd docker 2>/dev/null || true
sudo useradd -m -s /bin/bash -G docker devops
echo "devops:TempPass123" | sudo chpasswd
sudo chage -M 90 devops
# Verify:
id devops
sudo chage -l devops
The plan identifies the four requirements: the user, the home, the shell, the group, the password, the aging. The execute runs the four commands. The verify confirms the state with the id and the chage -l.
The sequence matters. The group must exist before the useradd -G. The password must be set after the user creation. The aging is the independent.
b. The verification and the persistence
The verification is the state check. The persistence is the reboot survival.
# Task: Mount /dev/sdb1 at /mnt/data and make it persistent.
# Execute:
sudo mkfs.ext4 /dev/sdb1
sudo mkdir -p /mnt/data
UUID=$(sudo blkid -s UUID -o value /dev/sdb1)
echo "UUID=$UUID /mnt/data ext4 defaults 0 2" | sudo tee -a /etc/fstab
# Verify:
sudo mount -a
findmnt /mnt/data
df -hT /mnt/data
The blkid extracts the UUID. The /etc/fstab entry uses the UUID. The mount -a tests the entry. The findmnt and the df verify. The persistence is the fstab, not the mount command.
The systemctl enable is the persistence for the service. The firewall-cmd --permanent is the persistence for the firewall. The sysctl drop-in is the persistence for the kernel. The mdadm.conf is the persistence for the RAID. The candidate must check the persistence for every task that says “make it persistent” or “survive the reboot.”
c. The exam day strategy and the recovery
The exam day strategy: the read the task, the plan, the execute, the verify, the move. The time budget: the simple tasks first, the complex second, the stuck last.
# The exam day checklist:
# 1. Read the task twice (the requirements)
# 2. Plan the commands (the sequence)
# 3. Execute the commands
# 4. Verify the state (the id, the findmnt, the ss, the systemctl)
# 5. Check the persistence (the fstab, the enable, the --permanent)
# 6. Move to the next task
The recovery if the system breaks.
# The recovery mode (the GRUB):
# 1. Reboot the system
# 2. Edit the GRUB entry (press "e")
# 3. Add "rd.break" to the linux line (RHEL) or "init=/bin/bash" (Ubuntu)
# 4. Boot (Ctrl+X)
# 5. Remount the root (mount -o remount,rw /sysroot)
# 6. Chroot (chroot /sysroot)
# 7. Fix the config
# 8. Exit and reboot
The rd.break breaks the boot before the root mount. The mount -o remount,rw /sysroot makes the root writable. The chroot /sysroot enters the root. The fix is the edit. The touch /.autorelabel if the SELinux is used.
The init=/bin/bash is the Ubuntu alternative. The root is the rw from the start. The passwd reset and the config fix.
Complete Example Session
# ============================================
# PART 1: READ THE TASK
# ============================================
# Task: Create "devops" with home, bash shell,
# docker group, password TempPass123, aging 90 days.
# ============================================
# PART 2: PLAN THE SEQUENCE
# ============================================
# 1. groupadd docker
# 2. useradd -m -s /bin/bash -G docker devops
# 3. chpasswd
# 4. chage -M 90
# ============================================
# PART 3: EXECUTE
# ============================================
sudo groupadd docker 2>/dev/null || true
sudo useradd -m -s /bin/bash -G docker devops
echo "devops:TempPass123" | sudo chpasswd
sudo chage -M 90 devops
# ============================================
# PART 4: VERIFY
# ============================================
id devops
sudo chage -l devops
# ============================================
# PART 5: PERSISTENCE TASK
# ============================================
# Task: Mount /dev/sdb1 at /mnt/data, persistent.
sudo mkfs.ext4 /dev/sdb1
sudo mkdir -p /mnt/data
UUID=$(sudo blkid -s UUID -o value /dev/sdb1)
echo "UUID=$UUID /mnt/data ext4 defaults 0 2" | sudo tee -a /etc/fstab
sudo mount -a
# ============================================
# PART 6: VERIFY THE MOUNT
# ============================================
findmnt /mnt/data
df -hT /mnt/data
# ============================================
# PART 7: SERVICE TASK
# ============================================
# Task: Enable nginx, allow http in the firewall, persistent.
sudo systemctl enable --now nginx
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload
# ============================================
# PART 8: VERIFY THE SERVICE
# ============================================
systemctl is-enabled nginx
systemctl is-active nginx
firewall-cmd --list-all
curl http://localhost
# ============================================
# PART 9: RECOVERY MODE
# ============================================
# If the system breaks:
# GRUB โ "e" โ rd.break โ Ctrl+X
# mount -o remount,rw /sysroot
# chroot /sysroot
# fix the config
# exit; reboot
The nine parts trace the exam day: the read, the plan, the execute, the verify, the persistence, the verify the mount, the service, the verify the service, and the recovery.
Quick Reference
Exam Facts
| Item | Value |
|---|---|
| Format | Performance-based |
| Tasks | 15โ20 |
| Duration | 2 hours |
| Passing | 66% |
| Retake | One free within 12 months |
| Time per task | 6โ8 minutes |
Task Sequence
| Step | Action |
|---|---|
| 1 | Read the task twice |
| 2 | Plan the commands |
| 3 | Execute |
| 4 | Verify the state |
| 5 | Check the persistence |
| 6 | Move on |
Persistence Drills
| Task | Persistence |
|---|---|
| Mount | /etc/fstab |
| Service | systemctl enable |
| Firewall | firewall-cmd --permanent |
| Kernel | /etc/sysctl.d/ |
| RAID | /etc/mdadm.conf |
Recovery
| System | Command |
|---|---|
| RHEL | rd.break |
| Ubuntu | init=/bin/bash |
| Remount | mount -o remount,rw /sysroot |
| Chroot | chroot /sysroot |
Best Practices
โ Do This:
id devops && sudo chage -l devops
<!-- Verify the user and the aging --> # โ
sudo mount -a && findmnt /mnt/data
<!-- Verify the persistence --> # โ
systemctl is-enabled nginx
<!-- Verify the boot state --> # โ
โ Don’t Do This:
# Execute without the reading the task
<!-- Missing the requirement --> # โ
# Use the runtime commands only
<!-- Lost on reboot --> # โ
# Spend the 20 minutes on the stuck task
<!-- Miss the other tasks --> # โ
Common Pitfalls
| Pitfall | Why It Happens | Fix |
|---|---|---|
| Task incomplete | Skimmed the requirements | Read twice, verify |
| Lost on reboot | No persistence | Check the fstab, the enable, the --permanent |
| Time out | Stuck on the one task | Skip, return later |
| System broken | Wrong config | Recovery mode |
| Verification missing | Assumed the command worked | Use the id, the findmnt, the ss |
Real-World Examples
1. Read the Task
Task: Create the user with the home, the shell, the group.
2. Plan
1. groupadd
2. useradd -m -s -G
3. chpasswd
4. chage
3. Execute
useradd -m -s /bin/bash -G docker devops
4. Verify User
id devops
5. Verify Aging
chage -l devops
6. Mount
mkfs.ext4 /dev/sdb1 && mount /dev/sdb1 /mnt/data
7. Verify Mount
findmnt /mnt/data
8. Persist Mount
echo "UUID=... /mnt/data ext4 defaults 0 2" >> /etc/fstab
9. Service
systemctl enable --now nginx
10. Recovery
GRUB โ rd.break โ chroot โ fix
Visual
Exam Day Flow
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Read the task twice โ
โโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Plan the sequence โ
โโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Execute the commands โ
โโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Verify the state โ
โโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Check the persistence โ
โโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Move to the next task โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Time Budget
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 15-20 tasks in 120 minutes โ
โ โ 6-8 minutes per task โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Simple tasks (user, hostname): 2-3 min โ
โ Medium tasks (nginx, firewall): 5-7 min โ
โ Complex tasks (LVM, RAID, SELinux): 10-15 minโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Summary
| Item | Value |
|---|---|
| Exam format | Performance-based |
| Duration | 2 hours |
| Tasks | 15โ20 |
| Passing | 66% |
| Time per task | 6โ8 minutes |
| Persistence | /etc/fstab, enable, --permanent |
| Verification | id, findmnt, ss, systemctl |
| Recovery | rd.break, init=/bin/bash |
Key takeaways:
- The task is the instruction. The read twice, the plan the sequence, the execute, the verify. The candidate who skims the task misses the requirement and loses the points .
- The verification is the proof. The exam grader checks the state. The
id devops, thefindmnt /mnt/data, thess -tlnp, thesystemctl is-enabled. The command output is not the state; the verification is. - The persistence is the trap. The task that says “persistent” or “survive the reboot” requires the
/etc/fstab, thesystemctl enable, thefirewall-cmd --permanent, thesysctldrop-in. The runtime command is not enough. - The time is the budget. The 6โ8 minutes per task. The simple tasks first, the complex second, the stuck last. The skip and the return is the strategy.
- The recovery is the console. The GRUB
rd.break(RHEL) or theinit=/bin/bash(Ubuntu). Themount -o remount,rw /sysroot. Thechroot /sysroot. The fix and the reboot. The recovery is the last resort, not the first.
Remember: The exam day is the execution. The read, the plan, the execute, the verify, the persist, the move. The commands are the tools. The state is the proof. The time is the budget. The recovery is the safety. The exam tests the complete workflow, not the isolated command.
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!