Mastering Linux Administration Take Your Sysadmin Skills to the Next Level by Configuring and Maintaining Linux Systems
Harness the power of Linux in modern data center management, leveraging its unparalleled versatility for efficiently managing your workloads in on-premises and cloud environments. In this second edition, you'll find updates on the latest advancements in Linux administration. Starting with Linux...
Otros Autores: | , |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
Birmingham :
Packt Publishing
[2024]
|
Edición: | Second edition |
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009809016606719 |
Tabla de Contenidos:
- Cover
- Title Page
- Copyright and Credits
- Dedications
- Contributors
- Table of Contents
- Part 1: Basic Linux Administration
- Chapter 1: Installing Linux
- Technical requirements
- Introducing the Linux operating system
- Exploring Linux distributions
- Choosing a Linux distribution
- Installing Linux - the basics
- How to install Linux on bare metal
- Linux in a VM
- VM provisioning using Hyper-V
- VM provisioning using Oracle's VirtualBox
- Enabling Windows Subsystem for Linux
- Installing Linux - the advanced stages
- The Linux boot process
- PXE network boot explained
- Linux distributions - a practical guide
- Case study - development workstation
- Case study - secure web server
- Use case - personal blog
- Use case - media server
- Summary
- Questions
- Further reading
- Chapter 2: The Linux Shell and Filesystem
- Technical requirements
- Introducing the Linux shell
- Establishing the shell connection
- The command-line prompt
- Shell command types
- Explaining the command structure
- Consulting the manual
- The Linux filesystem
- Directory structure
- Working with files and directories
- Understanding file paths
- Basic file operations
- Commands for file viewing
- Commands for file properties
- Using text editors to create and edit files
- Using Vim to edit text files
- The nano text editor
- Summary
- Questions
- Further reading
- Chapter 3: Linux Software Management
- Technical requirements
- Linux software package types
- The DEB and RPM package types
- The snap and flatpak package types
- Managing software packages
- Managing DEB packages
- Managing RPM packages
- Using the snap and flatpak packages
- Installing new desktop environments in Linux
- Installing KDE Plasma on Fedora Linux
- Summary
- Questions
- Further reading
- Chapter 4: Managing Users and Groups.
- Technical requirements
- Managing users
- Understanding sudo
- Creating, modifying, and deleting users
- Managing groups
- Creating, modifying, and deleting groups
- Managing permissions
- File and directory permissions
- Summary
- Questions
- Further reading
- Chapter 5: Working with Processes, Daemons, and Signals
- Technical requirements
- Introducing processes
- Understanding process types
- The anatomy of a process
- Working with processes
- Using the ps command
- Using the pstree command
- Using the top command
- Using the kill and killall commands
- Using the pgrep and pkill commands
- Working with daemons
- Working with systemd daemons
- Explaining inter-process communication
- Working with signals
- Summary
- Questions
- Further reading
- Part 2: Advanced Linux Administration
- Chapter 6: Working with Disks and Filesystems
- Technical requirements
- Understanding devices in Linux
- Linux abstraction layers
- Device files and naming conventions
- Understanding filesystem types in Linux
- Understanding disks and partitions
- Common disk types
- Partitioning disks
- Introducing LVM in Linux
- LVM snapshots
- Summary
- Questions
- Further reading
- Chapter 7: Networking with Linux
- Technical requirements
- Exploring basic networking
- Computer networks
- The OSI model
- The TCP/IP network stack model
- TCP/IP protocols
- IP addresses
- Sockets and ports
- Linux network configuration
- Working with network services
- DHCP servers
- DNS servers
- Authentication servers
- File sharing
- Printer servers
- File transfer
- Mail servers
- NTP servers
- Remote access
- Understanding network security
- Summary
- Questions
- Further reading
- Chapter 8: Linux Shell Scripting
- Technical requirements
- Exploring the Linux shell
- Bash shell features
- Bash shell variables.
- Basics of shell scripting
- Creating a shell script file
- Variables in shell scripts
- Using mathematical expressions in shell scripts
- Using programming structures
- Using arrays in Bash
- Reading input data
- Formatting output data
- Understanding exit statuses and testing structures
- Using conditional if statements
- Using looping statements
- Working with functions
- Using sed and (g)awk commands
- Using scripts to showcase interprocess communication
- Shared storage
- Unnamed pipes
- Named pipes
- Sockets
- Scripting for administrative tasks
- Creating scripts for system administrative tasks
- Packaging scripts
- Summary
- Questions
- Further reading
- Chapter 9: Securing Linux
- Technical requirements
- Understanding Linux security
- Introducing SELinux
- Working with SELinux
- Introducing AppArmor
- Working with AppArmor
- Final considerations
- Working with firewalls
- Understanding the firewall chain
- Introducing Netfilter
- Working with iptables
- Introducing nftables
- Using firewall managers
- Summary
- Exercises
- Further reading
- Chapter 10: Disaster Recovery, Diagnostics, and Troubleshooting
- Technical requirements
- Planning for disaster recovery
- A brief introduction to risk management
- Risk calculation
- Designing a DRP
- Backing up and restoring the system
- Disk cloning solutions
- Introducing common Linux diagnostic tools for troubleshooting
- Tools for troubleshooting boot issues
- Tools for troubleshooting general system issues
- Tools for troubleshooting network issues
- Tools for troubleshooting hardware issues
- Summary
- Questions
- Further reading
- Part 3: Server Administration
- Chapter 11: Working with Virtual Machines
- Technical requirements
- Introduction to virtualization on Linux
- Efficiency in resource usage
- Introduction to hypervisors.
- Understanding Linux KVMs
- Choosing the hypervisor
- Using the KVM hypervisor
- Working with basic KVM commands
- Creating a VM using the command line
- Basic VM management
- Advanced KVM management
- Connecting to a VM
- Cloning VMs
- Creating VM templates
- Obtaining VM and host resource information
- Managing VM resource usage
- Provisioning VMs using cloud-init
- Understanding how cloud-init works
- Installing and configuring cloud-init
- Public key authentication with SSH
- Summary
- Exercises
- Further reading
- Chapter 12: Managing Containers with Docker
- Technical requirements
- Understanding Linux containers
- Comparing containers and VMs
- Understanding the underlying container technology
- Understanding Docker
- Working with Docker
- Which Docker version to choose?
- Installing Docker
- Using some Docker commands
- Managing Docker containers
- Working with Dockerfiles
- Building container images from Dockerfiles
- Deploying a containerized application with Docker
- Deploying a website using Docker
- Summary
- Questions
- Further reading
- Chapter 13: Configuring Linux Servers
- Technical requirements
- Introducing Linux services
- Setting up SSH
- Installing and configuring OpenSSH on Ubuntu
- Setting up a DNS server
- Caching a DNS service
- Creating a primary DNS server
- Setting up a secondary DNS server
- Setting up a DHCP server
- Setting up an NFS server
- Installing and configuring the NFS server
- Configuring the NFS client
- Testing the NFS setup
- Setting up a Samba file server
- Installing and configuring Samba
- Creating Samba users
- Accessing the Samba shares
- Summary
- Questions
- Further reading
- Part 4: Cloud Administration
- Chapter 14: Short Introduction to Cloud Computing
- Technical requirements
- Introduction to cloud technologies.
- Exploring the cloud computing standards
- Understanding the architecture of the cloud
- Knowing the key features of cloud computing
- Introducing IaaS solutions
- Amazon EC2
- Microsoft Azure Virtual Machines
- Other strong IaaS offerings
- Introducing PaaS solutions
- Amazon Elastic Beanstalk
- Google App Engine
- DigitalOcean App Platform
- Open source PaaS solutions
- Introducing CaaS solutions
- Introducing the Kubernetes container orchestration solution
- Deploying containers in the cloud
- Introducing microservices
- Introducing DevOps
- Exploring cloud management tools
- Ansible
- Puppet
- Chef Infra
- Summary
- Further reading
- Chapter 15: Deploying to the Cloud with AWS and Azure
- Technical requirements
- Working with AWS EC2
- Introducing and creating AWS EC2 instances
- Introducing AWS EC2 placement groups
- Using AWS EC2 instances
- Working with the AWS CLI
- Working with Microsoft Azure
- Creating and deploying a virtual machine
- Connecting with SSH to a virtual machine
- Managing virtual machines
- Working with the Azure CLI
- Summary
- Questions
- Further reading
- Chapter 16: Deploying Applications with Kubernetes
- Technical requirements
- Introducing Kubernetes
- Understanding the Kubernetes architecture
- Introducing the Kubernetes object model
- The anatomy of a Kubernetes cluster
- Installing and configuring Kubernetes
- Installing Kubernetes on a desktop
- Installing Kubernetes on VMs
- Working with Kubernetes
- Using kubectl
- Deploying applications
- Running Kubernetes in the cloud
- Summary
- Questions
- Further reading
- Chapter 17: Infrastructure and Automation with Ansible
- Technical requirements
- Introducing Ansible architecture and configuration management
- Understanding the Ansible architecture
- Introducing configuration management
- Installing Ansible.
- Installing Ansible on Ubuntu.