#Linux

69 posts

eBPF Explained: Extending the Kernel Without Recompiling It
5 min read

eBPF Explained: Extending the Kernel Without Recompiling It

A summary of eBPF, the technology underneath modern observability, networking, and security tools: the third road it opens between dangerous kernel modules and slow userspace, the safety model where a verifier rejects unbounded loops and invalid memory access, hook points like kprobes, tracepoints, and XDP, the tool ladder from bpftrace one-liners through bcc to libbpf, flagship uses like Cilium and Falco, and the practical constraints of kernel versions and privileges.

Why Processes Die of OOM with Memory to Spare: Overcommit, cgroups, the OOM Killer
5 min read

Why Processes Die of OOM with Memory to Spare: Overcommit, cgroups, the OOM Killer

Unraveling the paradox of processes dying of OOM while free shows memory remaining: how Linux overcommit promises memory and delivers it later, the difference between free and available and the page cache, the container-era OOM that kills against cgroup limits rather than the whole system (exit 137, OOMKilled), how oom_score picks the victim, confirming the cause of death with dmesg and kubectl, and designing limits and requests.

What Load Average Actually Is — and How It Differs from CPU Usage
4 min read

What Load Average Actually Is — and How It Differs from CPU Usage

Reading the most misread metric in Linux correctly: the definition (running + runnable + disk-wait D-state tasks), judging against core count, the four classic ways it diverges from CPU usage, and reading the 1/5/15-minute triple as a trend.

Does fork Really Copy Memory? — Copy-on-Write in Practice
4 min read

Does fork Really Copy Memory? — Copy-on-Write in Practice

Why fork duplicates an entire process yet finishes in milliseconds: copy-on-write at the page-table level. The copy-only-when-written mechanism, why fork+exec is nearly free, real cases like Redis snapshots and pre-fork servers, and why memory accounting and overcommit get confusing.

Processes vs. Threads — Everything Follows from Shared Memory
4 min read

Processes vs. Threads — Everything Follows from Shared Memory

The process/thread difference unpacked from one criterion: whether memory is shared. The isolation-versus-sharing tradeoff, context switch costs, crash blast radius, and what nginx, browsers, Java, and Python (GIL) each chose — in practical terms.

How Linux Came to Dominate Servers — Cost, Architecture, Ecosystem
4 min read

How Linux Came to Dominate Servers — Cost, Architecture, Ecosystem

How Linux became the default server OS, from both the technical and ecosystem sides: the zero-license, open-source starting point, the structural traits that fit server duty (headless, remote-managed, long-running), the lock-in effects of the cloud and container eras, and the territories Linux never took.

Red Hat Certified Engineer (RHCE) #19 Full-Length Practice Exam — 15 Tasks with Solutions
18 min read

Red Hat Certified Engineer (RHCE) #19 Full-Length Practice Exam — 15 Tasks with Solutions

The final post of the Red Hat Certified Engineer (RHCE) series. Work through 15 task scenarios that integrate every domain in the same flow as the real EX294, then unfold each task's solution Ansible playbooks, commands, and explanation to grade yourself. Sum the points against the 210/300 pass line, check idempotency and FQCN, and lay out a review path for your weak domains.

Red Hat Certified System Administrator (RHCSA) #16 Full-Length Practice Exam — 16 Tasks with Solutions
19 min read

Red Hat Certified System Administrator (RHCSA) #16 Full-Length Practice Exam — 16 Tasks with Solutions

The final post of the Red Hat Certified System Administrator (RHCSA) series. Just like the real EX200, work through 16 task scenarios that integrate every domain, then unfold each task's solution commands and explanation to grade yourself. Sum the points against the 210/300 pass line and verify that your work survives a reboot.

Red Hat Certified Engineer (RHCE) #18: Exam Tips and Time Management
12 min read

Red Hat Certified Engineer (RHCE) #18: Exam Tips and Time Management

A condensed cheat sheet to read once more right before walking into the RHCE (EX294) hands-on exam. We cover the operating strategy for auto-configuring systems with playbooks over four hours and the habit of piling up tasks, running `--syntax-check` and `--check` often, solving unknown modules with ansible-doc and the system roles example docs in an offline environment, verifying idempotency with two runs, the recurring patterns that bleed points and the easily confused concept pairs, and a per-domain checklist for the moment before you sit. The next post, #19, is a full-scale mock exam.

Red Hat Certified System Administrator (RHCSA) #15: Exam tips, time management, and patterns people get wrong
11 min read

Red Hat Certified System Administrator (RHCSA) #15: Exam tips, time management, and patterns people get wrong

A compressed read for the moment right before you walk into the RHCSA hands-on exam. We cover the time management that runs your 2.5 hours from the easy tasks outward in dependency order, how to solve unfamiliar tasks with man pages when there is no internet, the habit of verifying tasks with a reboot, the recurring patterns that bleed points across the whole series (fstab typos, missing service enable, missing firewall reload, missing persistent SELinux settings) and how to avoid them, easily confused concept pairs, and a domain-by-domain checklist to run right before you sit. The next post, #16, is a full-scale mock exam.

Red Hat Certified Engineer (RHCE) #17 RHCSA Automation 4: firewall, SELinux, SSH keys
9 min read

Red Hat Certified Engineer (RHCE) #17 RHCSA Automation 4: firewall, SELinux, SSH keys

Part 17 of the Red Hat Certified Engineer (RHCE) series. This is the final post on automating RHCSA security tasks with Ansible — permanently allowing ports and services with ansible.posix.firewalld, handling SELinux with ansible.posix.seboolean and community.general.sefcontext, and deploying SSH public keys with authorized_key. We also cover the firewall and selinux system role alternatives, along with the persistent-apply options that show up again and again on the exam.

Red Hat Certified System Administrator (RHCSA) #14 Managing containers: Podman, systemd integration (quadlet)
9 min read

Red Hat Certified System Administrator (RHCSA) #14 Managing containers: Podman, systemd integration (quadlet)

The fourteenth post in the Red Hat Certified System Administrator (RHCSA) series. We search for and pull images with Podman, run containers, map ports, volumes, and environment variables, and run rootless containers as a regular user. Then we register a container as a systemd service with quadlet and use loginctl enable-linger to start it automatically at boot — a staple RHCSA task.