Twelve weeks. Twelve hands-on lab guides. Every exam domain — on two distro families. Built for people who can't drop $3,000 on a training course.
lfcs.learnlinuxforwork.com · Why I built this
| 12 | 12 | 5 | $0 |
|---|---|---|---|
| weeks | lab guides | exam domains | to start |
git clone https://github.com/learnlinuxforwork/lfcs.git && cd lfcs
python3 -m http.server 8000 # read the course at localhost:8000Then open Lab Guide 1 and start typing — on whichever distro you have running.
The LFCS is graded independent of distribution.
No specific Linux distro is required or assumed on exam day. Most study material quietly picks one distro and hopes it's close enough. This course doesn't: every lab guide gives you the command on Ubuntu/Debian and the command on Rocky/RHEL, side by side, until the underlying concept is what you know — not a memorized command line for one family.
Fourteen sections, built to the same shape as the RHCSA course and the AWS DevOps course:
| # | Section | What it gives you |
|---|---|---|
| 01 | How This Course Works | Pacing options from 6 to 18 weeks, and where the hours actually go |
| 02 | What the LFCS Actually Is | Format, the five domains and their weightings, what the graders care about |
| 03 | Build Your Home Lab | Hypervisors, VM sizing, an Ubuntu + Rocky two-machine topology |
| 04 | Self-Managed Cloud Hosted Labs | The same lab on GCP, DigitalOcean, AWS, or Vultr |
| 05 | The Certification Ladder | Linux Essentials, LFCS, RHCSA, LFCE — how they fit together |
| 06 | Exam Domain Coverage Map | All five Linux Foundation domains mapped to the week that covers them |
| 07 | The 12-Week Plan | Checkable tasks, progress saved in your browser |
| 08 | Lab Guides | Twelve standalone guides — dual-distro commands, verification, break/fix |
| 09 | Employer Verification | An optional paid track for a certificate an employer can check |
| 10 | Core Resource List | Free and low-cost resources, all linked |
| 11 | Estimated Costs | Honest numbers, optional items marked |
| 12 | Exam Day | Habits that get you there, plus the morning-of checklist |
| 13 | Why I Built This Guide | The reason this is free |
| 14 | Credits and Trademarks | Everyone whose work this stands on |
| Week | Focus | LFCS domain |
|---|---|---|
| 1 | Shell, Permissions, and Text Processing | Essential Commands |
| 2 | Git, Services, and Performance Troubleshooting | Essential Commands |
| 3 | Users, Groups, and Access Control | Users and Groups |
| 4 | Packages, the Kernel, and Backups | Operations Deployment |
| 5 | Processes and Scheduled Work | Operations Deployment |
| 6 | Virtual Machines, Containers, and SELinux/AppArmor | Operations Deployment |
| 7 | Partitions, LVM, and Filesystems | Storage |
| 8 | Remote Storage and Performance Monitoring | Storage |
| 9 | IP Addressing, DNS, and SSH | Networking |
| 10 | Firewalls, Routing, Bonding, and Load Balancing | Networking |
| 11 | Integration and Break/Fix Week | All five domains |
| 12 | Mock Exam, Remediation, and Exam Day | All of it, under exam conditions |
Every week has a standalone guide. Same shape each time: what you're building, the real commands on both distro families, how to verify it, and a break/fix drill where you sabotage the system on purpose and repair it.
| Guide | Time | You'll break and fix | |
|---|---|---|---|
| 1 | Shell, Permissions, and Text Processing | 8–10 h | A directory you chmod 000'd and locked yourself out of |
| 2 | Git, Services, and Performance Troubleshooting | 8–10 h | A systemd unit missing its ExecStart after an edit |
| 3 | Users, Groups, and Access Control | 8–10 h | A malformed sudoers.d file — recovered the safe way, via visudo -c |
| 4 | Packages, the Kernel, and Backups | 8–10 h | A sysctl change that never survives reboot |
| 5 | Processes and Scheduled Work | 8–10 h | A masked systemd timer that silently refuses to start |
| 6 | VMs, Containers, and SELinux/AppArmor | 8–10 h | An SELinux context relabeled back to default_t |
| 7 | Partitions, LVM, and Filesystems | 10–12 h | A bad UUID in /etc/fstab |
| 8 | Remote Storage and Performance Monitoring | 8–10 h | The NFS server going away out from under a mounted client |
| 9 | IP Addressing, DNS, and SSH | 8–10 h | An SSH port change that locks you out |
| 10 | Firewalls, Routing, Bonding, and Load Balancing | 10–12 h | A firewall silently dropping traffic to a working service |
| 11 | Integration and Break/Fix Week | 10–12 h | Five things, blind, across all five domains |
| 12 | Mock Exam and Exam Day | 10–12 h | Booking the exam before you can pass a clean mock |
Two virtual machines, one from each distro family:
| Role | Why this one | |
|---|---|---|
| Ubuntu Server | Guest — Debian family | Free, no account. Ships apt, netplan, and AppArmor. |
| Rocky Linux | Guest — RPM family | Free, no account. Ships dnf, NetworkManager, and SELinux. |
| Any hypervisor host | Host | VirtualBox, VMware Workstation Pro, KVM, or UTM — pick whichever matches your hardware. |
If your laptop can't spare the RAM, rent the same two machines from Google Cloud, DigitalOcean, AWS, or Vultr instead — see section 04 for details.
No build step, no dependencies, no framework.
git clone https://github.com/learnlinuxforwork/lfcs.git
cd lfcs
python3 -m http.server 8000Open http://localhost:8000. Opening index.html over file:// won't work — the page
fetches data/lfcs.json and browsers block that over the file protocol.
- Dark and light mode — follows your system, toggle overrides it, choice persists
- Progress tracking — every task checkable, per-week rings, overall bar. Stored in
localStorage - No tracking, no cookies, no analytics, no third-party scripts. Zero JS dependencies
- Dual-distro lab guides — Ubuntu/Debian and Rocky/RHEL commands side by side, not one distro quietly favored
- Prints cleanly — every lab guide is print-ready if you'd rather work from paper
| Item | Estimate |
|---|---|
| This course and all 12 lab guides | $0 |
| Ubuntu Server and Rocky Linux | $0 |
| Lab VMs on hardware you already own | $0 |
| LFCS exam | $445 |
| Cloud lab, if your laptop can't host VMs | ~$10–20/month, less if you destroy it between sessions |
| LPI Linux Essentials confidence builder | ~$120 · optional |
| killer.sh simulator sessions | Included with the exam purchase |
This was built for that fundi in Kenya, that hustler in Nigeria, the determined in Rwanda or Ethiopia. The hungry surviving in the UAE. The Indonesian or Filipino brother or sister — determined, but never given a chance or guidance.
Shea is 100% self-taught. He left the U.S. Navy — where he served as a Hospital Corpsman and Fleet Marine Force combat medic — with no IT experience and no money for bootcamps. This course exists because the LFCS deserved a free, genuinely distro-neutral course to match its own distro-neutral promise.
Push to main → .github/workflows/pages.yml validates
data/lfcs.json, confirms all twelve lab guides exist, runs the scope check, and deploys
to GitHub Pages at lfcs.learnlinuxforwork.com.
First-time setup:
- Settings → Pages → Source: GitHub Actions
- Settings → Pages → Custom domain:
lfcs.learnlinuxforwork.com, then tick Enforce HTTPS - DNS:
CNAMErecordlfcs→learnlinuxforwork.github.io
The CNAME file keeps the domain set across deploys — don't delete it.
.
├── index.html the UI shell
├── assets/
│ ├── css/style.css design tokens + dark/light themes
│ └── js/{app,lab}.js renderer, progress tracking, theme toggle
├── data/lfcs.json ← all course content lives here
├── lab/week-01..12.html the 12 lab guides
└── .github/workflows/pages.yml validate → check labs → deploy
To change course content, edit data/lfcs.json.
Corrections, dead-link fixes, and clearer task wording are all welcome.
- Fork and branch
- Edit
data/lfcs.json(or the CSS/JS for interface changes) - Validate:
python3 -c "import json;json.load(open('data/lfcs.json'))" - Open a PR describing what changed and why
Keep the tone plain and practical. Keep resources free or genuinely low-cost.
All course text and lab guides are original work, written for this repository. They are built from the Linux Foundation's published LFCS domains — the authoritative statement of what the exam covers — and from hands-on practice. No third-party book, course, or training material is reproduced here.
Licensed under the GNU AGPL v3.0 or later. See also LICENSE. Free forever.
This is an independent, community-written study guide. It is not affiliated with, sponsored by, endorsed by, or certified by the Linux Foundation or any other organisation named here.
| Mark | Belongs to |
|---|---|
| Linux Foundation, LFCS, LFCE | The Linux Foundation |
| Ubuntu | Canonical Ltd. |
| Debian | Software in the Public Interest, Inc. |
| Rocky Linux | Rocky Enterprise Software Foundation |
| Red Hat, RHEL, RHCSA, EX200 | Red Hat, Inc. |
| SELinux | U.S. National Security Agency, developed with Red Hat, Inc. |
| AppArmor | Canonical Ltd. |
| VirtualBox | Oracle Corporation |
| VMware Workstation Pro, Fusion | Broadcom Inc. |
| Docker | Docker, Inc. |
| Podman | Red Hat, Inc. and the Podman community |
| HAProxy | HAProxy Technologies |
| Git | Software Freedom Conservancy |
| OpenLDAP | The OpenLDAP Foundation |
| killer.sh | killer.sh |
| Linux | Linus Torvalds |
Full credit table in section 14. If you own one of these marks and want the wording changed, open an issue and it will be fixed.
RHCSA Course · 12 weeks, Red Hat–specific
AWS DevOps Course · 54 weeks, Linux to AWS DevOps
Learn Linux For Work · structured, work-focused Linux training
Doc Linux · command reference and syntax lookups
Built by Shea · Shea's Tech · LinkedIn · YouTube
If anything here is wrong, report it and we'll fix it.