CompTIA Linux+ Certification All-in-One Exam Guide, 2nd Edition PDF by Ted Jordan and Sandor Strohmayer

By

CompTIA Linux+ Certification All-in-One Exam Guide, Second Edition (Exam XK0-005)

By Ted Jordan and Sandor Strohmayer

CompTIA Linux+ Certification All-in-One Exam Guide, 2nd Edition

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

Working in Command-Line Mode . . . . . . . . . . . . . . . . . . . . 59

Exercise 2-1: Using the vi Editor . . . . . . . . . . . . . . . . . . . . 61

Editing Text Files in nano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

Command Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

Configuration Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

Chapter Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

Chapter 3 Working with the Linux Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71

What Is a Shell? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

Configuring the Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

The Life of a Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

Managing Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

Configuring Aliases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

Setting Up the Local Environment . . . . . . . . . . . . . . . . . . . . . . . . . 76

Locale Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

Character Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

An ASCII Primer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

A Unicode Primer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

Setting Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

The date Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

The /usr/share/zoneinfo/ and /etc/localtime Files . . . . . . . . . . . . . . . . . . . . . 80

The hwclock Command . . . . . . . . . . . . . . . . . . . . . . . . . . 81

The timedatectl Command . . . . . . . . . . . . . . . . . . . . . 81

Bash Configuration Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

Login Script Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

The source Command . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

Exercise 3-1: Working with Variables, Parameters, and Aliases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

Redirection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

File Descriptors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

Redirect stdin with < . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

Redirect stdout with > and >> . . . . . . . . . . . . . . . . . . . . . . . 88

Redirect stderr with 2> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

Combining stdout and stderr . . . . . . . . . . . . . . . . . . . . . . . . . 90

Send Data to a Command Using a Pipe . . . . . . . . . . . . . . . . . 90

Exercise 3-2: Redirection Hands-on Project . . . . . . . . . . . . . 91

Chapter Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

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

Chapter Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155

Chapter 6 Managing Ownership and Permissions . . . . . . . . . . . . . . . . . . . . . . . .159

Managing File Ownership . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

Viewing Default File Permissions and Ownership . . . . . . . . . 160

Managing Ownership from the Command Line . . . . . . . . . . 161

Exercise 6-1: Managing Ownership . . . . . . . . . . . . . . . . . . . 162

Managing File and Directory Permissions . . . . . . . . . . . . . . . . . . . . 163

How Permissions Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

Managing Permissions from the Command Line . . . . . . . . . . 165

Exercise 6-2: Managing Permissions . . . . . . . . . . . . . . . . . . . 168

Working with Default Permissions . . . . . . . . . . . . . . . . . . . . 169

Working with Special Permissions . . . . . . . . . . . . . . . . . . . . . 171

Exercise 6-3: Managing Default and Special Permissions . . . 173

Configuring File Attributes and Access Control Lists . . . . . . . . . . . 174

File Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

File Access Control Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

Chapter Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176

Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180

Chapter 7 Managing Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181

An Overview of Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181

The Master Boot Record . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182

The GUID Partition Table . . . . . . . . . . . . . . . . . . . . . . . . . . 183

The Device Naming Conventions . . . . . . . . . . . . . . . . . . . . . 184

Viewing Disk Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

Creating Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188

Partition Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188

fdisk Partitioning Utility . . . . . . . . . . . . . . . . . . . . . . . . . . 189

parted Partitioning Utility . . . . . . . . . . . . . . . . . . . . . . . . . 192

gdisk Partitioning Utility . . . . . . . . . . . . . . . . . . . . . . . . . . 194

Block Device Encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

Creating Filesystems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196

Available Filesystems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

Building a Filesystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

Mounting a Filesystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

Mounting Filesystems Automatically at Boot . . . . . . . . . . . . . 204

Unmounting a Partition with umount . . . . . . . . . . . . . . . . . 206

Managing Linux Filesystems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207

Using df to Verify Free Disk Space . . . . . . . . . . . . . . . . . . . . 207

Using du to Verify Directory Usage . . . . . . . . . . . . . . . . . . . . 208

Reporting Filesystem Status Using dumpe2fs . . . . . . . . . . . 209

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

Exercise 9-2: Scheduling Linux Processes . . . . . . . . . . . . . . . 277

Using systemd timers . . . . . . . . . . . . . . . . . . . . . . . . . 278

Chapter Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282

Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284

Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287

Chapter 10 Managing Linux Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .289

Using a Package Manager to Install Applications . . . . . . . . . . . . . . . 289

