Share E-Book
Scan to open this page

Scan with your phone to open this page

Author: Michael Hausenblas

Rating No ratings yet

Whether you're new to Linux or have some experience, this practical book shows you how to master various tasks with this operating system--not just system administration. Cloud native professionals including developers, architects, DevOps practitioners, and site reliability engineers will learn how to use and program Linux in different modern environments, from embedded systems such as the Raspberry Pi to the virtual machine of your cloud provider of choice. Along the way, you'll gain hands-on experience with modern terminals, shells, and commands, use Linux networking, and learn how to manage your workloads, all with the goal of implementing modern Linux observability. You'll also understand how to run Linux applications in modern ways by using containers, systemd, modern filesystems, and immutable distros such as Flatcar and Bottlerocket. With this book, you will: Use Linux as a modern programming environment, not just as an admin tool Learn critical components such as the kernel, terminal multiplexer, human-friendly shells, and portable scripting Become familiar with access control, from file permissions to capabilities Understand the role of filesystems as a fundamental building block in Linux Gain hands-on experience with the Linux networking stack and tooling Learn how to apply modern operating system observability to manage your workloads Share data using SSH, rsync, and cloud sync mechanisms

AI Reading Assistant

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

AI guide
【One-Line Pitch】 A practical field guide to using Linux as a modern programming and operations environment rather than just an admin chore—written for cloud native developers, architects, DevOps practitioners, and SREs who want to work fluently across embedded boards, VMs, containers, and immutable distros. 【Book Arc】 - **Opening (~0%–10%)**: Sets the stage by defining "modern environments" (from Raspberry Pi to cloud VMs), tracing Linux's history from the 1991 Torvalds email through commercial adoption, and framing the book's goal of programming Linux, not just administering it. - **Early (~10%–30%)**: Builds the conceptual foundation—the kernel as hardware abstraction and API provider, CPU architectures (x86, ARM, RISC-V), core kernel components (memory, networking, filesystems, device drivers), syscalls, kernel modules, and eBPF as a modern extension mechanism. - **Early–Middle (~30%–50%)**: Moves into daily practice with terminals, escape sequences, shells (POSIX/sh, bash, fish), variables and environment handling, and modern command-line replacements like exa and bat, plus terminal multiplexing with screen and tmux. - **Middle (~50%–70%)**: Covers scripting and portability, access control from file permissions to capabilities, and filesystems as a fundamental building block—the layer where isolation, namespaces, and cgroups begin to matter. - **Late (~70%–90%)**: Applies the stack to real workloads: Linux networking and tooling, running applications via containers, systemd, modern filesystems, and immutable distros such as Flatcar and Bottlerocket, plus data sharing with SSH, rsync, and cloud sync. - **Ending (~90%–100%)**: Culminates in observability—how to monitor and manage workloads on modern Linux, tying the earlier kernel, shell, filesystem, and network knowledge into operational practice. 【Key Takeaways】 - **The kernel is an API, not the whole OS** (Early): It abstracts hardware differences and exposes syscalls; understanding this boundary clarifies why Linux is portable across architectures and environments. - **Namespaces and cgroups are the machinery behind containers** (Early): Visibility (namespaces) and isolation (cgroups) are separate dimensions—grasping this distinction explains how containers and VMs differ in their guarantees. - **The shell is a programming environment, not just a prompt** (Early–Middle): Shell vs. environment variables, POSIX portability, and child-process inheritance are the details that make scripts reliable rather than fragile. - **Modern CLI tooling repays the learning curve** (Middle): Replacements like exa and bat, plus multiplexers like tmux, turn terminal work from friction into a durable, session-based workflow. - **Access control extends well beyond file permissions** (Middle): Capabilities and related mechanisms matter once you move from single-user admin to multi-tenant, cloud native systems. - **Filesystems are a foundational building block** (Middle): They underpin isolation, containers, and immutable distro designs—not just storage. - **Networking is a layered stack you should be able to reason about** (Late): Sockets, TCP/UDP, and IP form the basis for both debugging and designing cloud native workloads. - **Observability is the end goal, not an afterthought** (Ending): Managing workloads on modern Linux means instrumenting and understanding the system, not just keeping it running. 【Reading Tips】 - **Skim the history and kernel-architecture chapters if you already know Linux internals**, but read the syscall and eBPF sections carefully—they frame everything later. - **Deep-read the shells, scripting, and terminal chapters hands-on**: type the commands, test variable scoping, and try tmux rather than just reading about it. - **Treat the access control and filesystem chapters as reference material** you'll return to when debugging permissions or container isolation issues. - **The networking and observability chapters are the payoff**—read them with your own workloads in mind, and connect them back to namespaces/cgroups from earlier. - **Use the book's code repository alongside the text**; the excerpts reference downloadable examples, and the material is designed for practice, not passive reading. 【Coverage Limits】 This guide is synthesized from stratified excerpts covering roughly the first half of the book in detail (introduction, kernel, shells, terminals, scripting) with lighter coverage of later chapters on networking, containers, systemd, immutable distros, and observability. Specific chapter titles, figures, and detailed examples from the second half are not fully represented in the excerpts.
Page 5
. . . . . . . . . . . . . . 1 What Are Modern Environments? 1 The Linux Story (So Far) 3 Why an Operating System at All? 3 Linux Distributions 5 Resource Vis...
View in text
Excerpt 2
abstract over different hardware and provide us with an API. Programming against this API allows us to write applications without having to worry about where...
View in text
Excerpt 3
tures and peripheral devices—and makes Linux very portable. The most important interface is the syscall interface, through which the kernel expo‐ ses its fun...
View in text
Excerpt 4
value set_color -o blue echo -n ']' end set_color $retc echo -n '┬─' set_color -o blue echo -n [ set_color normal set_color c07933 echo -n (prompt_pwd) set_c...
View in text
Excerpt 5
elete it. Given that there are other users on the system as well, what are those users allowed to do, and how is this defined and enforced? There are also ac...
View in text
Excerpt 6
between a set of PVs and LVs. Think of a VG as pools of PVs collectively providing resources. To manage volumes with LVM, a number of tools are required; how...
View in text
Excerpt 7
mation. coredumpctl Enables you to process saved core dumps. Consider this tool when you’re troubleshooting. Monitoring with journalctl The journal is a comp...
View in text
Excerpt 8
pective operation, such as building or running a container. Table 6-2 presents a short reference of often-used Docker CLI commands, covering both the build-t...
View in text
Tags
AI categories
LinuxCloud NativeDevOps
ISBN: 1098108949
Publisher: O'Reilly Media
Publish Year: 2022
Language: English
Pages: 261
File Format: PDF
File Size: 10.1 MB
Text Preview (First 20 pages)
Registered users can read the full content for free

Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.

Generating text preview…