Foundations
What Linux is, how its layers fit together, and how to identify any machine before working on it.
Revision Card
| Fact | Value |
| Linux | A kernel (Torvalds, 1991, GPL version 2); a distribution adds the userland |
| Layers | Hardware, kernel, system calls, C library, shell and applications |
| Kernel space vs user space | Privileged shared address space vs isolated unprivileged processes |
| System call | Only way into the kernel; failures return -1 and an errno name |
| Kernel design | Monolithic with loadable modules |
| PID 1 and PID 2 | systemd (user space) and kthreadd (kernel threads) |
| Families | Red Hat (rpm, dnf) and Debian (dpkg, apt) |
| Rebuilds and upstream | Rocky and Alma rebuild RHEL; CentOS Stream is ahead of RHEL |
| Support | RHEL 10 years; Ubuntu LTS 5 years standard |
| Containers | Own userland, shared host kernel |
| Memory | Read available, not free |
| Task | Command |
| Distribution and version | cat /etc/os-release |
| Kernel release and build | uname -r, cat /proc/version |
| CPU, memory, disks | lscpu, free -h, lsblk |
| PCI devices and hardware tree | lspci, sudo lshw -short |
| Firmware data | sudo dmidecode -t system |
| VM or bare metal | systemd-detect-virt |
| Owning package of a file | rpm -qf <file>, dpkg -S <file> |
| Trace system calls | strace -e trace=openat <command> |
| Shared library dependencies | ldd <binary> |
Topic Map
| File | Covers | Track | Weight |
| What Is Linux | History, GPL and copyleft, where Linux runs | Core | Low |
| Kernel vs OS vs Distro | Kernel, userland, shell, distribution; GNU/Linux; backported versions | Core | Med |
| Distributions | Families, release models, architecture names | Core | Low |
| Linux vs Windows | Security mechanisms, why servers run Linux | Core | Low |
| Architecture | Layers, kernel and user space, system calls, C library, kernel threads, monolithic design | Core | High |
| System Information | os-release, uname, lscpu, free, lsblk, lspci, lshw, dmidecode, uptime | Core | Med |
Scenarios and Labs