open atlas

linux

Linux, the operating system

You can drive the shell — now learn the system under it: how Linux boots, runs services, manages users and storage, and how to keep it alive when it breaks.

12 units·46 lessons·~16 h

Start track
01

What is Linux

"Linux" is a kernel plus a userland assembled by a distribution. The kernel owns the hardware and the syscall boundary; everything above it — including the system's own state — is a file you can read.
02

Boot and init

A Linux box boots in a chain: firmware → bootloader → kernel → initramfs → PID 1. PID 1 (systemd) then brings the system up to a target. Understanding that chain is exactly how you fix a machine that won't boot.
03

systemd and services

systemd models the whole system as units with explicit dependencies. systemctl is how you start, enable, and inspect them — and a unit file is how you turn your own process into a first-class, supervised service.
04

Package management

A package manager turns 'I want nginx' into a resolved, versioned, removable set of files plus dependencies. apt is the front-end, dpkg is the engine — and every distro family has the same two layers.
05

Users, groups, PAM

Identity on Linux is UID/GID stored in passwd and shadow. Permissions go past plain rwx — setuid, setgid, sticky, ACLs — and sudo plus PAM are the policy layer that decides who may become whom.
06

Filesystems and mounts

A block device holds a filesystem; mounting grafts that filesystem into the single directory tree at a path. fstab makes mounts survive a reboot — and one bad fstab line is a classic way to lock yourself out at boot.
07

Storage and LVM

LVM inserts a layer between disks and filesystems so you can grow, snapshot, and span volumes without repartitioning. RAID adds redundancy — and the senior skill is recovering a degraded array without losing data.
08

Processes and resources

A process is a fork/exec lineage the kernel schedules and accounts. Signals are how you talk to it, cgroups and rlimits are how you cap it, and the OOM killer is what happens when you don't.
09

Networking

A host's network is interfaces, a routing table, and a name-resolution path. The modern ip/ss suite inspects them, and nftables/firewalld is the kernel packet filter you configure — protocol theory lives in the networking track.
10

Logs and journald

journald is the system's structured log store; journalctl queries it by unit, time, and priority. Persistent journals and logrotate keep history bounded — and reading a failure backwards from the logs is the core operator skill.
11

Scheduling

Recurring work runs under cron or systemd timers. cron is the portable classic; timers are the systemd-native option with better logging and dependency handling — and 'why didn't my job run?' is a debugging skill of its own.
12

Kernel tuning

The kernel exposes thousands of tunables through sysctl and loads hardware and feature support as modules. Namespaces and cgroups are the same primitives containers are built from — which is exactly where the Docker track picks up.

Build with this track

Guided projects that exercise what you learn here.

Next track

Architecture Patterns

How to structure an application so it survives change — coupling and cohesion, dependency direction, hexagonal and clean architecture, DDD, CQRS, event sourcing, and decomposing a monolith without building a distributed one.