Installing Applications on Red Hat with RPM . . . . . . . . . . . . . . . . 290

RPM Package Naming Conventions . . . . . . . . . . . . . . . . . . . 291

RPM Command Options . . . . . . . . . . . . . . . . . . . . . . . . . . . 292

RPM Application Installation . . . . . . . . . . . . . . . . . . . . . . . . 292

RPM Application Upgrades . . . . . . . . . . . . . . . . . . . . . . . . . . 293

RPM Application Removal . . . . . . . . . . . . . . . . . . . . . . . . . . 294

RPM Application Verification . . . . . . . . . . . . . . . . . . . . . . . . 294

RPM Database Querying . . . . . . . . . . . . . . . . . . . . . . . . . . . 296

RPM Conversion to CPIO . . . . . . . . . . . . . . . . . . . . . . . . . . 296

Exercise 10-1: Practicing Package Manipulation with RPM . . . .297

Installing RPMs with YUM, DNF, and ZYpp . . . . . . . . . . . . . . . . . 298

The YUM Package Manager . . . . . . . . . . . . . . . . . . . . . . . . . 298

Exercise 10-2: Practicing Package Manipulation with YUM . . . 303

The DNF Package Manager . . . . . . . . . . . . . . . . . . . . . . . . . 303

The ZYpp Package Manager . . . . . . . . . . . . . . . . . . . . . . . . . 304

Installing Applications on Debian with dpkg . . . . . . . . . . . . . . . . . 306

Debian Package Naming Conventions . . . . . . . . . . . . . . . . . . 306

Managing Applications with dpkg . . . . . . . . . . . . . . . . . . . . 307

Viewing Application Information with apt-cache . . . . . . 308

Installing Applications on Debian with APT . . . . . . . . . . . . . . . . . . 309

Troubleshooting an Application Crash . . . . . . . . . . . . . . . . . . 309

Using Universal Linux App Stores . . . . . . . . . . . . . . . . . . . . . . . . . . 310

Snap Fundamentals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310

Flatpak Fundamentals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311

AppImage Fundamentals . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311

Installing Applications from Source Code . . . . . . . . . . . . . . . . . . . . 313

Preparing the Installation Files . . . . . . . . . . . . . . . . . . . . . . . . 313

Compiling the Executable . . . . . . . . . . . . . . . . . . . . . . . . . . . 315

Installing the Executable . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316

Exercise 10-3: Building Software from Source Code . . . . . . . 316

Uninstalling Software Compiled from Source Code . . . . . . . 317

Managing Shared Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318

How Shared Libraries Work . . . . . . . . . . . . . . . . . . . . . . . . . . 318

Managing Shared Library Dependencies . . . . . . . . . . . . . . . . 319

Exercise 10-4: Working with Shared Libraries . . . . . . . . . . . . 321

Chapter Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321

Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324

Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329

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

SATA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386

Optical Drives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386

Solid State Drives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386

USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387

hdparm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387

lsscsi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388

Printing in Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388

Adding Printers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389

Printing to a Printer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391

Managing Printers and Print Queues . . . . . . . . . . . . . . . . . . . 392

Canceling Print Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393

lpmove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394

Removing a Printer or Printer Class . . . . . . . . . . . . . . . . . . . . 394

Exercise 12-3: Printing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395

Chapter Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396

Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397

Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399

Chapter 13 Writing Shell Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .401

Advanced Shell Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401

Globbing Wildcard Characters . . . . . . . . . . . . . . . . . . . . . . . 402

Sequencing Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403

Command Substitution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404

Understanding Shell Script Components . . . . . . . . . . . . . . . . . . . . 404

Defining the Interpreter with #! . . . . . . . . . . . . . . . . . . . . . . 404

Commenting with # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405

Defining Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405

Reading User Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406

Using Positional Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . 407

Using Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408

Using Control Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408

Expression Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408

Testing with Conditionals . . . . . . . . . . . . . . . . . . . . . . . . . . . 411

Using Looping Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . 414

Exercise 13-1: Creating a Basic Shell Script . . . . . . . . . . . . . 416

Processing Text Streams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417

The tr Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418

The cut Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419

The nl Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419

The od Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421

The sed Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422

The awk Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426

The sort Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429

The split Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430

The head Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430

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

Logging In to SSH Without a Password . . . . . . . . . . . . . . . . 490

Exercise 15-2: Configuring Public Key Authentication . . . . . 493

Virtual Private Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494

Configuring High-Availability Networking . . . . . . . . . . . . . . . . . . . 497

