Professional Documents
Culture Documents
ebook download CompTIA Linux+ Certification All-in-One Exam Guide (Exam XK0-005), 2nd Edition Ted Jordan - eBook PDF all chapter
ebook download CompTIA Linux+ Certification All-in-One Exam Guide (Exam XK0-005), 2nd Edition Ted Jordan - eBook PDF all chapter
https://ebooksecure.com/download/comptia-linux-certification-
exam-guide-ebook-pdf/
https://ebooksecure.com/download/comptia-server-certification-
all-in-one-exam-guide-second-edition-exam-sk0-005-ebook-pdf/
https://ebooksecure.com/download/comptia-network-certification-
all-in-one-exam-guide-seventh-edition-exam-n10-007-ebook-pdf/
https://ebooksecure.com/download/comptia-a-certification-all-in-
one-exam-guide-exams-220-901-220-902-ebook-pdf/
CompTIA A+ Certification All-in-One Exam Guide,
Eleventh Edition (Exams 220-1101 & 220-1102) Travis
Everett - eBook PDF
https://ebooksecure.com/download/comptia-a-certification-all-in-
one-exam-guide-eleventh-edition-exams-220-1101-220-1102-ebook-
pdf/
https://ebooksecure.com/download/comptia-security-all-in-one-
exam-guide-exam-sy0-501-ebook-pdf/
https://ebooksecure.com/download/itf-comptia-it-fundamentals-all-
in-one-exam-guide-second-edition-exam-fc0-u61-ebook-pdf/
https://ebooksecure.com/download/cc-certified-in-cybersecurity-
all-in-one-exam-guide-ebook-pdf/
https://ebooksecure.com/download/cissp-all-in-one-exam-guide-
ebook-pdf-2/
All-In-One / CompTIA Linux+™ Certification All-in-One Exam Guide, 2 Ed. / Jordan / 896-2 / FM
Blind Folio: i
ALL IN ONE
CompTIA
Linux+™
Certification
EXAM GUIDE
Second Edition (Exam XK0-005)
Ted Jordan (MS, CompTIA Linux+, CompTIA Security+, CompTIA Cloud+, CISSP,
CSSLP) has over 25 years of UNIX, IRIX, Solaris, and Linux engineering experience.
He studied coding and UNIX as a graduate student of the University of California,
Berkeley and Kettering University. During Mr. Jordan’s engineering career, he coded in
C/UNIX for General Motors, Silicon Graphics, Fakespace CAVE Virtual Reality, and
Sun Microsystems. He is the founder and president of successful technical ventures,
Funutation, Inc., and JordanTeam LLC, both providing Linux coding and education.
He has taken and passed all CompTIA Linux+ exams since 2001 and has successfully
trained hundreds of others to attain their Linux+ certifications. Follow him on Twitter
and YouTube @JordanTeamLearn.
Sandor Strohmayer is a trainer and curriculum developer who has been teaching and
writing Linux and UNIX training material for more than 20 years. Mr. Strohmayer
began as a hardware and operating system instructor for Sun Microsystems. Since then
he has developed and taught UNIX, Linux, and other training programs for schools,
corporations, and the military, using study guides and blended learning techniques
supplemented with individually paced learning via a learning management system.
Mr. Strohmayer also offers study, Linux, and other IT hints on LinkedIn (www.linkedin
.com/pub/sandor-strohmayer/4/702/765).
ALL IN ONE
CompTIA
Linux+™
Certification
EXAM GUIDE
Second Edition (Exam XK0-005)
Ted Jordan
Sandor Strohmayer
McGraw Hill is an independent entity from CompTIA® and is not affiliated with CompTIA in any manner. This publication
and accompanying media may be used in assisting students to prepare for the CompTIA Linux+™ exam. Neither CompTIA
nor McGraw Hill warrants that use of this publication and accompanying media will ensure passing any exam. CompTIA
and CompTIA Linux+™ are trademarks or registered trademarks of CompTIA in the United States and/or other countries.
All other trademarks are trademarks of their respective owners. The CompTIA Marks are the proprietary trademarks and/or
service marks of CompTIA and its affiliates used under license from CompTIA.
ISBN: 978-1-26-480277-7
MHID: 1-26-480277-3
The material in this eBook also appears in the print version of this title: ISBN: 978-1-26-479896-4,
MHID: 1-26-479896-2.
All trademarks are trademarks of their respective owners. Rather than put a trademark symbol after every occurrence of a trade-
marked name, we use names in an editorial fashion only, and to the benefit of the trademark owner, with no intention of infringe-
ment of the trademark. Where such designations appear in this book, they have been printed with initial caps.
McGraw Hill eBooks are available at special quantity discounts to use as premiums and sales promotions or for use in corporate
training programs. To contact a representative, please visit the Contact Us page at www.mhprofessional.com.
Information has been obtained by McGraw Hill from sources believed to be reliable. However, because of the possibility of hu-
man or mechanical error by our sources, McGraw Hill, or others, McGraw Hill does not guarantee the accuracy, adequacy, or
completeness of any information and is not responsible for any errors or omissions or the results obtained from the use of such
information.
TERMS OF USE
This is a copyrighted work and McGraw Hill (“McGraw Hill”) and its licensors reserve all rights in and to the work. Use of this
work is subject to these terms. Except as permitted under the Copyright Act of 1976 and the right to store and retrieve one copy
of the work, you may not decompile, disassemble, reverse engineer, reproduce, modify, create derivative works based upon,
transmit, distribute, disseminate, sell, publish or sublicense the work or any part of it without McGraw Hill’s prior consent. You
may use the work for your own noncommercial and personal use; any other use of the work is strictly prohibited. Your right to
use the work may be terminated if you fail to comply with these terms.
THE WORK IS PROVIDED “AS IS.” McGRAW HILL AND ITS LICENSORS MAKE NO GUARANTEES OR WARRAN-
TIES AS TO THE ACCURACY, ADEQUACY OR COMPLETENESS OF OR RESULTS TO BE OBTAINED FROM USING
THE WORK, INCLUDING ANY INFORMATION THAT CAN BE ACCESSED THROUGH THE WORK VIA HYPERLINK
OR OTHERWISE, AND EXPRESSLY DISCLAIM ANY WARRANTY, EXPRESS OR IMPLIED, INCLUDING BUT NOT
LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
McGraw Hill and its licensors do not warrant or guarantee that the functions contained in the work will meet your requirements
or that its operation will be uninterrupted or error free. Neither McGraw Hill nor its licensors shall be liable to you or anyone else
for any inaccuracy, error or omission, regardless of cause, in the work or for any damages resulting therefrom. McGraw Hill has
no responsibility for the content of any information accessed through the work. Under no circumstances shall McGraw Hill and/
or its licensors be liable for any indirect, incidental, special, punitive, consequential or similar damages that result from the use of
or inability to use the work, even if any of them has been advised of the possibility of such damages. This limitation of liability
shall apply to any claim or cause whatsoever whether such claim or cause arises in contract, tort or otherwise.
All-In-One / CompTIA Linux+™ Certification All-in-One Exam Guide, 2 Ed. / Jordan / 896-2 / FM
Blind Folio: v
CONTENTS AT A GLANCE
Index.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703
vii
CONTENTS
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv
Chapter 1 An Introduction to Linux and a Pre-Assessment Exam . . . . . . . . . . . . . 1
A Brief History of Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Batch Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
MULTICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
UNIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Linux Operating System Structure . . . . . . . . . . . . . . . . . . . . . . . . . 4
Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Operating System Software . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Application Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Linux Distributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Distribution Differences . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Linux Derivatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Common Linux Implementations . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Linux on the Desktop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Linux on the Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Mobile Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Linux and Virtualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Linux and Cloud Computing . . . . . . . . . . . . . . . . . . . . . . . . 16
Embedded Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Chapter Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Pre-Assessment Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Quick Answer Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
In-Depth Answer Explanations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Analyzing Your Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Chapter 2 Using the vi Text Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
The Role and Function of the vi Text Editor . . . . . . . . . . . . . . . . . 53
Editing Text Files in vi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Opening Files in vi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
The vi Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Working in Normal Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
ix
Contents
xi
Chapter 4 Managing Linux Users and Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Understanding Linux Users and Groups . . . . . . . . . . . . . . . . . . . . . 99
Linux User Accounts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Displaying User and Group IDs . . . . . . . . . . . . . . . . . . . . . . 104
Creating and Managing User Accounts from the Command Line . . . 106
Provisioning New Users with useradd . . . . . . . . . . . . . . . . 106
Exercise 4-1: Managing User Accounts
from the Command Line . . . . . . . . . . . . . . . . . . . . . . . . . 110
Provisioning New Workgroups with groupadd . . . . . . . . . 113
Exercise 4-2: Managing Groups from the Command Line . . . 114
Chapter Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Chapter 5 Managing Linux Files and Directories . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Understanding the Filesystem Hierarchy Standard . . . . . . . . . . . . . 121
Navigating the Linux Filesystem . . . . . . . . . . . . . . . . . . . . . . 123
Viewing Directory Contents with ls . . . . . . . . . . . . . . . . . . 125
Exercise 5-1: Navigating the Filesystem . . . . . . . . . . . . . . . . 126
Managing Linux Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Files, Filenames, and Inodes . . . . . . . . . . . . . . . . . . . . . . . . . 127
Creating and Validating Files with touch and stat . . . . . . 128
Soft and Hard Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Creating New Directories with mkdir . . . . . . . . . . . . . . . . . 133
Determining the File Type . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Viewing File Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Deleting Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Copying and Moving Files . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Exercise 5-2: Managing Files and Directories . . . . . . . . . . . . 136
Finding Files in the Linux Filesystem . . . . . . . . . . . . . . . . . . . . . . . 139
Using find to Search for Files . . . . . . . . . . . . . . . . . . . . . . . 139
Using xargs to Run Commands from Standard Input . . . . 141
Using locate to Find Files . . . . . . . . . . . . . . . . . . . . . . . . . 142
Understanding Commands and Precedence . . . . . . . . . . . . . . . . . . 143
Creating Aliases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Creating and Using Functions . . . . . . . . . . . . . . . . . . . . . . . . 144
Using Builtin Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Using External Commands . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Exercise 5-3: Finding Files . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Finding Content Within Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Using grep to Search Within Files . . . . . . . . . . . . . . . . . . . . 147
Using egrep to Search Within Files . . . . . . . . . . . . . . . . . . 148
Exercise 5-4: Using grep . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Contents
xiii
Verifying XFS Filesystems Using xfs_admin . . . . . . . . . . . 209
Checking the Filesystem Integrity . . . . . . . . . . . . . . . . . . . . . 210
Managing Quotas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Editing /etc/fstab to Set Up Quotas . . . . . . . . . . . . . . . 211
Creating Quota Database Files . . . . . . . . . . . . . . . . . . . . . . . 212
Assigning a Quota to Users and Groups . . . . . . . . . . . . . . . . 212
Exercise 7-1: Managing Linux Partitions . . . . . . . . . . . . . . . . 213
Chapter Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Chapter 8 Configuring Volume Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Implementing Logical Volume Management . . . . . . . . . . . . . . . . . . 223
LVM Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
LVM Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
LVM Snapshots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Extending LVMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Creating Archives and Performing Compression . . . . . . . . . . . . . . . 229
Selecting a Backup Medium . . . . . . . . . . . . . . . . . . . . . . . . . 229
Selecting a Backup Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Linux Backup and Compression Utilities . . . . . . . . . . . . . . . . 231
Exercise 8-1: Backing Up Data . . . . . . . . . . . . . . . . . . . . . . . 235
Enabling Redundant Array of Independent Disks . . . . . . . . . . . . . . 235
Configuring Software RAID . . . . . . . . . . . . . . . . . . . . . . . . . 238
Verifying RAID Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Exercise 8-2: Configuring RAID and Logical Volumes . . . . . 239
Chapter Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Chapter 9 Managing Linux Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Understanding Linux Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Types of Linux Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
User Processes Versus System Processes . . . . . . . . . . . . . . . . . 250
How Linux Processes Are Loaded . . . . . . . . . . . . . . . . . . . . . 252
Managing Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
Starting System Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Viewing Running Processes . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Prioritizing Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Managing Foreground and Background Processes . . . . . . . . . 264
Ending a Running Process . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Keeping a Process Running After Logout . . . . . . . . . . . . . . . . 268
Exercise 9-1: Working with Linux Processes . . . . . . . . . . . . . 269
Scheduling Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Using the at Daemon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Using the cron Daemon . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
Contents
xv
Chapter 11 Managing the Linux Boot Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
The BIOS POST Phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
The Classic BIOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
The Modern UEFI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
The GRUB2 Bootloader Phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Modify the GRUB2 Bootloader . . . . . . . . . . . . . . . . . . . . . . 335
Change a Forgotten root Password . . . . . . . . . . . . . . . . . . . 338
Exercise 11-1: Working with GRUB2 . . . . . . . . . . . . . . . . . . 340
The Kernel Initiation Phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
System V Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
The Linux Runlevels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
The inittab Startup File . . . . . . . . . . . . . . . . . . . . . . . . . . 341
Shutting Down the System . . . . . . . . . . . . . . . . . . . . . . . . . . 342
The systemd Initialization Phase . . . . . . . . . . . . . . . . . . . . . . . . . 343
systemd Unit Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
Service Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Targets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Kernel Panic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
Chapter Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
Chapter 12 Managing Hardware Under Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
Discovering Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
Displaying the Kernel Ring Buffer with dmesg . . . . . . . . . . 356
Detecting USB Devices with lsusb . . . . . . . . . . . . . . . . . . 358
Detecting PCI Devices with lspci . . . . . . . . . . . . . . . . . . . 359
Managing Kernel Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
Exercise 12-1: Working with Kernel Modules . . . . . . . . . . . . 363
Referencing Kernel and User Space . . . . . . . . . . . . . . . . . . . . . . . . . 364
/sys and sysfs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
udev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
Configuring Hardware Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
lsdev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
lshw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Exercise 12-2: Discovering Devices . . . . . . . . . . . . . . . . . . . . 381
Configuring Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Bluetooth Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Configuring Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
Scanning for Network Devices . . . . . . . . . . . . . . . . . . . . . . . 383
Configuring a Wi-Fi Network . . . . . . . . . . . . . . . . . . . . . . . . 383
Configuring Storage Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
SCSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
Contents
xvii
The tail Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
The uniq Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
The wc Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
Exercise 13-2: Processing Text Streams . . . . . . . . . . . . . . . . . 431
Chapter Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
Chapter 14 Managing Linux Network Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
Understanding IP Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
What Is a Protocol? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
How IPv4 Addresses Work . . . . . . . . . . . . . . . . . . . . . . . . . . 444
How IPv4 Subnet Masks Work . . . . . . . . . . . . . . . . . . . . . . . 446
Configuring Network Addressing Parameters . . . . . . . . . . . . . . . . . 449
Assigning NIC Nomenclature . . . . . . . . . . . . . . . . . . . . . . . . 449
Configuring IPv4 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . 449
Exercise 14-1: Working with Network Interfaces . . . . . . . . . 454
Configuring Routing Parameters . . . . . . . . . . . . . . . . . . . . . . 455
Configuring Name Resolver Settings . . . . . . . . . . . . . . . . . . . 457
Configuring IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
Troubleshooting Network Problems . . . . . . . . . . . . . . . . . . . . . . . . 461
Using a Standardized Troubleshooting Model . . . . . . . . . . . . 461
Using ping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
Using netstat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
Using traceroute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
Using nc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
Using Name Resolution Tools . . . . . . . . . . . . . . . . . . . . . . . . 467
Synchronizing Time on a Network . . . . . . . . . . . . . . . . . . . . 469
Exercise 14-2: Working with Network Commands . . . . . . . . 471
Understanding Network-Based Filesystems . . . . . . . . . . . . . . . . . . . 472
Network File System (NFS) . . . . . . . . . . . . . . . . . . . . . . . . . . 472
Samba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
Chapter Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476
Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
Chapter 15 Understanding Network Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
Understanding How Encryption Works . . . . . . . . . . . . . . . . . . . . . 482
Symmetric Encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482
Asymmetric Encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
Integrity Checking via Hashing . . . . . . . . . . . . . . . . . . . . . . . 484
Implementing Secured Tunnel Networks . . . . . . . . . . . . . . . . . . . . . 485
How SSH Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
Configuring SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
Exercise 15-1: Working with SSH . . . . . . . . . . . . . . . . . . . . 488
Contents
xix
Enhancing Group and File Security . . . . . . . . . . . . . . . . . . . . . . . . . 556
Implementing SELinux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
Implementing AppArmor . . . . . . . . . . . . . . . . . . . . . . . . . . . 562
Exercise 16-2: Managing SELinux Contexts . . . . . . . . . . . . . 564
Chapter Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
Chapter 17 Applying DevOps: Automation and Orchestration . . . . . . . . . . . . . 573
Orchestration Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
Orchestration Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575
The Git Revision Control System . . . . . . . . . . . . . . . . . . . . . . . . . . 577
Using Git . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577
Collaborating with Git . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580
Exercise 17-1: Working with a Git Repository . . . . . . . . . . . 583
Chapter Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585
Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587
Chapter 18 Understanding Virtualization and the Cloud . . . . . . . . . . . . . . . . . . . 589
Understanding Virtualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589
Hypervisors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590
Thin vs. Thick Provisioning . . . . . . . . . . . . . . . . . . . . . . . . . . 591
Virtualization File Formats . . . . . . . . . . . . . . . . . . . . . . . . . . 591
Managing Virtual Machines with virsh . . . . . . . . . . . . . . . 591
Virtual Networking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592
BLOB Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594
Virtual Machine Shortcomings . . . . . . . . . . . . . . . . . . . . . . . 594
Understanding Containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594
Persistent Volumes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596
Container Markup Languages . . . . . . . . . . . . . . . . . . . . . . . . 596
Managing Containers with Docker and Kubernetes . . . . . . . . . . . . 597
Getting Started with Docker . . . . . . . . . . . . . . . . . . . . . . . . . 598
Deploying an Existing Container Image . . . . . . . . . . . . . . . . 599
Running a Container Image . . . . . . . . . . . . . . . . . . . . . . . . . 599
Configuring Container Persistent Storage . . . . . . . . . . . . . . . 600
Removing Containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601
Cluster Management with Kubernetes . . . . . . . . . . . . . . . . . . 601
Automating Installations with Kickstart . . . . . . . . . . . . . . . . . . . . . 602
Chapter Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603
Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605
Contents
xxi
Chapter Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 670
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 671
Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 676
Appendix A Objective Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679
Exam XK0-005 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679
Appendix B About the Online Content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699
System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699
Your Total Seminars Training Hub Account . . . . . . . . . . . . . . . . . . 699
Privacy Notice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699
Single User License Terms and Conditions . . . . . . . . . . . . . . . . . . . 699
TotalTester Online . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 701
Other Book Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 701
Performance-Based Questions . . . . . . . . . . . . . . . . . . . . . . . . 701
Virtual Machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 702
Videos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 702
Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 702
Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703
ACKNOWLEDGMENTS
Thank you to my wife, Cheryl, and my children, Theo and Aria, for allowing Daddy to
toil, peacefully, in the basement, alone, to complete this work.
Also I would like to thank my Cass Technical High School teachers Mr. Max Green and
Mr. Walter Downs, a Tuskegee Airman who felled 6 ½ enemy aircraft in WWII, for
giving me my “serious fun” teaching style.
Dr. David “Doc” Green and Dr. Duane McKeachie of Kettering University showed me
how to simplify difficult concepts for students.
Dr. Larry Stark and Dr. Masayoshi Tomizuka of the University of California at Berkeley
introduced me to UNIX, which has taken me further than I imagined.
—Ted Jordan
xxiii
INTRODUCTION
•• To help you prepare for and pass the Linux+ exam offered by CompTIA
•• To provide you with the extra skills and knowledge you need to be successful on
the job after you are certified
xxv
Introduction
xxvii
How This Book Is Organized
The CompTIA Linux+ exam objectives, as currently published, are organized by topic.
They aren’t organized into a logical instructional flow. As you read through this book,
you’ll quickly notice that we don’t address the CompTIA Linux+ objectives in the same
order as they are published by CompTIA. All the objectives are covered; however, we’ve
reorganized them such that we start with the most basic Linux concepts first. Then, as
we progress through the book, we address increasingly more advanced CompTIA Linux+
objectives, building on the skills and knowledge covered in preceding chapters.
The Exam Objective Map in Appendix A has been constructed to help you cross-
reference the official exam objectives from CompTIA with the objectives as they are
presented and covered in this book. The exam objectives are listed in the left column
of the table exactly as CompTIA presents them, and the right column identifies the
corresponding chapter(s) in which each exam objective is covered.
Icons
To alert you to an important bit of advice, a shortcut, or a pitfall, you’ll occasionally see
Notes, Tips, Cautions, and Exam Tips peppered throughout the text.
TIP Tips provide suggestions and nuances to help you learn to finesse your
job. Take a tip from us and read the Tips carefully.
CAUTION When you see a Caution, pay special attention. Cautions appear
when you have to make a crucial choice or when you are about to undertake
something that may have ramifications you might not immediately anticipate.
Read them now so that you don’t have regrets later.
EXAM TIP Exam Tips give you special advice or may provide information
specifically related to preparing for the exam itself.
Online Content
This book comes with access to virtual machine files you can download and use to set up
your very own Linux system to practice with. It also includes access to video clips from
the authors demonstrating many of the exercises you’ll find within the book’s chapters,
as well as TotalTester practice exams to prepare you for the real certification exam. Read
more about the online content and how to access it in Appendix B.
CompTIA Linux+ validates the skills administrators need to secure the enterprise,
power the cloud and keep systems running. The new certification ensures that IT
professionals, software developers, cybersecurity engineers and penetration testers
have these necessary skills to support today’s tech systems.
Introduction
xxix
CompTIA Linux+ is the only job-focused Linux certification covering the latest
foundational skills demanded by hiring managers. Unlike other certifications, the
new exam includes performance-based and multiple-choice questions to identify
the employees who can do the job. The exam covers tasks associated with all major
distributions of Linux, setting the foundation for advanced vendor/distro-specific
knowledge.
As previously mentioned, CompTIA has published objectives for the exam that define
the CompTIA Linux+ certification. These exam objectives specify what a Linux system
administrator should know and be able to do. The CompTIA Linux+ exam objectives
(along with practice exams) are available at https://comptia.org/certifications/linux,
upon submitting a brief registration form. To be CompTIA Linux+ certified, you must
be able to perform the tasks contained in these objectives.
NOTE You might actually see fewer than 90 questions on the exam because
performance-based questions (PBQs) carry more weight. Expect to see about
5 PBQs. The more PBQs on the exam, the fewer total questions provided.
Partial credit is granted on PBQs.
The exam interface is fairly straightforward. Items are displayed one at a time on the
screen. You are presented with a question along with a series of responses. You mark the
appropriate response and then go to the next question. You are allowed to go back to
questions that you’ve marked for review.
Each exam is composed primarily of multiple-choice items. Most of the multiple-
choice questions require only one answer; however, some will require the selection of
multiple correct responses. If you forget to select one, the exam will warn you that your
answer is incomplete.
After you complete the exam, the computer will immediately evaluate it and your
score will be printed out. To pass, you need a minimum score of 720 points out of a
possible 900. If you do not pass, your score printout will list the objectives where you
missed questions. You can use this information to review and prepare yourself to retake
the exam.
To make the exam globally available, CompTIA administers the CompTIA Linux+
exam through its testing partner, Pearson VUE (https://home.pearsonvue.com). When
registering at Pearson VUE, you have the option to choose a testing center or to take the
exam at home.
LE CAMP DE VÖHRENBACH
TÊTES DE BOCHES
(5 avril 1916).
Le camp de Vöhrenbach était commandé par l’oberst Freiherr von
Seckendorff, vieillard grognon que nous appelions Kœniggraetz, parce qu’il
avait jadis combattu à Sadowa et parce que des prisonniers français ne
seraient pas français s’ils ne coiffaient pas leurs geôliers d’un surnom. Le
bonhomme en vit de toutes les couleurs. Son attitude dès le début trahissait
le désir qu’il avait de vivre sans histoires. Malheureusement pour lui, nous
n’étions pas décidés à jouer les chiens couchants, et Kœniggraetz ne goûta à
peu près jamais la tranquillité qu’il souhaitait, s’il la souhaita. Écœuré de
notre ingratitude autant que mû par son tempérament de hobereau soudard,
il occupa ses journées à nous chercher des poux. Quand son imagination ne
lui suggérait aucune tracasserie, il s’en prenait aux sentinelles du poste de
police, hommes de la landstùrm, auxquels il avait toujours quelque chose à
reprocher. Il hésitait quelquefois à nous injurier, et sa rage s’abattait alors
sur le personnel du corps de garde qu’il pétrifiait dans une raideur
d’automates dont nous nous amusions.
Freiherr von Seckendorff, dit Kœniggraetz, avait la manie des discours.
Pour le moindre événement, il se présentait à nous au moment de l’appel du
matin, et il nous haranguait. Chaque fois c’était la même comédie. Il
commençait en français, d’une voix calme, presque aimable, cherchait ses
mots, ne les trouvait pas toujours, et tout à coup, au tournant d’une phrase,
excédé de fatigue et ne contenant plus ses impressions, se jetait tête basse
dans les lourdes périodes allemandes. Sa voix montait, pleine de graillons,
libérant toute une bile, dont nous avions de la peine à ne pas rire.
—Meine Herren... Meine Herren...
Le vieillard tonitruait, bafouillait, levait la canne, secouait la tête, et,
pour finir, saisi d’une quinte de toux furieuse, il s’en allait en prenant le ciel
à témoin de son impuissance.
Freiherr von Seckendorff était suivi constamment par son adjoint, un
capitaine de cavalerie qui ne se mêlait à aucun débat, qui passait pour être le
gendre de son colonel, et dont nous ignorions le nom. Quand j’aurai dit que
nous l’appelions Tête de veau, je n’aurai pas besoin de tracer le portrait de
ce comparse falot et sévère.
Monsieur le Censeur, leùtnant d’infanterie, était certainement l’officier
le plus cruel, le plus sournois, et le plus acharné de toute la boîte. Combien
de fois, devant lui, n’ai-je pas éprouvé de fortes démangeaisons au bout des
mains? Il rappelait le Herr Schmidt de Mayence, comme s’il eût été son
frère, mais il avait moins de désinvolture et un peu plus de lenteur d’esprit.
Avant la guerre, disait-on, sous couleur de s’occuper de commerce de bois,
il espionnait en Russie. Cet honnête passé expliquait pourquoi la
mobilisation allemande lui avait confié un poste à l’intérieur. Il se tirait de
sa mission avec un zèle parfait. A le voir, vous n’eussiez jamais pensé qu’il
fût si méchant, et pourtant son regard fuyait derrière le lorgnon, quand il
nous parlait en contractant les mâchoires. Tortionnaire silencieux qui se
gardait d’opérer en plein jour, et qui soufflait ses rancunes à l’oreille de
cette ganache de Kœniggraetz!
Il était le grand maître de nos correspondances. Je l’ai souvent observé à
sa table de travail, quand il lisait les pauvres lettres que nous écrivions. Il
avait l’air d’un policier qui se réjouit de farfouiller dans un tiroir. Tout lui
semblait inquiétant. Il épluchait notre style comme si la victoire de
l’Allemagne eût dépendu de son application à ce labeur de larbin.
Comprenait-il mal? Il convoquait l’auteur de la lettre, et exigeait des
corrections. Souvent, quand il soupçonnait qu’une carte, écrite au crayon,—
car nous ne devions écrire qu’au crayon en 1916,—cachait un mystère à
l’encre sympathique, il contraignait l’officier suspect à recommencer
d’urgence sa carte, sans daigner lui fournir un motif quelconque.
L’infortuné n’avait plus le temps de se servir de son encre, et monsieur le
Censeur souriait de plaisir. Ses décisions étaient irrévocables. Le plus
souvent, les raisons nous en échappaient. Ainsi ne saurai-je jamais
pourquoi, au mois de juin, je dus déchirer une carte où j’avais mis ces deux
mots coupables: «Il neige».
Où il était odieux, monsieur le Censeur de Vöhrenbach, c’est pour le
courrier qui nous arrivait de France. Il avait l’air alors, non plus d’un
policier, mais d’un dégoûtant bonhomme qui, par le trou de la serrure, dans
une chambre d’hôtel, épie le coucher de jeunes époux. Songez à la
souffrance d’un officier français qui voit, entre les mains d’un officier
boche, les lettres de sa fiancée, de sa femme, ou de sa maîtresse, qui voit le
monstre se vautrer dans des tendresses qui ne sont pas à lui, qui voit le
rustre violer le secret de deux cœurs! Monsieur le Censeur avait des
raffinements. Vous envoyait-on une mauvaise nouvelle capable de vous
attrister? Vous apprenait-on la mort d’un parent ou d’un ami? Vite,
monsieur le Censeur vous remettait l’enveloppe afin que vous pussiez
pleurer plus tôt. En revanche, souvent, on gardait dans les tiroirs de la
censure le courrier de plusieurs jours d’un même officier qu’on surveillait.
On confrontait les différentes feuilles de papier. On cherchait si la
quatrième page du 12 avril, si obscure, ne faisait pas suite à la troisième
page du 11 avril. On rapprochait les textes. Et, quand on ne découvrait rien,
pour plus de sûreté on supprimait froidement le tout.
Un jour, un lieutenant sut que son beau-père était décédé. Le matin
même, un jeudi, nous avions remis à la kommandantur notre carte
hebdomadaire. Le lieutenant alla frapper à la porte de monsieur le Censeur.
—Voulez-vous me rendre ma carte de ce matin? dit-il. Mon beau-père
étant mort, je désirerais ajouter quelques mots de condoléances pour ma
femme.
Il ne demandait pas une faveur extraordinaire, ce garçon. Monsieur le
Censeur eut un beau geste.
—Mais pas du tout, monsieur, dit-il. Dans des circonstances pareilles,
nous vous autorisons à écrire une carte supplémentaire. Allez écrire cette
carte, monsieur, et apportez-la. Elle partira tout de suite par le courrier de ce
soir, sans subir la retenue de dix jours, qui est de règle.
Le lieutenant remerciait. Le censeur protesta:
—C’est tout naturel, monsieur.
Seulement, trois mois plus tard, comme il était de nouveau en face de
monsieur le Censeur, le lieutenant vit sur la table sa carte supplémentaire,
qui n’était jamais partie.
Cependant, si monsieur le Censeur gagnait sur nous de nombreuses
parties, combien de coups d’épingle n’a-t-il pas reçus dans son amour-
propre! Et aussi combien de coups de couteau! Les lettres qu’on nous
adressait, toutes dépourvues de renseignements militaires, nous révélaient
pourtant bien des choses au nez de la censure. Dès le début de juillet 1916,
au moment de l’offensive franco-anglaise de la Somme conjuguée avec
l’offensive russe, l’enthousiasme des succès se devinait dans toutes les
enveloppes venues de France. Il y aurait un beau recueil à publier avec
toutes ces nouvelles spirituellement déguisées qui nous réjouissaient chaque