Linux Tutorials 📖

Deep dives into DevOps and Server Side topics where theory blends with hands-on examples. You can try out commands from each tutorial in the attached remote playground, either from the browser or via SSH access from your local terminal — no extra setup required.

Tutorial

Why Does My eBPF Program Work on One Kernel but Fail on Another?

In this tutorial, we look at why eBPF programs can fail across kernel versions due to changes in structs, tracepoints, and function layouts. We look at examples of how these differences cause portability issues and how BPF CO-RE, BTF and vmlinux.h address them.

Why Does My eBPF Program Work on One Kernel but Fail on Another? (cover image)
Tutorial

eBPF Tracepoints, Kprobes, or Fprobes: Which One Should You Choose?

In this tutorial, we’ll look at how different eBPF tracing mechanisms work in practice by focusing on a single use case: capturing execve system call events. We’ll start with tracepoints, move on to raw tracepoints, and then cover kprobes and fprobes, showing how each attaches to the kernel and what data they expose. Along the way, we’ll compare their trade-offs in terms of stability, performance, and portability.

eBPF Tracepoints, Kprobes, or Fprobes: Which One Should You Choose? (cover image)
Tutorial

Inspecting and Monitoring eBPF Applications

In this tutorial, you’ll learn how to inspect eBPF programs and maps loaded into the kernel with bpftool, gaining deeper visibility into how your eBPF application runs. We’ll also explore bpftop, a top-like interface that lets you monitor eBPF program activity in real time.

Inspecting and Monitoring eBPF Applications (cover image)
Tutorial

Storing Data in eBPF: Your First eBPF Map

In this tutorial, you’ll learn how to store and update data inside the kernel, turning a simple eBPF Hello World program into one that tracks useful state. We’ll also briefly learn a few basics of bpftool, a handy CLI tool that will allow us to list and inspect our eBPF map.

Storing Data in eBPF: Your First eBPF Map (cover image)
Tutorial

From Zero to Your First eBPF Program

In this first tutorial, you’ll run a pre-coded eBPF program and see it in action without writing any code yourself. We’ll walk through the important parts of the program so you understand how eBPF hooks and runs in the kernel. The goal is to get familiar with the workflow and core concepts before you start writing your own eBPF programs.

From Zero to Your First eBPF Program (cover image)

Get the latest tutorials straight to your inbox!