Network Bridge Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498

Network Bonding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498

Understanding Single Sign-On . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499

RADIUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500

LDAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500

Kerberos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500

TACACS+ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501

Defending Against Network Attacks . . . . . . . . . . . . . . . . . . . . . . . . 501

Mitigating Network Vulnerabilities . . . . . . . . . . . . . . . . . . . . 502

Implementing a Firewall with firewalld . . . . . . . . . . . . . 504

Exercise 15-3: Implementing Network Security Measures with firewalld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509

Implementing a Firewall with iptables . . . . . . . . . . . . . . 509

Exercise 15-4: Implementing Network Security Measures with iptables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512

Encrypting Files with GPG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513

How GPG Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514

Using GPG to Encrypt Files . . . . . . . . . . . . . . . . . . . . . . . . . 514

Using GPG to Revoke Keys . . . . . . . . . . . . . . . . . . . . . . . . . . 518

Exercise 15-5: Using GPG to Encrypt Files . . . . . . . . . . . . . 520

Chapter Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522

Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524

Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526

Chapter 16 Securing Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .527

Securing the System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527

Securing the Physical Environment . . . . . . . . . . . . . . . . . . . . 527

Securing Access to the Operating System . . . . . . . . . . . . . . . . 528

Controlling User Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530

To Root or Not to Root? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530

Implementing a Strong Password Policy . . . . . . . . . . . . . . . . 534

Locking Accounts After Failed Authentications . . . . . . . . . . . 536

Configuring User Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538

Disabling User Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540

Security Auditing Using find . . . . . . . . . . . . . . . . . . . . . . . 542

Exercise 16-1: Managing User Access . . . . . . . . . . . . . . . . . . 544

Managing System Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545

Configuring Log Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545

Using Log Files to Troubleshoot Problems . . . . . . . . . . . . . . . 552

Using Log Files to Detect Intruders . . . . . . . . . . . . . . . . . . . . 555

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

Chapter 19 Troubleshooting and Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . .607

A Standardized Troubleshooting Model . . . . . . . . . . . . . . . . . . . . . . 607

Troubleshooting Computer Problems . . . . . . . . . . . . . . . . . . . . . . . 608

Verify Hardware Configuration . . . . . . . . . . . . . . . . . . . . . . . 608

Verify CPU Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610

Verify Memory Performance . . . . . . . . . . . . . . . . . . . . . . . . . 611

Exercise 19-1: Working with Swap Space . . . . . . . . . . . . . . . 614

Validate Storage Performance . . . . . . . . . . . . . . . . . . . . . . . . . 614

Validate Other Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617

Troubleshooting Network Problems . . . . . . . . . . . . . . . . . . . . . . . . 620

Verify Network Performance . . . . . . . . . . . . . . . . . . . . . . . . . 621

Validate User Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . 626

Validate the Firewall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 627

Exercise 19-2: Troubleshooting Networking Issues . . . . . . . . 628

Chapter Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629

Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631

Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632

Chapter 20 Installing and Configuring Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .635

Designing a Linux Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636

Conducting a Needs Assessment . . . . . . . . . . . . . . . . . . . . . . 636

Selecting a Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637

Checking Hardware Compatibility . . . . . . . . . . . . . . . . . . . . 638

Verifying System Requirements . . . . . . . . . . . . . . . . . . . . . . . 638

Planning the Filesystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639

Selecting Software Packages . . . . . . . . . . . . . . . . . . . . . . . . . . 641

Identifying User Accounts . . . . . . . . . . . . . . . . . . . . . . . . . . . 642

Gathering Network Information . . . . . . . . . . . . . . . . . . . . . . 643

Selecting an Installation Source . . . . . . . . . . . . . . . . . . . . . . . 643

Installing Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646

Exercise 20-1: Installing a Linux System . . . . . . . . . . . . . . . . 646

Configuring the X Window System . . . . . . . . . . . . . . . . . . . . . . . . 649

Configuring the X Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650

Configuring the Display Manager . . . . . . . . . . . . . . . . . . . . . 653

Configuring Accessibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654

Configuring Locale Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656

Configuring Time Zone Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . 657

Configuring Printing with CUPS . . . . . . . . . . . . . . . . . . . . . . . . . . 658

Configuring CUPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658

Configuring E-mail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661

Configuring SQL Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663

Configuring Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664

GUID Partition Table Components . . . . . . . . . . . . . . . . . . . 664

IDE Drives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666

Locating a Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666

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

This book is US$10
To get free sample pages OR Buy this book


Share this Book!

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.