0%

Develop advanced skills for working with Linux systems on-premises and in the cloud

Key Features

  • Become proficient in everyday Linux administration tasks by mastering the Linux command line and using automation
  • Work with the Linux filesystem, packages, users, processes, and daemons
  • Deploy Linux to the cloud with AWS, Azure, and Kubernetes

Book Description

Linux plays a significant role in modern data center management and provides great versatility in deploying and managing your workloads on-premises and in the cloud. This book covers the important topics you need to know about for your everyday Linux administration tasks.

The book starts by helping you understand the Linux command line and how to work with files, packages, and filesystems. You'll then begin administering network services and hardening security, and learn about cloud computing, containers, and orchestration. Once you've learned how to work with the command line, you'll explore the essential Linux commands for managing users, processes, and daemons and discover how to secure your Linux environment using application security frameworks and firewall managers. As you advance through the chapters, you'll work with containers, hypervisors, virtual machines, Ansible, and Kubernetes. You'll also learn how to deploy Linux to the cloud using AWS and Azure.

By the end of this Linux book, you'll be well-versed with Linux and have mastered everyday administrative tasks using workflows spanning from on-premises to the cloud. If you also find yourself adopting DevOps practices in the process, we'll consider our mission accomplished.

What you will learn

  • Understand how Linux works and learn basic to advanced Linux administration skills
  • Explore the most widely used commands for managing the Linux filesystem, network, security, and more
  • Get to grips with different networking and messaging protocols
  • Find out how Linux security works and how to configure SELinux, AppArmor, and Linux iptables
  • Work with virtual machines and containers and understand container orchestration with Kubernetes
  • Work with containerized workflows using Docker and Kubernetes
  • Automate your configuration management workloads with Ansible

Who this book is for

If you are a Linux administrator who wants to understand the fundamentals and as well as modern concepts of Linux system administration, this book is for you. Windows System Administrators looking to extend their knowledge to the Linux OS will also benefit from this book.

