Linux Systems
Understand kernel diagnostics, process states, signals, memory hierarchy, system call tracing, networking diagnostics, and storage optimization.
beginner level
5 lessonsUnderstand 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.
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.
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.
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.
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 lessonsCross 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.
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.
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.
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.
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.
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 lessonsWalk 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.
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.
Close the doors that matter on a production host β SSH configuration, packet filtering, mandatory access control, and dropping root privilege without breaking the service.
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.
πΌ Interview Readiness
Once you reach the end of this path, test your engineering knowledge against real questions asked by top technical teams:
A production incident shows CPU, RAM, and disk all reporting as "healthy" in monitoring, yet a specific service is clearly struggling. What's a diagnostic angle that basic resource monitoring might miss?
Structured DebuggingA production pod shows status Evicted. What should you check first, and why?
KubernetesDesign a troubleshooting approach for an incident where SSH access to a critical production server is itself broken, preventing you from directly investigating the server's own configuration. What's your overall strategy?
Linux & NetworkingWalk through a structured approach to diagnosing an ambiguous "intermittent connectivity issue" on a Linux server, from the outside in.
Structured DebuggingIf a TCP handshake to port 22 succeeds via netcat, but ping to the same host fails completely, what does that tell you?
Linux & NetworkingHow can DNS cause intermittent SSH login lag?
Linux & Networking