🐧
Active Module Path

Linux Systems

Understand kernel diagnostics, process states, signals, memory hierarchy, system call tracing, networking diagnostics, and storage optimization.

beginner level

5 lessons
Lesson 1 β€’ ⏱️ 20m
Processes, PIDs & the Fork/Exec Lifecycle

Understand what a Linux process actually is, how fork and exec create one, the five process states, and why a process stuck in D state cannot be killed.

βœ“
Lesson 2 β€’ ⏱️ 14m
Signals, Graceful Shutdown & Job Control

Learn the signal table every SRE needs, why SIGKILL loses data, how graceful termination actually works, and how to keep work alive after you disconnect.

βœ“
Lesson 3 β€’ ⏱️ 16m
Memory, Page Cache & the OOM Killer

Read free -h correctly, tell RSS from VSZ, understand why Linux reports almost no free memory on a healthy host, and predict which process the OOM killer takes first.

βœ“
Lesson 4 β€’ ⏱️ 18m
Users, Groups, Permissions & sudo

Read and set the permission bits with confidence, understand what setuid and the sticky bit actually do, and know where identity lives on a Linux host.

βœ“
Lesson 5 β€’ ⏱️ 15m
Packages, Repositories & Reproducible Hosts

Work both major package families with confidence, find out which package owns a file, and understand why an unpinned upgrade is a production change.

βœ“

intermediate level

6 lessons
Lesson 6 β€’ ⏱️ 17m
System Calls, File Descriptors & /proc

Cross the user/kernel boundary deliberately: read file descriptor tables, navigate /proc, and use strace to find out what a hung process is actually waiting on.

βœ“
Lesson 7 β€’ ⏱️ 18m
systemd Units, Restart Policies & journalctl

Write a correct unit file, understand why a crash-looping service eventually stops restarting itself, and query the journal precisely enough to find the first failure.

βœ“
Lesson 8 β€’ ⏱️ 17m
The Boot Sequence: Firmware to multi-user.target

Follow a host from power-on to a running service, know which log holds which stage, and diagnose the boot that hangs before anything you recognise appears.

βœ“
Lesson 9 β€’ ⏱️ 18m
Kernel Diagnostics: dmesg, sysctl & Modules

Read the kernel ring buffer like a log, tune the kernel with sysctl in a way that survives reboot, and recognise the hardware and driver failures that never reach an application log.

βœ“
Lesson 10 β€’ ⏱️ 17m
Filesystems, Inodes & Disk Full Triage

Resolve the classic df-versus-du disagreement, diagnose inode exhaustion, and read I/O metrics well enough to tell a slow disk from a busy one.

βœ“
Lesson 11 β€’ ⏱️ 18m
Log Analysis & Rotation Under Pressure

Turn a million-line log into an answer with grep, awk and sort, understand where logs come from and where they go, and stop a runaway log from filling the disk.

βœ“

advanced level

4 lessons
Lesson 12 β€’ ⏱️ 20m
Network Diagnostics: Layer-by-Layer Triage

Walk the stack from link to application in a fixed order, read socket states correctly, and trace the DNS resolution path that quietly causes most intermittent latency.

βœ“
Lesson 13 β€’ ⏱️ 20m
Storage Optimization: LVM, RAID & Filesystem Tuning

Lay out storage that can grow, choose between RAID levels on their real trade-offs, and tune mount options and schedulers for the workload you actually have.

βœ“
Lesson 14 β€’ ⏱️ 19m
Hardening: SSH, Firewalls, SELinux & Capabilities

Close the doors that matter on a production host β€” SSH configuration, packet filtering, mandatory access control, and dropping root privilege without breaking the service.

βœ“
Lesson 15 β€’ ⏱️ 18m
The 60-Second Triage & the USE Method

Assemble everything into a repeatable first minute on an unhealthy host: what load average really counts, how to tell saturation from utilisation, and how to name the bottleneck with evidence.

βœ“

🎯 What You'll Learn

  • β€’ Read process state, memory and I/O metrics correctly instead of alerting on the numbers that mislead.
  • β€’ Trace a hung process to the exact system call it is blocked in using strace and /proc.
  • β€’ Read the kernel ring buffer and tune the kernel with sysctl in a way that survives a reboot.
  • β€’ Follow a host from firmware to multi-user.target, and diagnose the boot that never finishes.
  • β€’ Set permissions, special bits and sudo rules deliberately rather than by trial and error.
  • β€’ Write systemd units with restart policies that survive a crash loop instead of giving up silently.
  • β€’ Diagnose a full disk that du cannot explain, and lay out LVM and RAID that can grow.
  • β€’ Turn a million-line log into a ranked answer with grep, awk and sort.
  • β€’ Walk a network fault layer by layer, and prove whether latency lives in the network or the application.
  • β€’ Harden SSH, firewalls and capabilities without locking yourself out.
  • β€’ Run a repeatable 60-second triage that names the bottleneck with evidence.