Table of Contents

  1. Mastering Linux Administration
  2. Contributors
  3. About the authors
  4. About the reviewer
  5. Preface
    1. Who this book is for
    2. What this book covers
    3. To get the most out of this book
    4. Download the example code files
    5. Download the color images
    6. Conventions used
    7. Get in touch
    8. Reviews
  6. Section 1: Linux Basic Administration
  7. Chapter 1: Installing Linux
    1. Technical requirements
    2. The Linux operating system
    3. Linux distributions
    4. Choosing the right Linux distribution
    5. Common Linux distributions
    6. Linux distributions – a practical guide
    7. Installing Linux – the basics
    8. How to install Linux
    9. Installing Ubuntu
    10. Installing CentOS
    11. The Windows Subsystem for Linux (WSL)
    12. Installing Linux graphical user interfaces
    13. GNOME
    14. KDE
    15. Setting up and using the Linux workstation
    16. Installing Ubuntu Desktop
    17. Default software packages
    18. Additional software packages
    19. Managing software packages with APT
    20. Summary
    21. Questions
  8. Chapter 2: The Linux Filesystem
    1. Technical requirements
    2. Introducing the Linux shell
    3. Bash shell features
    4. The shell connection
    5. The command-line prompt
    6. Shell command types
    7. Command structure
    8. Help from the manual
    9. The Linux filesystem
    10. Directory structure
    11. Working with files and directories
    12. Understanding file paths
    13. Basic file operations
    14. Commands for file viewing
    15. Commands for file properties
    16. Using text editors to create and edit files
    17. Summary
    18. Questions
    19. Further reading
  9. Chapter 3: Linux Software Management
    1. Technical requirements
    2. Linux software package types
    3. The DEB and RPM package types
    4. The snap and flatpak package types
    5. Managing software packages
    6. Managing DEB packages
    7. Managing RPM packages
    8. Using snap and flatpak packages
    9. Application streams in CentOS 8
    10. Building a package from source
    11. The source code file
    12. Preparing the source code
    13. Setting up the environment
    14. Summary
    15. Questions
    16. Further reading
  10. Chapter 4: Managing Users and Groups
    1. Technical requirements
    2. Managing users
    3. Understanding sudo
    4. Creating, modifying, and deleting users
    5. Managing groups
    6. Creating, modifying, and deleting groups
    7. Managing permissions
    8. File and directory permissions
    9. Summary
    10. Questions
  11. Chapter 5: Working with Processes, Daemons, and Signals
    1. Technical requirements
    2. Introducing processes
    3. Understanding process types
    4. The anatomy of a process
    5. Working with processes
    6. The ps command
    7. The pstree command
    8. The top command
    9. The kill and killall commands
    10. The pgrep and pkill commands
    11. Working with daemons
    12. Working with SysV daemons
    13. Working with systemd daemons
    14. Exploring interprocess communication
    15. Shared storage
    16. Shared memory
    17. Unnamed pipes
    18. Named pipes
    19. Message queues
    20. Sockets
    21. Working with signals
    22. Summary
    23. Questions
  12. Section 2: Advanced Linux Server Administration
  13. Chapter 6: Working with Disks and Filesystems
    1. Technical requirements
    2. Understanding devices in Linux
    3. Linux abstraction layers
    4. Device files and naming conventions
    5. Understanding filesystem types in Linux
    6. The Ext4 filesystem features
    7. The XFS filesystem features
    8. The btrfs filesystem features
    9. Understanding disks and partitions
    10. Common disk types used
    11. Partitioning disks
    12. Logical Volume Management in Linux
    13. LVM snapshots
    14. Summary
  14. Chapter 7: Networking with Linux
    1. Technical requirements
    2. Exploring basic networking
    3. Computer networks
    4. The OSI model
    5. The TCP/IP model
    6. TCP/IP protocols
    7. IP addresses
    8. Sockets and ports
    9. Linux network configuration
    10. Working with networking services
    11. DHCP servers
    12. DNS servers
    13. Authentication servers
    14. File sharing
    15. Printer servers
    16. File transfer
    17. Mail servers
    18. NTP servers
    19. Remote access
    20. Understanding network security
    21. VPNs
    22. Working with VPNs
    23. Setting up OpenVPN
    24. Summary
    25. Questions
  15. Chapter 8: Configuring Linux Servers
    1. Technical requirements
    2. GitHub
    3. Questions
    4. Further reading
  16. Chapter 9: Securing Linux
    1. Technical requirements
    2. Understanding Linux security
    3. Introducing SELinux
    4. Working with SELinux
    5. Introducing AppArmor
    6. Working with AppArmor
    7. Final considerations
    8. Working with firewalls
    9. Introducing netfilter
    10. Working with iptables
    11. Introducing nftables
    12. Using firewall managers
    13. Summary
    14. Questions
    15. Further reading
  17. Chapter 10: Disaster Recovery, Diagnostics, and Troubleshooting
    1. Planning for disaster recovery
    2. A very short introduction to risk management
    3. Risk calculation
    4. Designing a disaster recovery plan
    5. Backing up and restoring the system
    6. Disk cloning solutions
    7. Introducing common Linux diagnostic tools for troubleshooting
    8. Tools for troubleshooting boot issues
    9. Tools for troubleshooting general system issues
    10. Tools for troubleshooting network issues
    11. Tools for troubleshooting hardware issues
    12. Summary
    13. Exercises
    14. Further reading
  18. Section 3: Cloud Administration
  19. Chapter 11: Working with Containers and Virtual Machines
    1. Technical requirements
    2. Introduction to virtualization on Linux
    3. Efficiency in resource usage
    4. Introduction to hypervisor
    5. Understanding VMs
    6. Choosing the hypervisor
    7. Understanding Linux containers
    8. Containers versus VMs
    9. Understanding the underlying container technology
    10. Understanding Docker
    11. Working with Docker
    12. Which Docker version to choose?
    13. Installing Docker CE
    14. Using the Docker commands
    15. Managing Docker containers
    16. Deploying a containerized application with Docker
    17. Summary
    18. Further reading
  20. Chapter 12: Cloud Computing Essentials
    1. Technical requirements
    2. Introduction to cloud technologies
    3. Understanding the need for cloud computing standards
    4. Knowing the architecture of the cloud
    5. Knowing the key features of cloud computing
    6. Short introduction to OpenStack
    7. Introducing IaaS solutions
    8. Amazon EC2
    9. Microsoft Azure Virtual Machines
    10. Other strong IaaS offerings
    11. Introducing PaaS solutions
    12. Amazon Elastic Beanstalk
    13. Google App Engine
    14. DigitalOcean App Platform
    15. Red Hat OpenShift
    16. Cloud Foundry
    17. The Heroku platform
    18. Introducing CaaS solutions
    19. Introducing the Kubernetes container orchestration solution
    20. Deploying containers in the cloud
    21. The rise of micro operating systems
    22. Introducing microservices
    23. Introducing DevOps
    24. Introducing cloud management tools
    25. Summary
    26. Further reading
  21. Chapter 13: Deploying to the Cloud with AWS and Azure
    1. Technical requirements
    2. Working with AWS EC2
    3. Creating AWS EC2 instances
    4. Using AWS EC2 instances
    5. Working with the AWS CLI
    6. Working with Microsoft Azure
    7. Creating a virtual machine
    8. Managing virtual machines
    9. Working with the Azure CLI
    10. Summary
    11. Questions
    12. Further reading
  22. Chapter 14: Deploying Applications with Kubernetes
    1. Technical requirements
    2. Introducing Kubernetes
    3. Understanding the Kubernetes architecture
    4. Introducing the Kubernetes object model
    5. The anatomy of a Kubernetes cluster
    6. Installing and configuring Kubernetes
    7. Installing Kubernetes on desktop
    8. Installing Kubernetes on virtual machines
    9. Running Kubernetes in the cloud
    10. Working with Kubernetes
    11. Using kubectl
    12. Deploying applications
    13. Summary
    14. Questions
    15. Further reading
  23. Chapter 15: Automating Workflows with Ansible
    1. Technical requirements
    2. Introducing Ansible
    3. Understanding the Ansible architecture
    4. Introducing configuration management
    5. Installing Ansible
    6. Installing Ansible on Ubuntu
    7. Installing Ansible on RHEL/CentOS
    8. Installing Ansible using pip
    9. Working with Ansible
    10. Setting up the lab environment
    11. Configuring Ansible
    12. Using Ansible ad hoc commands
    13. Using Ansible playbooks
    14. Using templates with Jinja2
    15. Using roles with Ansible Galaxy
    16. Summary
    17. Questions
    18. Further reading
    19. Why subscribe?
  24. Other Books You May Enjoy
    1. Packt is searching for authors like you
    2. Leave a review - let other readers know what you think
52.14.126.74