Work

LFCS Practice Tool

83 Linux admin scenarios in throwaway Docker containers, each one checked automatically when you exit the shell.

C Sarath Babu's experiment LFCS Practice Tool. Tux the Linux penguin built from terminal characters inside a dashed container

I built a command-line tool for practising Linux system administration.

It gives you a task, drops you into a container, and checks your work when you exit. 83 scenarios across the five LFCS exam categories.

pip install lfcs
lfcs start
C Sarath Babu's LFCS Practice Tool. A terminal recording of a scenario being started, worked through and validated
Pick a scenario, do the work, type exit. It tells you what you got wrong.

Why containers

You cannot practise system administration by reading about it. You have to break things.

But the machine you would break is the one you work on. Partition a disk wrongly, misconfigure a firewall, get a chmod wrong on /etc, and you have a real problem instead of a lesson.

So every scenario runs in its own Docker container. Do whatever you want to it. Exit, and it is gone.

Checking the work, not the commands

The tool does not care how you got there.

It checks the state of the system afterwards. Did the user exist with the right group. Is the mount there. Does the service come back after a restart. There are usually four ways to do any of it, and an exam does not care which one you picked either.

That is also the hard part of writing scenarios. It is easy to check that someone typed a particular command. It is more work to check that the machine ended up in the right state, and it is the only check worth having.

Using it

lfcs start                                    # pick a scenario, work, validate
lfcs start --category networking --difficulty easy
lfcs list                                     # every scenario available
lfcs stats                                    # pass rate, streaks, mastery
lfcs stats --category storage
lfcs learn                                    # the structured path
lfcs learn --list
lfcs learn --module 01_beginner/01_linux_basics
lfcs learn --continue                         # from where you stopped
lfcs reset --confirm

The loop is always the same. Pick a scenario. Read the task. Do the work in the container shell. Type exit. It tells you what passed and what did not.

Live validation is there too, so you can check without leaving the container and losing your place.

The five categories

The scenarios follow the exam.

essential_commands     text processing, pipes, archives
operations_deployment  services, packages, systemd
networking             interfaces, routing, firewall
storage                filesystems, LVM, mounting, permissions
users_groups           users, permissions, sudo

Each has easy, medium and hard, and scenarios are generated with randomised values, so running the same one twice is not the same exercise twice.

Ubuntu, CentOS, Rocky

Paths move between distributions. So do service names, package managers and default configurations.

Practising on only one of them teaches you that one. So the containers come in three, and a scenario can be run against any of them.

What it tracks

Pass rate, per category and per difficulty. Streaks. Mastery percentages. Which areas you keep failing, and what to practise next based on that.

There is also a structured learning path, 14 modules from Linux basics up to security hardening and automation, for when you do not know enough yet to attempt a scenario.

01_beginner       basics, navigation, first commands
02_intermediate   text processing, processes, packages
03_advanced       networking, storage, user administration
04_expert         security hardening, automation, troubleshooting

Hints and validation can go through Claude or GPT if you give it a key, but the tool works without one. AI is an addition, not a requirement.

export ANTHROPIC_API_KEY="..."
lfcs start --ai

There is a --local mode that runs on your own machine instead of a container. It works, and the README says plainly not to use it unless you understand what you are agreeing to. A tool that reformats disks for practice should not do that to the machine you are reading this on.

tl;dr

Practise Linux administration in a container you can destroy, and have your work checked automatically.

PyPI · Source on GitHub