Share E-Book
Scan to open this page

Scan with your phone to open this page

AuthorBrian Ward

Best-selling guide to the inner workings of the Linux operating system with over 50,000 copies sold since its original release in 2014. Unlike some operating systems, Linux doesn’t try to hide the important bits from you—it gives you full control of your computer. But to truly master Linux, you need to understand its internals, like how the system boots, how networking works, and what the kernel actually does. In this third edition of the bestselling How Linux Works, author Brian Ward peels back the layers of this well-loved operating system to make Linux internals accessible. This edition has been thoroughly updated and expanded with added coverage of Logical Volume Manager (LVM), virtualization, and containers. You'll learn: • How Linux boots, from boot loaders to init (systemd) • How the kernel manages devices, device drivers, and processes • How networking, interfaces, firewalls, and servers work • How development tools work and relate to shared libraries • How to write effective shell scripts You’ll also explore the kernel and examine key system tasks inside user space, including system calls, input and output, and filesystems. With its combination of background, theory, real-world examples, and patient explanations, How Linux Works, 3rd edition will teach you what you need to know to solve pesky problems and take control of your operating system.

AI Reading Assistant

Whole-book reading guide from stratified index samples; jump to passages in the text

AI guide
【One-Line Pitch】 A patient, hands-on tour of what actually happens inside a Linux machine—from the boot loader to the kernel to the network stack—written for people who already use Linux and now want to control it rather than guess at it. Best for sysadmins, developers, and serious power users who are comfortable at the command line and want durable mental models instead of copy-paste recipes. 【Book Arc】 - **Opening (~0%–10%)**: Frames the whole system through layered abstraction—hardware, kernel, user space—then moves into devices and the /dev tree, udev, and how the kernel discovers and names hardware. Solves the "where do I even start?" problem. - **Early (~10%–20%)**: Disks and filesystems (partitioning, mounting, /etc/fstab, swap, LVM, inodes), then the boot sequence from firmware and GRUB through kernel initialization to init/systemd. This is the foundation for diagnosing anything that won't start. - **Early–Middle (~20%–35%)**: User space essentials: processes, system calls, logging (including journald), user and group management, PAM, and resource monitoring with lsof, strace, vmstat, and cgroups. Turns "something is slow" into an investigable question. - **Middle (~35%–55%)**: Networking in depth—packets and layers, IP/subnets/routing, IPv6, DHCP, DNS resolution, firewalls, and then network services such as SSH, plus diagnostic tools like tcpdump and netcat. - **Late (~55%–75%)**: Shell scripting fundamentals (quoting, variables, conditionals, loops, here documents, awk/sed/xargs) and the desktop layer—X, D-Bus, printing via CUPS. - **Ending (~75%–100%)**: Development and deployment: the C compiler, shared libraries, make, Autoconf builds, patching, and a new chapter on virtualization and containers (hypervisors, Docker/Podman, LXC, Kubernetes, cgroups). 【Key Takeaways】 - **Abstraction is the book's core method** (Opening): Ward teaches you to reason at the right layer—hardware, kernel, or user space—so troubleshooting becomes narrowing down rather than guessing. - **The kernel is a mediator, not a mystery** (Opening): It manages memory, processes, and devices, and is the interface between hardware and every running program; understanding this reframes most system behavior. - **Booting is a chain you can inspect** (Early): Firmware → boot loader (GRUB, UEFI Secure Boot caveats) → kernel parameters → init/systemd. Knowing the chain is what lets you fix a machine that won't come up. - **Storage is layered and flexible** (Early): Partitions, filesystems, mount options, swap, and LVM are presented as composable choices, with inode/block internals explained for when capacity or links behave oddly. - **Processes and resources are observable** (Early–Middle): lsof, strace, ltrace, load averages, vmstat, and cgroups give concrete evidence about threads, CPU, memory, and I/O—plus the cgroup groundwork for containers. - **Networking is taught bottom-up** (Middle): Packets, layers, subnets, routes, gateways, DHCP, DNS, NAT, and firewalls build into a coherent picture before services like SSH and tools like tcpdump appear. - **Shell scripting is a systems skill, not a side topic** (Late): Quoting rules, special variables, exit codes, and utilities like awk/sed/xargs are framed as the glue for real administration. - **Containers are Linux features, not magic** (Ending): The virtualization chapter ties Docker/Podman, LXC, and Kubernetes back to cgroups and the kernel mechanisms covered earlier. 【Reading Tips】 - Read Chapter 1 and the boot/filesystem chapters closely; they are the conceptual spine and pay off in every later chapter. - Ward deliberately front-loads essentials and buries detail in later sections of each chapter—skim the deep dives on first pass and return when a problem demands it. - Keep a disposable Linux VM (the author used VirtualBox) and root access handy; the book is explicitly hands-on, and commands are meant to be run. - Treat the networking and scripting chapters as reference-plus-practice: read once for structure, then revisit while configuring interfaces or writing scripts. - Don't try to retain every device-file pattern or command flag; aim to remember which layer to look at and which tool answers which question. 【Coverage Limits】 This guide is synthesized from the front matter, table of contents, and early excerpts; the excerpts do not cover the full body text, so chapter-level specifics beyond the listed contents are summarized rather than quoted. Percentages are approximate positions derived from the available markers.
Excerpt 1
Kernel 1.3.1 Process Management 1.3.2 Memory Management 1.3.3 Device Drivers and Management 1.3.4 System Calls and Support 1.4 User Space 1.5 Users 1.6 Looki...
View in text
Excerpt 2
ency 14.4.3 Ways of Exploring X Clients 14.4.4  X Events 14.4.5  X Input and Preference Settings 14.5 D-Bus 14.5.1  System and Session Instances 14.5.2  D-Bu...
View in text
Excerpt 3
le Listing 7-3: loggertest.timer Listing 7-4: loggertest.
View in text
Excerpt 4
ting 7-3: loggertest.timer Listing 7-4: loggertest.service Listing 8-1: Viewing threads with ps m Listing 8-2: Showing PIDs and TIDs with ps m Listing 8-3: M...
View in text
Excerpt 5
spits back. The $ is the prompt for a regular user account. If you see a # as a prompt, you need to be superuser. (More on that in Chapter 2 .) How This Book...
View in text
Excerpt 6
nput” or, “The process is performing Stage 2 of its startup.” NOTE Because it’s common to refer to the state in abstract terms rather than to the actual bits...
View in text
Excerpt 7
on, it’s difficult to categorize some user-space components. Server components such as web and database servers can be considered very high-level application...
View in text
Excerpt 8
and write data to output streams. Streams are very flexible. For example, the source of an input stream can be a file, a device, a terminal window, or even t...
View in text
Tags
AI categories
OSLinuxDevOps
ISBN: 1718500408
Publisher: No Starch Press
Publish Year: 2021
Language: English
Pages: 464
File Format: EPUB
File Size: 1.8 MB