Skip to main content

Linux & Systems

Processes, files, cgroups, systemd and the kernel interfaces every ops tool is built on.

Containers, Kubernetes, Terraform providers and observability agents all bottom out in the same Linux primitives: processes and signals, file descriptors and mounts, namespaces and cgroups, sockets and the network stack. Engineers who know them read error messages instead of searching for them. This phase builds each primitive into a small tool first, then shows where it appears in the stack you run.

How this phase is built​

LessonTypeWhat you buildWhat you then use
PID 1 & SignalsBuilda supervisor that reaps children, forwards signals and restarts with backoffdocker stop timing, --init/tini, exec form, terminationGracePeriodSeconds, systemd Restart=
File DescriptorsBuildfdwatch: a process's descriptor table from /proc, classified, measured against the limit, with leak rate and deleted-but-open fileslsof, prlimit, ss, ulimit -n, LimitNOFILE=, docker --ulimit
Syscalls & straceBuildtracelens: a parser for strace output that groups failures by errno, reconstructs search paths, finds slow calls and prints a verdictstrace -f -tt -T -y -e trace=file,network, strace -c, --cap-add SYS_PTRACE, kubectl debug
Permissions & CapsBuildcapcheck: a capability-mask decoder with the full 41-bit table, a permission evaluator with setuid/setgid/sticky rules, /proc/PID/status explainedcapsh --decode, getpcaps, setcap, docker run --cap-drop ALL, Kubernetes securityContext
systemd UnitsBuildminiunit: a unit-file parser, a dependency graph with Requires/Wants semantics and a service state machine with restart policiessystemctl, journalctl -u, systemd-analyze verify, systemd-run, drop-ins, Quadlet
cgroups v2Buildcgtool: create groups, write cpu.max / memory.max / pids.max, run processes inside them, read cpu.stat and memory.events, explain any PID's chainsystemd-cgtop, systemd-run -p, docker run --cpus --memory --pids-limit, Kubernetes requests, limits and QoS classes
Mounts & OverlayBuildmountlens: a mountinfo parser with a mount tree, path lookup, propagation, overlay layers, shadowed mounts and inode usagefindmnt, mount --bind, unshare -m, Docker volumes / --tmpfs / --read-only, Kubernetes volumes
Performance BasicsBuildusetop: the USE method over /proc/stat, meminfo, loadavg, diskstats and PSI, with verdicts and top processestop, vmstat, mpstat, iostat, pidstat, free, PSI, kubectl top

Further lessons for this phase are proposed in ROADMAP.md.

Reference layer​

The long-form guides, cheat sheet and interview questions live under Linux and Bash.