Linux Namespaces: The Kernel Primitive Behind Every Container
How each of the Linux kernel's namespace types isolates a specific global resource, and why containers are just processes with a curated set of them.
The kernel primitives, init systems, and tooling behind the world's most-deployed OS.
How each of the Linux kernel's namespace types isolates a specific global resource, and why containers are just processes with a curated set of them.
August 25, 2021 marked 30 years since Linus Torvalds' original Usenet announcement, prompting a wave of retrospectives on how far the kernel had come.
Linux 5.0 shipped March 3, 2019, and Linus Torvalds was explicit that the jump from 4.x to 5.0 didn't signal any major architectural change.
On January 22, 2007, the Open Source Development Labs and the Free Standards Group combined into the Linux Foundation, consolidating Linux's economic and standards-setting efforts under one organization.
When kernel developers lost free access to the proprietary BitKeeper in April 2005, Torvalds responded by writing an entirely new version control system himself — Git's first commit landed within days.
Released March 14, 1994 at 176,250 lines of code, version 1.0 was the point Linus Torvalds and the community considered the kernel stable enough for production use.
Released December 11, 2022, Linux 6.1 became the first kernel version to officially accept Rust as a second language for kernel development, alongside C.
How Debian's APT, Fedora's DNF, and Arch's Pacman differ in dependency resolution, package format, and update philosophy.
How procfs and sysfs expose live kernel state as ordinary files, and the specific paths worth knowing for debugging a running system.
How systemd's unit model replaced sequential init scripts with declarative, dependency-driven service management.