1 option
Mastering Linux Administration : Take Your Sysadmin Skills to the Next Level by Configuring and Maintaining Linux Systems / Alexandru Calcatinge and Julian Balog.
- Format:
- Book
- Author/Creator:
- Calcatinge, Alexandru, author.
- Balog, Julian, author.
- Language:
- English
- Subjects (All):
- Linux.
- Operating systems (Computers).
- Physical Description:
- 1 online resource (764 pages)
- Edition:
- Second edition.
- Place of Publication:
- Birmingham : Packt Publishing, [2024]
- System Details:
- Mode of access: World Wide Web.
- Biography/History:
- Calcatinge Alexandru: Alexandru Calcatinge is an open-minded architect with a background in computer science and mathematics. He is a senior university lecturer with a PhD in urban planning from Ion Mincu University of Architecture and Urban Planning and a postgraduate degree in DevOps from Caltech's Center for Technology and Management Education (CTME). He teaches students about architectural programming and development and open source technologies. He has authored five books on architecture and urban planning and numerous scientific articles on urban and rural development. Alex was certified as a Linux trainer in 2017. He loves the DevOps philosophy and the possibilities that cloud technologies bring for the future. He is also a certified programming analyst, computer network administrator, trainer, designer, and life coach. Balog Julian: Julian Balog is a senior software engineer with more than 15 years of experience in the industry. Currently, his work primarily focuses on application delivery controllers, containerized workflows, networking, and security. With a never-ending passion for Linux and open-source technologies, Julian is always in pursuit of learning new things while solving problems and making things work through simple, efficient, and practical engineering. He lives with his wife, two children, and an Aussie-doodle in the greater Seattle area, Washington.
- Summary:
- 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 installation on on-premises systems, this book helps you master the Linux command line, files, packages, and filesystems. You'll explore essential Linux commands and techniques to secure your Linux environment. New to this edition is a chapter on shell scripting, providing structured guidance on using shell programming for basic Linux automation. This book also delves into the world of containers, with two new chapters dedicated to Docker containers and hypervisors, including KVM virtual machines. Once adept with Linux containers, you'll learn about modern cloud technologies, managing and provisioning container workloads using Kubernetes, and automating system tasks using Ansible. Finally, you'll get to grips with deploying Linux to the cloud using AWS and Azure-specific tools. By the end of this Linux book, you'll have mastered everyday administrative tasks, seamlessly navigating workflows spanning from on-premises to the cloud.
- Contents:
- 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
- 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
- Chapter 3: Linux Software Management
- 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
- 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
- Chapter 5: Working with Processes, Daemons, and Signals
- 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
- Part 2: Advanced Linux Administration
- Chapter 6: Working with Disks and Filesystems
- 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
- Chapter 7: Networking with Linux
- 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
- Chapter 8: Linux Shell Scripting
- 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
- Chapter 9: Securing Linux
- 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
- Exercises
- Chapter 10: Disaster Recovery, Diagnostics, and Troubleshooting
- 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
- Part 3: Server Administration
- Chapter 11: Working with Virtual Machines
- 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
- Chapter 12: Managing Containers with Docker
- 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
- Chapter 13: Configuring Linux Servers
- 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
- Part 4: Cloud Administration
- Chapter 14: Short Introduction to Cloud Computing
- 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
- Chapter 15: Deploying to the Cloud with AWS and Azure
- 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
- Chapter 16: Deploying Applications with Kubernetes
- 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
- Chapter 17: Infrastructure and Automation with Ansible
- Introducing Ansible architecture and configuration management
- Understanding the Ansible architecture
- Introducing configuration management
- Installing Ansible.
- Installing Ansible on Ubuntu.
- Notes:
- Includes index.
- Includes bibliographical references and index.
- Description based on publisher supplied metadata and other sources.
- Description based on print version record.
- ISBN:
- 9781837630837
- 1837630836
- OCLC:
- 1428447664
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.