Introduction. . . . . . . . . . . . xxiv
Part I: System Management
CHAPTER 1: Linux Fundamentals. . . . . . . . . . . 1
Filesystem Hierarchy Standard (FHS).. . . . . . . 1
Basic Boot Process.. . . . . . . . . . 3
Kernel Panic. . . . . . . . . . . 10
Device Types in /dev.. . . . . . . . . 10
Basic Package Compilation from Source.. . . . . . 13
./configure.. . . . . . . . . . 13
make.. . . . . . . . . . . 15
make install.. . . . . . . . . . 16
Storage Concepts.. . . . . . . . . . 16
Listing Hardware Information.. . . . . . . . 22
CHAPTER 2: Manage Files and Directories.. . . . . . . . . 27
File Editing.. . . . . . . . . . . 27
File Compression, Archiving, and Backup. . . . . . 36
File Metadata.. . . . . . . . . . . 41
Soft and Hard Links.. . . . . . . . . 43
Copying Files Between Systems.. . . . . . . 46
File and Directory Operations.. . . . . . . . 49
CHAPTER 3: Configure and Manage Storage Using the Appropriate Tools.. . . 57
Disk Partitioning.. . . . . . . . . . 57
Mounting Local and Remote Devices.. . . . . . 61
Filesystem Management. . . . . . . . . 66
Monitoring Storage Space and Disk Usage. . . . . . 70
Creating and Modifying Volumes Using Logical Volume Manager (LVM).. . . . . . . . . . 71
Inspecting RAID Implementations.. . . . . . . 75
Storage Area Network (SAN)/Network-Attached Storage (NAS). . 78
Storage Hardware.. . . . . . . . . . 82
CHAPTER 4: Configure and Use the Appropriate Processes and Services.. . . 85
System Services. . . . . . . . . . 85
Scheduling Services. . . . . . . . . . 90
Process Management. . . . . . . . . 97
CHAPTER 5: Use the Appropriate Networking Tools or Configuration Files. . . 113
Interface Management.. . . . . . . . . 113
Name Resolution.. . . . . . . . . . 122
Network Monitoring.. . . . . . . . . 127
Remote Networking Tools.. . . . . . . . 132
CHAPTER 6: Build and Install Software. . . . . . . . . 139
Package Management.. . . . . . . . . 139
Sandboxed Applications.. . . . . . . . . 149
System Updates.. . . . . . . . . . 150
Part II: Security
CHAPTER 7: Manage Software Configurations.. . . . . . . . 155
Updating Configuration Files.. . . . . . . . 155
Configure Kernel Options.. . . . . . . . 158
Configure Common System Services.. . . . . . . 165
Localization.. . . . . . . . . . . 172
CHAPTER 8: Security Best Practices in a Linux Environment.. . . . . 177
Managing Public Key Infrastructure (PKI) Certificates.. . . 177
Certificate Use Cases. . . . . . . . . 181
Authentication.. . . . . . . . . . 181
Linux Hardening.. . . . . . . . . . 188
CHAPTER 9: Implement Identity Management. . . . . . . . 201
Account Creation and Deletion. . . . . . . . 201
.bashrc. . . . . . . . . . . 212
Account Management.. . . . . . . . . 212
CHAPTER 10: Implement and Configure Firewalls.. . . . . . . . 219
Firewall Use Cases.. . . . . . . . . . 219
Common Firewall Technologies.. . . . . . . 221
Key Firewall Features.. . . . . . . . . 223
CHAPTER 11: Configure and Execute Remote Connectivity for System Management.. 227
SSH.. . . . . . . . . . . . 227
Executing Commands as Another User.. . . . . . 235
CHAPTER 12: Apply the Appropriate Access Controls. . . . . . . 241
File Permissions.. . . . . . . . . . 241
Security-Enhanced Linux (SELinux).. . . . . . . 243
AppArmor.. . . . . . . . . . . 247
Command-Line Utilities.. . . . . . . . . 250
Part III: Scripting, Containers, and Automation
CHAPTER 13: Create Simple Shell Scripts to Automate Common Tasks. . . . 265
Shell Script Elements.. . . . . . . . . 265
Common Script Utilities.. . . . . . . . . 286
Environment Variables. . . . . . . . . 298
Relative and Absolute Paths.. . . . . . . . 302
CHAPTER 14: Perform Basic Container Operations. . . . . . . 305
Container Management.. . . . . . . . . 305
Container Image Operations.. . . . . . . . 312
CHAPTER 15: Perform Basic Version Control Using Git.. . . . . . . 317
Introduction to Version Control and Git.. . . . . . 317
clone.. . . . . . . . . . . . 321
push.. . . . . . . . . . . . 323
pull.. . . . . . . . . . . . 324
commit.. . . . . . . . . . . . 324
add.. . . . . . . . . . . . 325
branch/checkout.. . . . . . . . . . 325
tag.. . . . . . . . . . . . 329
gitignore.. . . . . . . . . . . 330
CHAPTER 16: Common Infrastructure as Code Technologies.. . . . . 333
File Formats. . . . . . . . . . . 334
Utilities.. . . . . . . . . . . . 335
Continuous Integration/Continuous Deployment (CI/CD).. . . 338
Advanced Git Topics.. . . . . . . . . 339
CHAPTER 17: Container, Cloud, and Orchestration Concepts.. . . . . 343
Kubernetes Benefits and Application Use Cases.. . . . . 344
Single-Node, Multicontainer Use Cases. . . . . . 346
Container Persistent Storage.. . . . . . . . 346
Container Networks.. . . . . . . . . 347
Service Mesh.. . . . . . . . . . . 349
Bootstrapping. . . . . . . . . . . 350
Container Registries.. . . . . . . . . 350
Part IV: Troubleshooting
CHAPTER 18: Analyze and Troubleshoot Storage Issues.. . . . . . 353
High Latency.. . . . . . . . . . . 353
Input/Output Operations per Second (IOPS) Scenarios.. . . 354
Capacity Issues.. . . . . . . . . . 355
Filesystem Issues. . . . . . . . . . 358
I/O Scheduler. . . . . . . . . . . 359
Device Issues.. . . . . . . . . . . 360
Mount Option Problems.. . . . . . . . . 363
CHAPTER 19: Analyze and Troubleshoot Network Resource Issues.. . . . 365
Network Configuration Issues.. . . . . . . . 365
Firewall Issues.. . . . . . . . . . 367
Interface Errors.. . . . . . . . . . 367
Bandwidth Limitations. . . . . . . . . 373
Name Resolution Issues. . . . . . . . . 374
Testing Remote Systems.. . . . . . . . . 375
CHAPTER 20: Analyze and Troubleshoot Central Processing Unit (CPU) and Memory Issues. . . . 379
Runaway Processes.. . . . . . . . . . 379
Zombie Processes.. . . . . . . . . . 380
High Load Average.. . . . . . . . . . 383
High Run Queues.. . . . . . . . . . 384
CPU Times.. . . . . . . . . . . 384
CPU Process Priorities.. . . . . . . . . 384
Memory Exhaustion.. . . . . . . . . 385
Out of Memory (OOM). . . . . . . . . 385
Swapping.. . . . . . . . . . . 386
Hardware. . . . . . . . . . . 388
CHAPTER 21: Analyze and Troubleshoot User Access and File Permissions. . . 397
User Login Issues.. . . . . . . . . . 397
User File Access Issues. . . . . . . . . 400
Password Issues. . . . . . . . . . 404
Privilege Elevation.. . . . . . . . . . 405
Quota Issues. . . . . . . . . . . 405
CHAPTER 22: Use systemd to Diagnose and Resolve Common Problems with a Linux System. . . . . 411
Unit Files. . . . . . . . . . . 412
Common Problems.. . . . . . . . . . 429
9780137898558, TOC, 8/11/2022