The bestselling study guide completely updated for the NEW CompTIA Linux+ Exam XK0-004
This is your one-stop resource for complete coverage of Exam XK0-004, covering 100% of all exam objectives. You'll prepare for the exam smarter and faster with Sybex thanks to superior content including, assessment tests that check exam readiness, objective map, real-world scenarios, hands-on exercises, key topic exam essentials, and challenging chapter review questions.
Linux is a UNIX-based operating system originally created by Linus Torvalds with the help of developers around the world. Developed under the GNU General Public License, the source code is free. Because of this Linux is viewed by many organizations and companies as an excellent, low-cost, secure alternative to expensive OSs, such as Microsoft Windows. The CompTIA Linux+ exam tests a candidate's understanding and familiarity with the Linux Kernel. As the Linux server market share continues to grow, so too does demand for qualified and certified Linux administrators.
Building on the popular Sybex Study Guide approach, this book will provide 100% coverage of the NEW Linux+ Exam XK0-004 objectives. The book contains clear and concise information on all Linux administration topic, and includes practical examples and insights drawn from real-world experience.
- Hardware and System Configuration
- Systems Operation and Maintenance
- Security
- Linux Troubleshooting and Diagnostics
- Automation and Scripting
You’ll also have access to an online test bank, including a bonus practice exam, electronic flashcards, and a searchable PDF of key terms.
Table of Contents
Introduction xxix
Assessment Test xlii
Part I Gathering Your Tools 1
Chapter 1 Preparing Your Environment 3
Setting Up a Learning Space 4
Exploring Linux Distributions 8
Locating a Terminal 14
Summary 14
Chapter 2 Sifting Through Services 15
What is a Linux Server? 16
Serving the Basics 19
Serving Local Networks 24
Implementing Security 29
Improving Performance 32
Summary 33
Exam Essentials 34
Review Questions 35
Chapter 3 Managing Files, Directories, and Text 39
Handling Files and Directories 40
Linking Files and Directories 55
Reading Files 59
Finding Information 66
Summary 77
Exam Essentials 77
Review Questions 78
Chapter 4 Searching and Analyzing Text 83
Processing Text Files 84
Redirecting Input and Output 95
Editing Text Files 105
Summary 116
Exam Essentials 117
Review Questions 118
Part II Starting Up and Configuring Your System 123
Chapter 5 Explaining the Boot Process 125
The Linux Boot Process 126
The Firmware Startup 128
Linux Bootloaders 130
System Recovery 137
Summary 141
Exam Essentials 141
Review Questions 143
Chapter 6 Maintaining System Startup and Services 147
Looking at init 148
Managing systemd Systems 149
Managing SysV init Systems 167
Digging Deeper into systemd 176
Summary 179
Exam Essentials 179
Review Questions 181
Chapter 7 Configuring Network Connections 187
Configuring Network Features 188
Basic Network Troubleshooting 201
Advanced Network Troubleshooting 205
Summary 209
Exam Essentials 210
Review Questions 212
Chapter 8 Comparing GUIs 217
Focusing on the GUI 218
Serving Up the GUI 231
Using Remote Desktops 235
Forwarding 240
Summary 245
Exam Essentials 245
Review Questions 247
Chapter 9 Adjusting Localization Options 253
Understanding Localization 254
Setting Your Locale 256
Looking at Time 259
Summary 265
Exam Essentials 266
Review Questions 267
Part III Managing Your System 273
Chapter 10 Administering Users and Groups 275
Managing User Accounts 276
Managing Groups 294
Setting Up the Environment 297
Querying Users 300
Managing Disk Space Usage 304
Summary 308
Exam Essentials 308
Review Questions 310
Chapter 11 Handling Storage 315
Storage Basics 316
Partitioning Tools 318
Understanding Filesystems 323
Formatting Filesystems 326
Mounting Filesystems 329
Managing Filesystems 331
Storage Alternatives 333
Summary 338
Exam Essentials 338
Review Questions 340
Chapter 12 Protecting Files 343
Understanding Backup Types 344
Looking at Compression Methods 346
Comparing Archive and Restore Utilities 349
Securing Offsite/Off-System Backups 362
Checking Backup Integrity 366
Summary 368
Exam Essentials 368
Review Questions 370
Chapter 13 Governing Software 373
Working with Source Code 374
Packaging Applications 380
Summary 392
Exam Essentials 393
Review Questions 394
Chapter 14 Tending Kernel Modules 397
Exploring Kernel Modules 398
Installing Kernel Modules 402
Removing Kernel Modules 404
Summary 405
Exam Essentials 405
Review Questions 407
Part IV Securing Your System 409
Chapter 15 Applying Ownership and Permissions 411
Looking at File and Directory Permissions 412
Access Control Lists 420
Context-Based Permissions 422
Understanding Linux User Types 430
Restricting Users 431
Summary 435
Exam Essentials 436
Review Questions 437
Chapter 16 Looking at Access and Authentication Methods 439
Getting to Know PAM 440
Exploring PKI Concepts 452
Using SSH 455
Using VPN as a Client 468
Summary 469
Exam Essentials 469
Review Questions 471
Chapter 17 Implementing Logging Services 473
Understanding the Importance of Logging 474
Basic Logging Using rsyslog 477
Journaling with systemd-journald 480
Summary 483
Exam Essentials 484
Review Questions 485
Chapter 18 Overseeing Linux Firewalls 487
Providing Access Control 488
Looking at Firewall Technologies 490
Forwarding IP Packets 505
Dynamically Setting Rules 506
Summary 508
Exam Essentials 508
Review Questions 510
Chapter 19 Embracing Best Security Practices 513
User Security 514
System Security 518
Network Security 525
Summary 528
Exam Essentials 528
Review Questions 530
Part V Troubleshooting Your System 533
Chapter 20 Analyzing System Properties and Remediation 535
Troubleshooting the Network 536
Troubleshooting Storage Issues 549
Troubleshooting the CPU 554
Troubleshooting Memory 556
Surviving a Lost root Password 560
Summary 562
Exam Essentials 562
Review Questions 563
Chapter 21 Optimizing Performance 567
Looking at Processes 568
Monitoring Processes in Real Time 570
Managing Processes 573
Summary 577
Exam Essentials 577
Review Questions 579
Chapter 22 Investigating User Issues 581
Troubleshooting Access 582
Examining File Obstacles 588
Exploring Environment and Shell Issues 591
Summary 593
Exam Essentials 593
Review Questions 594
Chapter 23 Dealing with Linux Devices 597
Communicating with Linux Devices 598
Working with Devices 605
Using Hot Pluggable Devices 613
Summary 615
Exam Essentials 616
Review Questions 617
Chapter 24 Troubleshooting Application and Hardware Issues 619
Dealing with Storage Problems 620
Uncovering Application Permission Issues 626
Analyzing Application Dependencies 628
Looking at SELinux Context Violations 633
Exploring Firewall Blockages 633
Troubleshooting Additional Hardware Issues 635
Summary 643
Exam Essentials 643
Review Questions 645
Part VI Automating Your System 649
Chapter 25 Deploying Bash Scripts 651
The Basics of Shell Scripting 652
Advanced Shell Scripting 657
Writing Script Programs 663
Summary 673
Exam Essentials 674
Review Questions 675
Chapter 26 Automating Jobs 677
Running Scripts in Background Mode 678
Running Scripts Without a Console 680
Sending Signals 681
Job Control 683
Running Like Clockwork 687
Summary 692
Exam Essentials 693
Review Questions 694
Chapter 27 Controlling Versions with Git 697
Understanding Version Control 698
Setting Up Your Git Environment 700
Committing with Git 703
Merging Versions 710
Summary 713
Exam Essentials 713
Review Questions 715
Part VII Realizing Virtual and Cloud Environments 717
Chapter 28 Understanding Cloud and Virtualization Concepts 719
Considering Cloud Services 720
Understanding Virtualization 723
Exploring Containers 727
Exercise 729
Summary 730
Exam Essentials 731
Review Questions 732
Chapter 29 Inspecting Cloud and Virtualization Services 735
Focusing on VM Tools 736
Understanding Bootstrapping 740
Exploring Storage Issues 746
Considering Network Configurations 747
Summary 750
Exam Essentials 751
Review Questions 752
Chapter 30 Orchestrating the Environment 755
Understanding Orchestration Concepts 756
Provisioning the Data Center 760
Looking at Container Orchestration Engines 763
Summary 765
Exam Essentials 765
Review Questions 766
Appendix Answers to Review Questions 769
Chapter 2: Sifting Through Services 770
Chapter 3: Managing Files, Directories, and Text 773
Chapter 4: Searching and Analyzing Text 777
Chapter 5: Explaining the Boot Process 781
Chapter 6: Maintaining System Startup and Services 784
Chapter 7: Configuring Network Connections 788
Chapter 8: Comparing GUIs 791
Chapter 9: Adjusting Localization Options 795
Chapter 10: Administering Users and Groups 798
Chapter 11: Handling Storage 801
Chapter 12: Protecting Files 803
Chapter 13: Governing Software 804
Chapter 14: Tending Kernel Modules 806
Chapter 15: Applying Ownership and Permissions 808
Chapter 16: Looking at Access and Authentication Methods 810
Chapter 17: Implementing Logging Services 811
Chapter 18: Overseeing Linux Firewalls 813
Chapter 19: Embracing Best Security Practices 815
Chapter 20: Embracing Best Security Practices 817
Chapter 21: Optimizing Performance 818
Chapter 22: Investigating User Issues 820
Chapter 23: Dealing with Linux Devices 822
Chapter 24: Troubleshooting Application and Hardware Issues 824
Chapter 25: Deploying Bash Scripts 826
Chapter 26: Automating Jobs 827
Chapter 27: Controlling Versions with Git 829
Chapter 28: Understanding Cloud and Virtualization Concepts 831
Chapter 29: Inspecting Cloud and Virtualization Services 832
Chapter 30: Orchestrating the Environment 834
Index 837