Linux Observability with BPF
David Calavera and Lorenzo Fontana
Build your expertise in the BPF virtual machine in the Linux kernel with this practical guide for systems engineers. You’ll not only dive into the BPF program lifecycle but also learn to write applications that observe and modify the kernel’s behavior; inject code to monitor, trace, and securely observe events in the kernel; and more. Authors David Calavera and Lorenzo Fontana help you harness the power of BPF to make any computing system more observable. Familiarize yourself with the essential concepts you’ll use on a day-to-day basis and augment your knowledge about performance optimization, networking, and security. Then see how it all comes together with code examples in C, Go, and Python. Write applications that use BPF to observe and modify the Linux kernel’s behavior on demand Inject code to monitor, trace, and observe events in the kernel in a secure way—no need to recompile the kernel or reboot the system Explore code examples in C, Go, and Python Gain a more thorough understanding of the BPF program lifecycle
show more
Practical Linux System Administration
Kenneth Hess
This essential guide covers all aspects of Linux system administration, from user maintenance, backups, filesystem housekeeping, storage management, and network setup to hardware and software troubleshooting and some application management. It's both a practical daily reference manual for sysadmins and IT pros and a handy study guide for those taking Linux certification exams. You'll turn to it frequently, not only because of the sheer volume of valuable information it provides but because of the real-world examples within and the clear, useful way the information is presented. With this book at your side, you'll be able to: Install Linux and perform initial setup duties, such as connecting to a network Navigate the Linux filesystem via the command line Install software from repositories and source and satisfy dependencies Set permissions on files and directories Create, modify, and remove user accounts Set up networking Format and mount filesystems Perform basic troubleshooting on hardware and software Create and manage logical volumes Work with SELinux Manage a firewall and iptables Shut down, reboot, and recover a system Perform backups and restores
show more
Kubernetes: Up and Running
Brendan Burns, Joe Beda, Kelsey Hightower, Lachlan Evenson
In just five years, Kubernetes has radically changed the way developers and ops personnel build, deploy, and maintain applications in the cloud. With this book's updated third edition, you'll learn how this popular container orchestrator can help your company achieve new levels of velocity, agility, reliability, and efficiency--whether you're new to distributed systems or have been deploying cloud native apps for some time. Brendan Burns, Joe Beda, Kelsey Hightower, and Lachlan Evenson--who have worked on Kubernetes at Google and beyond--explain how this system fits into the life cycle of a distributed application. Software developers, engineers, and architects will learn ways to use tools and APIs to automate scalable distributed systems for online services, machine learning applications, or even a cluster of Raspberry Pi computers. This guide shows you how to: Create a simple cluster to learn how Kubernetes works Dive into the details of deploying an application using Kubernetes Learn specialized objects in Kubernetes, such as DaemonSets, jobs, ConfigMaps, and secrets Explore deployments that tie together the lifecycle of a complete application Get practical examples of how to develop and deploy real-world applications in Kubernetes
show moreLinux Cookbook
Carla Schroder
This unique and valuable collection of tips, tools, and scripts provides clear, concise, hands-on solutions that can be applied to the challenges facing anyone running a network of Linux servers from small networks to large data centers in the practical and popular problem-solution-discussion O'Reilly cookbook format.The Linux Cookbook covers everything you'd expect: backups, new users, and the like. But it also covers the non-obvious information that is often ignored in other books the time-sinks and headaches that are a real part of an administrator's job, such as: dealing with odd kinds of devices that Linux historically hasn't supported well, building multi-boot systems, and handling things like video and audio.The knowledge needed to install, deploy, and maintain Linux is not easily found, and no Linux distribution gets it just right. Scattered information can be found in a pile of man pages, texinfo files, and source code comments, but the best source of information is the experts themselves who built up a working knowledge of managing Linux systems. This cookbook's proven techniques distill years of hard-won experience into practical cut-and-paste solutions to everyday Linux dilemmas.Use just one recipe from this varied collection of real-world solutions, and the hours of tedious trial-and-error saved will more than pay for the cost of the book. But those who prefer to learn hands-on will find that this cookbook not only solves immediate problems quickly, it also cuts right to the chase pointing out potential pitfalls and illustrating tested practices that can be applied to a myriad of other situations.Whether you're responsible for a small Linux system, a huge corporate system, or a mixed Linux/Windows/MacOS network, you'll find valuable, to-the-point, practical recipes for dealing with Linux systems everyday. The Linux Cookbook is more than a time-saver; it's a sanity saver.
show moreLearning Kali Linux
Ric Messier
With hundreds of tools preinstalled, the Kali Linux distribution makes it easier for security professionals to get started with security testing quickly. But with more than 600 tools in its arsenal, Kali Linux can also be overwhelming. The new edition of this practical book covers updates to the tools, including enhanced coverage of forensics and reverse engineering. Author Ric Messier also goes beyond strict security testing by adding coverage on performing forensic analysis, including disk and memory forensics, as well as some basic malware analysis. Explore the breadth of tools available on Kali Linux Understand the value of security testing and examine the testing types available Learn the basics of penetration testing through the entire attack lifecycle Install Kali Linux on multiple systems, both physical and virtual Discover how to use different security-focused tools Structure a security test around Kali Linux tools Extend Kali tools to create advanced attack techniques Use Kali Linux to generate reports once testing is complete
show more
Linux Pocket Guide
Daniel J. Barrett
O'Reilly's Pocket Guides have earned a reputation as inexpensive, comprehensive, and compact guides that have the stuff but not the fluff. Every page of Linux Pocket Guide lives up to this billing. It clearly explains how to get up to speed quickly on day-to-day Linux use. Once you're up and running, Linux Pocket Guide provides an easy-to-use reference that you can keep by your keyboard for those times when you want a fast, useful answer, not hours in the man pages.Linux Pocket Guide is organized the way you use Linux: by function, not just alphabetically. It's not the 'bible of Linux; it's a practical and concise guide to the options and commands you need most. It starts with general concepts like files and directories, the shell, and X windows, and then presents detailed overviews of the most essential commands, with clear examples. You'll learn each command's purpose, usage, options, location on disk, and even the RPM package that installed it.The Linux Pocket Guide is tailored to Fedora Linux--the latest spin-off of Red Hat Linux--but most of the information applies to any Linux system.Throw in a host of valuable power user tips and a friendly and accessible style, and you'll quickly find this practical, to-the-point book a small but mighty resource for Linux users.
show moreGit for Teams
Emma Jane Hogbin Westby
You can do more with Git than just build software. This practical guide delivers a unique people-first approach to version control that also explains how using Git as a focal point can help your team work better together. You{u2019}ll learn how to plan and pursue a Git workflow that not only ensures that you accomplish project goals, but also fits the immediate needs and future growth of your team. The first part of the book on structuring workflow is useful for project managers, technical team leads, and CTOs. The second part provides hands-on exercises to help developers gain a better understanding of Git commands. Explore the dynamics of team building Walk through the process of creating and deploying software with Git Structure workflow to influence the way your team collaborates Learn a useful process for conducting code reviews Set up a shared repository and identify specific team members as contributors, consumers, or maintainers Know the why behind the Git commands your teammates use Use branching strategies to separate different approaches to your project Examine popular collaboration platforms: GitHub, Bitbucket, and GitLab.
show moreUnderstanding the Linux Kernel
Daniel P. Bovet
To thoroughly understand what makes Linux tick and why it's so efficient, you need to delve deep into the heart of the operating system--into the Linux kernel itself. The kernel is Linux--in the case of the Linux operating system, it's the only bit of software to which the term "Linux" applies. The kernel handles all the requests or completed I/O operations and determines which programs will share its processing time, and in what order. Responsible for the sophisticated memory management of the whole system, the Linux kernel is the force behind the legendary Linux efficiency. The new edition of Understanding the Linux Kernel takes you on a guided tour through the most significant data structures, many algorithms, and programming tricks used in the kernel. Probing beyond the superficial features, the authors offer valuable insights to people who want to know how things really work inside their machine. Relevant segments of code are dissected and discussed line by line. The book covers more than just the functioning of the code, it explains the theoretical underpinnings for why Linux does things the way it does. The new edition of the book has been updated to cover version 2.4 of the kernel, which is quite different from version 2.2: the virtual memory system is entirely new, support for multiprocessor systems is improved, and whole new classes of hardware devices have been added. The authors explore each new feature in detail. Other topics in the book include: Memory management including file buffering, process swapping, and Direct memory Access (DMA) The Virtual Filesystem and the Second Extended Filesystem Process creation and scheduling Signals, interrupts, and the essential interfaces to device drivers Timing Synchronization in the kernel Interprocess Communication (IPC) Program execution Understanding the Linux Kernel, Second Edition will acquaint you with all the inner workings of Linux, but is more than just an academic exercise. You'll learn what conditions bring out Linux's best performance, and you'll see how it meets the challenge of providing good system response during process scheduling, file access, and memory management in a wide variety of environments. If knowledge is power, then this book will help you make the most of your Linux system.
show moreLinux System Programming
Robert Love
Write software that draws directly on services offered by the Linux kernel and core system libraries. With this comprehensive book, Linux kernel contributor Robert Love provides you with a tutorial on Linux system programming, a reference manual on Linux system calls, and an insider’s guide to writing smarter, faster code. Love clearly distinguishes between POSIX standard functions and special services offered only by Linux. With a new chapter on multithreading, this updated and expanded edition provides an in-depth look at Linux from both a theoretical and applied perspective over a wide range of programming topics, including: A Linux kernel, C library, and C compiler overview Basic I/O operations, such as reading from and writing to files Advanced I/O interfaces, memory mappings, and optimization techniques The family of system calls for basic process management Advanced process management, including real-time processes Thread concepts, multithreaded programming, and Pthreads File and directory management Interfaces for allocating memory and optimizing memory access Basic and advanced signal interfaces, and their role on the system Clock management, including POSIX clocks and high-resolution timers
show moreGit Pocket Guide
Richard E. Silverman
This pocket guide is the perfect on-the-job companion to Git, the distributed version control system. It provides a compact, readable introduction to Git for new users, as well as a reference to common commands and procedures for those of you with Git experience. Written for Git version 1.8.2, this handy task-oriented guide is organized around the basic version control functions you need, such as making commits, fixing mistakes, merging, and searching history. Examine the state of your project at earlier points in time Learn the basics of creating and making changes to a repository Create branches so many people can work on a project simultaneously Merge branches and reconcile the changes among them Clone an existing repository and share changes with push/pull commands Examine and change your repository’s commit history Access remote repositories, using different network protocols Get recipes for accomplishing a variety of common tasks
show more
Learning Modern Linux
Michael Hausenblas
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
show more