|
|
Books > Computing & IT > Computer hardware & operating systems > Operating systems & graphical user interfaces (GUIs) > Unix, Unix Linux & Unix TCL/TK
Learn how to write high-quality kernel module code, solve common
Linux kernel programming issues, and understand the fundamentals of
Linux kernel internals Key Features Discover how to write kernel
code using the Loadable Kernel Module framework Explore
industry-grade techniques to perform efficient memory allocation
and data synchronization within the kernel Understand the
essentials of key internals topics such as kernel architecture,
memory management, CPU scheduling, and kernel synchronization Book
DescriptionLinux Kernel Programming is a comprehensive introduction
for those new to Linux kernel and module development. This
easy-to-follow guide will have you up and running with writing
kernel code in next-to-no time. This book uses the latest 5.4
Long-Term Support (LTS) Linux kernel, which will be maintained from
November 2019 through to December 2025. By working with the 5.4 LTS
kernel throughout the book, you can be confident that your
knowledge will continue to be valid for years to come. You'll start
the journey by learning how to build the kernel from the source.
Next, you'll write your first kernel module using the powerful
Loadable Kernel Module (LKM) framework. The following chapters will
cover key kernel internals topics including Linux kernel
architecture, memory management, and CPU scheduling. During the
course of this book, you'll delve into the fairly complex topic of
concurrency within the kernel, understand the issues it can cause,
and learn how they can be addressed with various locking
technologies (mutexes, spinlocks, atomic, and refcount operators).
You'll also benefit from more advanced material on cache effects, a
primer on lock-free techniques within the kernel, deadlock
avoidance (with lockdep), and kernel lock debugging techniques. By
the end of this kernel book, you'll have a detailed understanding
of the fundamentals of writing Linux kernel module code for
real-world projects and products. What you will learn Write
high-quality modular kernel code (LKM framework) for 5.x kernels
Configure and build a kernel from source Explore the Linux kernel
architecture Get to grips with key internals regarding memory
management within the kernel Understand and work with various
dynamic kernel memory alloc/dealloc APIs Discover key internals
aspects regarding CPU scheduling within the kernel Gain an
understanding of kernel concurrency issues Find out how to work
with key kernel synchronization primitives Who this book is forThis
book is for Linux programmers beginning to find their way with
Linux kernel development. If you're a Linux kernel and driver
developer looking to overcome frequent and common kernel
development issues, or understand kernel intervals, you'll find
plenty of useful information. You'll need a solid foundation of
Linux CLI and C programming before you can jump in.
This is the third edition of the bestselling one-stop resource for
sysadmins and DevOps professionals to learn, configure and use
Ubuntu 20.04 for their day-to-day operations and deployments. Key
Features A hands-on book that will teach you how to deploy,
maintain and troubleshoot Ubuntu Server Learn to leverage the
improved performance and security-related aspects of Ubuntu Server
20.04 LTS New chapters dedicated to exploring Ubuntu for cloud Book
DescriptionUbuntu Server has taken data centers around the world by
storm. Whether you're deploying Ubuntu for a large-scale project or
for a small office, it is a stable, customizable, and powerful
Linux distribution with innovative and cutting-edge features. For
both simple and complex server deployments, Ubuntu's flexible
nature can be easily adapted to meet to the needs of your
organization. This third edition is updated to cover the
advancements of Ubuntu 20.04 LTS and further train you to
understand how to use Ubuntu Server, from initial deployment to
creating production-ready resources for your network. The book
begins with the concepts of user management, group management, and
file system permissions. Continuing into managing storage volumes,
you will learn how to format storage devices, utilize logical
volume management, and monitor disk usage. Later, you will learn
how to virtualize hosts and applications, which will include
setting up QEMU & KVM, as well as containerization with both
Docker and LXD. As the book continues, you will learn how to
automate configuration with Ansible, as well as take a look at
writing scripts. Lastly, you will explore best practices and
troubleshooting techniques when working with Ubuntu Server that are
applicable to real-world scenarios. By the end of this Ubuntu
Server book, you will be well-versed in Ubuntu server's advanced
concepts and attain the required proficiency needed for Ubuntu
Server administration. What you will learn Manage users, groups,
and permissions Optimize the performance of system resources
Perform disk encryption and decryption with Linux Unified Key Setup
(LUKS) Set up Secure Shell (SSH) for remote access, and connect it
to other nodes Share directories using Samba and Network File
System (NFS) Get familiar with scripting to improve command-line
efficiency Configure VMs, containers, and orchestrate with MicroK8s
and Kubernetes Automate server deployments with Ansible and cloud
server deployments with Terraform Who this book is forThe book is
written to cater to sysadmins and DevOps professionals whose teams
are planning to employ an Ubuntu/Linux environment for their
development needs. Prior knowledge of Ubuntu is not required.
However, it is assumed that you possess some IT admin, Linux, and
shell scripting experience.
Enhance Linux security, application platforms, and virtualization
solutions with SELinux 3 to work within your boundaries, your
rules, and your policies Key Features Learn what SELinux is, and
how it acts as a mandatory access control system on Linux Apply and
tune SELinux enforcement to users, applications, platforms, and
virtualization solutions Use real-life examples and custom policies
to strengthen the security posture of your systems Book
DescriptionLinux is a dominant player in many organizations and in
the cloud. Securing the Linux environment is extremely important
for any organization, and Security-Enhanced Linux (SELinux) acts as
an additional layer to Linux system security. SELinux System
Administration covers basic SELinux concepts and shows you how to
enhance Linux system protection measures. You will get to grips
with SELinux and understand how it is integrated. As you progress,
you'll get hands-on experience of tuning and configuring SELinux
and integrating it into day-to-day administration tasks such as
user management, network management, and application maintenance.
Platforms such as Kubernetes, system services like systemd, and
virtualization solutions like libvirt and Xen, all of which offer
SELinux-specific controls, will be explained effectively so that
you understand how to apply and configure SELinux within these
applications. If applications do not exert the expected behavior,
you'll learn how to fine-tune policies to securely host these
applications. In case no policies exist, the book will guide you
through developing custom policies on your own. By the end of this
Linux book, you'll be able to harden any Linux system using SELinux
to suit your needs and fine-tune existing policies and develop
custom ones to protect any app and service running on your Linux
systems. What you will learn Understand what SELinux is and how it
is integrated into Linux Tune Linux security using policies and
their configurable settings Manage Linux users with least-privilege
roles and access controls Use SELinux controls in system services
and virtualization solutions Analyze SELinux behavior through log
events and policy analysis tools Protect systems against unexpected
and malicious behavior Enhance existing policies or develop custom
ones Who this book is forThis Linux sysadmin book is for Linux
administrators who want to control the secure state of their
systems using SELinux, and for security professionals who have
experience in maintaining a Linux system and want to know about
SELinux. Experience in maintaining Linux systems, covering user
management, software installation and maintenance, Linux security
controls, and network configuration is required to get the most out
of this book.
A practical handbook that will help you bridge the gap between
Windows and Linux to develop apps that leverage the best features
across both ecosystems with seamless interoperability Key Features
Configure and control WSL to suit your needs and preferences
Discover tips for working seamlessly between Windows and WSL Linux
distros Learn how to work effectively with containers in WSL, as
well as how to containerize your development environments with
Visual Studio Code to isolate your dependencies Book
DescriptionWindows Subsystem for Linux (WSL) allows you to run
native Linux tools alongside traditional Windows applications.
Whether you're developing applications across multiple operating
systems or looking to add more tools to your Windows environment,
WSL offers endless possibilities. You'll start by understanding
what WSL is and learn how to install and configure WSL along with
different Linux distros. Next, you'll learn techniques that allow
you to work across both Windows and Linux environments. You'll
discover how to install and customize the new Windows Terminal.
We'll also show you how to work with code in WSL using Visual
Studio Code (VS Code). In addition to this, you'll explore how to
work with containers with Docker and Kubernetes, and how to
containerize a development environment using VS Code. While
Microsoft has announced support for GPU and GUI applications in an
upcoming release of WSL, at the time of writing these features are
either not available or only in early preview releases. This book
focuses on the stable, released features of WSL and giving you a
solid understanding of the amazing techniques that you can use with
WSL today. By the end of this book, you'll be able to configure WSL
and Windows Terminal to suit your preferences, and productively use
Visual Studio Code for developing applications with WSL. What you
will learn Install and configure Windows Subsystem for Linux and
Linux distros Access web applications running in Linux from Windows
Invoke Windows applications, file systems, and environment
variables from bash in WSL Customize the appearance and behavior of
the Windows Terminal to suit your preferences and workflows Explore
various tips for enhancing the Visual Studio Code experience with
WSL Install and work with Docker and Kubernetes within Windows
Subsystem for Linux Discover various productivity tips for working
with Command-line tools in WSL Who this book is forThis book is for
developers who want to use Linux tools on Windows, including
Windows-native programmers looking to ease into a Linux environment
based on project requirements or Linux developers who've recently
switched to Windows. This book is also for web developers working
on open source projects with Linux-first tools such as Ruby or
Python, or developers looking to switch between containers and
development machines for testing apps. Prior programming or
development experience and a basic understanding of running tasks
in bash, PowerShell, or the Windows Command Prompt will be
required.
|
|