Description

Book Synopsis

Matthew Helmke has used Ubuntu since 2005. He has written about Linux for several magazines and websites, is a lead author of The Official Ubuntu Book, and has coauthored both A Practical Guide to Linux: Commands, Editors, and Shell Programming and The VMware Cookbook. In his day job, Matthew works for Gremlin (https://www.gremlin.com/) making the Internet more reliable. Matthew first used UNIX in 1987, while studying Lisp on a Vax at the university. He has run a business using only free and open source software, has consulted, and teaches as an adjunct professor for the University of Arizona. You can find out more about Matthew at https://www.linkedin.com/in/matthewhelmke/ or drop him a line with errata or suggestions at matthew@matthewhelmke.com.



Table of Contents

Introduction xxxi

PART I: GETTING STARTED Chapter 1 Installing Ubuntu and Post-Installation Configuration 1

Before You Begin the Installation 1

Researching Your Hardware Specifications 2

Installation Options 2

32-Bit Versus 64-Bit Ubuntu 4

Planning Partition Strategies 5

The Boot Loader 5

Installing from DVD or USB Drive 6

Step-by-Step Installation 6

Installing 7

First Update 11

Shutting Down 11

Finding Programs and Files 12

Software Updater 12

The sudo Command 14

Configuring Software Repositories 15

System Settings 17

Detecting and Configuring a Printer 18

Configuring Power Management in Ubuntu 18

Setting the Time and Date 19

Configuring Wireless Networks 20

Troubleshooting Post-Installation Configuration Problems 21

Chapter 2 Background Information and Resources 23

What Is Linux? 23

Why Use Linux? 25

What Is Ubuntu? 27

Ubuntu for Business 27

Ubuntu in Your Home 28

Getting the Most from Linux and Ubuntu Documentation 28

Linux 29

Ubuntu 30

PART II: DESKTOP UBUNTU Chapter 3 Foundations of the Linux GUI 31

Foundations and the X Server 31

Basic X Concepts 32

Using X 33

Elements of the xorg conf File 34

Starting X 39

Using a Display Manager 39

Changing Window Managers 39

Chapter 4 Ubuntu Desktop Options 41

Desktop Environment 41

Using GNOME: A Primer 42

KDE and Kubuntu 45

Xfce and Xubuntu 46

LXDE and Lubuntu 47

MATE and Ubuntu MATE 48

Ubuntu Budgie 49

Ubuntu Kylin 50

Chapter 5 On the Internet 51

Getting Started with Firefox 52

Checking Out Google Chrome and Chromium 53

Chapter 6 Productivity Applications 55

Introducing LibreOffice 56

Other Useful Productivity Software 58

Working with PDFs 58

Writing Scripts 59

Working with XML and DocBook 59

Working with LaTeX 60

Creating Mind Maps 61

Productivity Applications Written for Microsoft Windows 61

Chapter 7 Multimedia Applications 63

Sound and Music 63

Sound Cards 64

Sound Formats 65

Listening to Music 65

Graphics Manipulation 66

The GNU Image Manipulation Program 66

Using Scanners in Ubuntu 67

Working with Graphics Formats 67

Capturing Screen Images 69

Other Graphics Manipulation Options 70

Using Digital Cameras with Ubuntu 70

Handheld Digital Cameras 70

Using Shotwell Photo Manager 71

Burning CDs and DVDs in Ubuntu 71

Creating CDs and DVDs with Brasero 71

Creating CDs from the Command Line 72

Creating DVDs from the Command Line 73

Viewing Video 75

Video Formats 75

Viewing Video in Linux 76

Recording and Editing Audio 76

Editing Video 77

Chapter 8 Games 79

Ubuntu Gaming 79

Installing Proprietary Video Drivers 80

Online Game Sources 81

Steam 81

GOG com 82

Humble 82

itch io 82

LGDB 82

Game Jolt 82

Installing Games from the Ubuntu Repositories 82

Warsow 82

Scorched 3D 83

Frozen Bubble 84

SuperTux 84

Battle for Wesnoth 85

Frets on Fire 85

FlightGear 87

Speed Dreams 87

Games for Kids 88

Commercial Games 88

Playing Windows Games 88

PART III: SYSTEM ADMINISTRATION Chapter 9 Managing Software 91

Ubuntu Software 91

Using Synaptic for Software Management 92

Staying Up to Date 94

Working on the Command Line 95

Day-to-Day APT Usage 95

Finding Software 98

Using apt-get Instead of apt 99

Compiling Software from Source 100

Compiling from a Tarball 100

Compiling from Source from the Ubuntu Repositories 101

Configuration Management 102

dotdee 102

Ubuntu Core 103

Using the Snappy Package Manager 103

Chapter 10 Command-Line Beginner's Class 105

What Is the Command Line? 106

Accessing the Command Line 107

Text-Based Console Login 107

Logging Out 108

Logging In and Out from a Remote Computer 108

User Accounts 109

Reading Documentation 111

Using Man Pages 111

Using apropros 112

Using whereis 112

Understanding the Linux File System Hierarchy 112

Essential Commands in /bin and /sbin 114

Configuration Files in /etc 114

User Directories: /home 115

Using the Contents of the /proc Directory to Interact with or Obtain Information from the Kernel 115

Working with Shared Data in the /usr Directory 117

Temporary File Storage in the /tmp Directory 117

Accessing Variable Data Files in the /var Directory 117

Navigating the Linux File System 117

Listing the Contents of a Directory with ls 118

Changing Directories with cd 120

Finding Your Current Directory with pwd 120

Working with Permissions 120

Assigning Permissions 121

Directory Permissions 122

Altering File Permissions with chmod 123

File Permissions with umask 124

File Permissions with chgrp 125

Changing File Permissions with chown 125

Understanding Set User ID, Set Group ID, and Sticky Bit Permissions 125

Setting Permissions with Access Control Lists 127

Working with Files 128

Creating a File with touch 128

Creating a Directory with mkdir 129

Deleting a Directory with rmdir 129

Deleting a File or Directory with rm 130

Moving or Renaming a File with mv 131

Copying a File with cp 131

Displaying the Contents of a File with cat 132

Displaying the Contents of a File with less 132

Using Wildcards and Regular Expressions 133

Working as Root 133

Understanding and Fixing sudo 134

Creating Users 136

Deleting Users 137

Shutting Down the System 137

Rebooting the System 138

Commonly Used Commands and Programs 139

Chapter 11 Command-Line Master Class, Part 1 141

Why Use the Command Line? 142

Using Basic Commands 143

Printing the Contents of a File with cat 144

Changing Directories with cd 145

Changing File Access Permissions with chmod 147

Copying Files with cp 147

Printing Disk Usage with du 148

Using echo 148

Finding Files by Searching with find 149

Searches for a String in Input with grep 151

Paging Through Output with less 152

Creating Links Between Files with ln 154

Finding Files from an Index with locate 156

Listing Files in the Current Directory with ls 156

Listing System Information with lsblk, lshw, lsmod, lspci, and neofetch 158

Reading Manual Pages with man 159

Making Directories with mkdir 160

Moving Files with mv 161

Renaming Files with rename 161

Deleting Files and Directories with rm 161

Sorting the Contents of a File with sort 162

Printing the Last Lines of a File with tail 163

Printing the Location of a Command with which 164

Downloading Files with wget 164

Chapter 12 Command-Line Master Class, Part 2 167

Redirecting Output and Input 167

stdin, stdout, stderr, and Redirection 169

Comparing Files 170

Finding Differences in Files with diff 170

Finding Similarities in Files with comm 170

Limiting Resource Use and Job Control 171

Listing Processes with ps 171

Listing Jobs with jobs 173

Running One or More Tasks in the Background 173

Moving Jobs to the Background or Foreground with bg and fg 174

Printing Resource Usage with top 175

Setting Process Priority with nice 177

Combining Commands 178

Pipes 178

Combining Commands with Boolean Operators 180

Running Separate Commands in Sequence 180

Process Substitution 181

Executing Jobs in Parallel 181

Using Environment Variables 182

Using Common Text Editors 185

Working with nano 186

Working with vi 187

Working with emacs 188

Working with sed and awk 189

Working with Compressed Files 191

Using Multiple Terminals with byobu192

Doing a Polite System Reset Using REISUB 194

Fixing an Ubuntu System That Will Not Boot 195

Checking BIOS 195

Checking GRUB 195

Reinstalling GRUB 195

Using Recovery Mode 196

Reinstalling Ubuntu 196

Tips and Tricks 196

Running the Previous Command 196

Running Any Previous Command 197

Running a Previous Command That Started with Specific Letters 197

Running the Same Thing You Just Ran with a Different First Word 197

Viewing Your History and More 197

Doing Two or More Things 198

Using Shortcuts 198

Confining a Script to a Directory 198

Using Coreutils 199

Reading the Contents of the Kernel Ring Buffer with dmesg 200

Chapter 13 Managing Users 201

User Accounts 201

The Super User/Root User 202

User IDs and Group IDs 204

File Permissions 204

Managing Groups 205

Group Listing 205

Group Management Tools 206

Managing Users 207

User Management Tools 208

Adding New Users 209

Monitoring User Activity on the System 211

Managing Passwords 212

System Password Policy 212

The Password File 212

Shadow Passwords 214

Managing Password Security for Users 216

Changing Passwords in a Batch 216

Granting System Administrator Privileges to Regular Users 217

Temporarily Changing User Identity with the su Command 217

Granting Root Privileges on Occasion: The sudo Command 219

Disk Quotas 222

Implementing Quotas 222

Manually Configuring Quotas 223

Related Ubuntu Commands 223

Chapter 14 Automating Tasks and Shell Scripting 225

What Is a Shell? 225

Scheduling Tasks 226

Using at and batch to Schedule Tasks for Later 227

Using cron to Run Jobs Repeatedly 229

Using rtcwake to Wake Your Computer from Sleep Automatically 231

Basic Shell Control 233

The Shell Command Line 233

Shell Pattern-Matching Support 235

Redirecting Input and Output 236

Piping Data 237

Background Processing 237

Writing and Executing a Shell Script 237

Running the New Shell Program 239

Storing Shell Scripts for System-wide Access 240

Interpreting Shell Scripts Through Specific Shells 240

Using Variables in Shell Scripts 242

Assigning a Value to a Variable 242

Accessing Variable Values 243

Positional Parameters 243

A Simple Example of a Positional Parameter 243

Using Positional Parameters to Access and Retrieve Variables from the Command Line 244

Using a Simple Script to Automate Tasks 244

Built-in Variables 246

Special Characters 247

Comparison of Expressions in pdksh and bash 250

Comparing Expressions with tcsh 255

The for Statement 259

The while Statement 261

The until Statement 263

The repeat Statement (tcsh) 263

The select Statement (pdksh) 264

The shift Statement 264

The if Statement 265

The expr Statement 266

The case Statement 267

The break and exit Statements 269

Using Functions in Shell Scripts 269

Chapter 15 The Boot Process 271

Running Services at Boot 271

Beginning the Boot Loading Process 272

Loading the Linux Kernel 274

Starting and Stopping Services with systemd 275

Controlling Services at Boot with Administrative Tools 278

Troubleshooting Runlevel Problems 278

Boot-Repair 278

Chapter 16 System-Monitoring Tools 281

Console-Based Monitoring 281

Using the kill Command to Control Processes 283

Using Priority Scheduling and Control 285

Displaying Free and Used Memory with free 286

Disk Space 286

Disk Quotas 287

Checking Log Files 287

Rotating Log Files 289

Graphical Process- and System-Management Tools 292

System Monitor 292

Conky 292

Other Graphical Process- and System-Monitoring Tools 297

KDE Process- and System-Monitoring Tools 298

Enterprise Server Monitoring 298

Chapter 17 Backing Up 301

Choosing a Backup Strategy 301

Why Data Loss Occurs 302

Assessing Your Backup Needs and Resources 303

Evaluating Backup Strategies 304

Making the Choice 308

Choosing Backup Hardware and Media 308

External Hard Drive 308

Network Storage 308

Tape Drive Backups 309

Cloud Storage 309

Using Backup Software 309

tar: The Most Basic Backup Tool 310

The GNOME File Roller 312

The KDE ark Archiving Tool 312

Déjà Dup 313

Back In Time 314

Unison 315

Amanda 315

Alternative Backup Software 316

Copying Files 316

Copying Files Using tar 317

Compressing, Encrypting, and Sending tar Streams 318

Copying Files Using cp 318

Using rsync 319

Version Control for Configuration Files 320

System Rescue 323

The Ubuntu Rescue Disc 323

Restoring the GRUB2 Boot Loader 323

Saving Files from a Nonbooting Hard Drive 324

Chapter 18 Networking 325

Laying the Foundation: The localhost Interface 326

Checking for the Availability of the Loopback Interface 326

Configuring the Loopback Interface Manually 327

Checking Connections with ping, traceroute, and mtr 328

Networking with TCP/IP 330

TCP/IP Addressing 331

Using IP Masquerading in Ubuntu 332

Ports 333

IPv6 Basics 334

Network Organization 337

Subnetting 337

Subnet Masks 337

Broadcast, Unicast, and Multicast Addressing 338

Hardware Devices for Networking 338

Network Interface Cards 338

Network Cable 340

Hubs and Switches 342

Routers and Bridges 343

Initializing New Network Hardware 343

Using Network Configuration Tools 345

Command-Line Network Interface Configuration 346

Network Configuration Files 350

Using Graphical Configuration Tools 355

Dynamic Host Configuration Protocol 355

How DHCP Works 356

Activating DHCP at Installation and Boot Time 357

DHCP Software Installation and Configuration 358

Using DHCP to Configure Network Hosts 359

Other Uses for DHCP 361

Wireless Networking 361

Support for Wireless Networking in Ubuntu 361

Choosing from Among Available Wireless Protocols 363

Beyond the Network and onto the Internet 363

Common Configuration Information 364

Configuring Digital Subscriber Line Access 365

Understanding PPP over Ethernet 366

Configuring a PPPoE Connection Manually 366

Configuring Dial-up Internet Access 367

Troubleshooting Connection Problems 368

Chapter 19 Remote Access with SSH and VNC 371

Setting Up an SSH Server 371

SSH Tools 372

Using scp to Copy Individual Files Between Machines 372

Using sftp to Copy Many Files Between Machines 373

Using ssh-keygen to Enable Key-Based Logins 373

Virtual Network Computing 375

Guacamole 377

Chapter 20 Securing Your Machines 379

Understanding Computer Attacks 379

Assessing Your Vulnerability 381

Protecting Your Machine 382

Securing a Wireless Network 382

Passwords and Physical Security 383

Configuring and Using Tripwire 384

Securing Devices 385

Viruses 385

Configuring Your Firewall 386

AppArmor 388

Forming a Disaster Recovery Plan 390

Chapter 21 Performance Tuning 393

Storage Disk 394

Linux File Systems 394

The hdparm Command 395

File System Tuning 396

The tune2fs Command 396

The e2fsck Command 397

The badblocks Command 397

Disabling File Access Time 397

Kernel 398

Tuned 399

Chapter 22 Kernel and Module Management 401

The Linux Kernel 402

The Linux Source Tree 403

Types of Kernels 405

Managing Modules 406

When to Recompile 408

Kernel Versions 409

Obtaining the Kernel Sources 409

Patching the Kernel 410

Compiling the Kernel 412

Using xconfig to Configure the Kernel 414

Creating an Initial RAM Disk Image 418

When Something Goes Wrong 418

Errors During Compile 418

Runtime Errors, Boot Loader Problems, and Kernel Oops 419

PART IV: UBUNTU AS A SERVER Chapter 23 Sharing Files and Printers 421

Using Network File System 422

Installing and Starting or Stopping NFS 422

NFS Server Configuration 422

NFS Client Configuration 423

Putting Samba to Work 424

Manually Configuring Samba with /etc/samba/smb conf 426

Testing Samba with the testparm Command 429

Starting, Stopping, and Restarting the smbd Daemon 429

Mounting Samba Shares 430

Network and Remote Printing with Ubuntu 431

Creating Network Printers 431

Using the CUPS GUI 433

Avoiding Printer Support Problems 434

Chapter 24 Common Web Server Stacks 437

LAMP 437

LEMP 439

MEAN 440

Chapter 25 Apache Web Server Management 443

About the Apache Web Server 443

Installing the Apache Server 444

Starting and Stopping Apache 444

Runtime Server Configuration Settings 446

Runtime Configuration Directives 446

Editing apache2 conf 447

Apache Multiprocessing Modules 449

Using htaccess Configuration Files 450

File System Authentication and Access Control 452

Restricting Access with Require 452

Authentication 453

Final Words on Access Control 455

Apache Modules 455

mod_access 456

mod_alias 456

mod_asis 456

mod_auth 457

mod_auth_anon 457

mod_auth_dbm 457

mod_auth_digest 457

mod_autoindex4 58

mod_cgi 458

mod_dir and mod_env 458

mod_expires 458

mod_headers 458

mod_include 459

mod_info and mod_log_config 459

mod_mime and mod_mime_magic 459

mod_negotiation 459

mod_rewrite 459

mod_setenvif 460

mod_speling 460

mod_status 460

mod_ssl 460

mod_unique_id 460

Ubuntu Linux Unleashed 2021 Edition

Product form

£41.30

Includes FREE delivery

RRP £45.89 – you save £4.59 (10%)

Order before 4pm today for delivery by Mon 19 Jan 2026.

A Paperback / softback by Matthew Helmke

15 in stock


    View other formats and editions of Ubuntu Linux Unleashed 2021 Edition by Matthew Helmke

    Publisher: Pearson Education (US)
    Publication Date: 11/11/2020
    ISBN13: 9780136778851, 978-0136778851
    ISBN10: 0136778852

    Description

    Book Synopsis

    Matthew Helmke has used Ubuntu since 2005. He has written about Linux for several magazines and websites, is a lead author of The Official Ubuntu Book, and has coauthored both A Practical Guide to Linux: Commands, Editors, and Shell Programming and The VMware Cookbook. In his day job, Matthew works for Gremlin (https://www.gremlin.com/) making the Internet more reliable. Matthew first used UNIX in 1987, while studying Lisp on a Vax at the university. He has run a business using only free and open source software, has consulted, and teaches as an adjunct professor for the University of Arizona. You can find out more about Matthew at https://www.linkedin.com/in/matthewhelmke/ or drop him a line with errata or suggestions at matthew@matthewhelmke.com.



    Table of Contents

    Introduction xxxi

    PART I: GETTING STARTED Chapter 1 Installing Ubuntu and Post-Installation Configuration 1

    Before You Begin the Installation 1

    Researching Your Hardware Specifications 2

    Installation Options 2

    32-Bit Versus 64-Bit Ubuntu 4

    Planning Partition Strategies 5

    The Boot Loader 5

    Installing from DVD or USB Drive 6

    Step-by-Step Installation 6

    Installing 7

    First Update 11

    Shutting Down 11

    Finding Programs and Files 12

    Software Updater 12

    The sudo Command 14

    Configuring Software Repositories 15

    System Settings 17

    Detecting and Configuring a Printer 18

    Configuring Power Management in Ubuntu 18

    Setting the Time and Date 19

    Configuring Wireless Networks 20

    Troubleshooting Post-Installation Configuration Problems 21

    Chapter 2 Background Information and Resources 23

    What Is Linux? 23

    Why Use Linux? 25

    What Is Ubuntu? 27

    Ubuntu for Business 27

    Ubuntu in Your Home 28

    Getting the Most from Linux and Ubuntu Documentation 28

    Linux 29

    Ubuntu 30

    PART II: DESKTOP UBUNTU Chapter 3 Foundations of the Linux GUI 31

    Foundations and the X Server 31

    Basic X Concepts 32

    Using X 33

    Elements of the xorg conf File 34

    Starting X 39

    Using a Display Manager 39

    Changing Window Managers 39

    Chapter 4 Ubuntu Desktop Options 41

    Desktop Environment 41

    Using GNOME: A Primer 42

    KDE and Kubuntu 45

    Xfce and Xubuntu 46

    LXDE and Lubuntu 47

    MATE and Ubuntu MATE 48

    Ubuntu Budgie 49

    Ubuntu Kylin 50

    Chapter 5 On the Internet 51

    Getting Started with Firefox 52

    Checking Out Google Chrome and Chromium 53

    Chapter 6 Productivity Applications 55

    Introducing LibreOffice 56

    Other Useful Productivity Software 58

    Working with PDFs 58

    Writing Scripts 59

    Working with XML and DocBook 59

    Working with LaTeX 60

    Creating Mind Maps 61

    Productivity Applications Written for Microsoft Windows 61

    Chapter 7 Multimedia Applications 63

    Sound and Music 63

    Sound Cards 64

    Sound Formats 65

    Listening to Music 65

    Graphics Manipulation 66

    The GNU Image Manipulation Program 66

    Using Scanners in Ubuntu 67

    Working with Graphics Formats 67

    Capturing Screen Images 69

    Other Graphics Manipulation Options 70

    Using Digital Cameras with Ubuntu 70

    Handheld Digital Cameras 70

    Using Shotwell Photo Manager 71

    Burning CDs and DVDs in Ubuntu 71

    Creating CDs and DVDs with Brasero 71

    Creating CDs from the Command Line 72

    Creating DVDs from the Command Line 73

    Viewing Video 75

    Video Formats 75

    Viewing Video in Linux 76

    Recording and Editing Audio 76

    Editing Video 77

    Chapter 8 Games 79

    Ubuntu Gaming 79

    Installing Proprietary Video Drivers 80

    Online Game Sources 81

    Steam 81

    GOG com 82

    Humble 82

    itch io 82

    LGDB 82

    Game Jolt 82

    Installing Games from the Ubuntu Repositories 82

    Warsow 82

    Scorched 3D 83

    Frozen Bubble 84

    SuperTux 84

    Battle for Wesnoth 85

    Frets on Fire 85

    FlightGear 87

    Speed Dreams 87

    Games for Kids 88

    Commercial Games 88

    Playing Windows Games 88

    PART III: SYSTEM ADMINISTRATION Chapter 9 Managing Software 91

    Ubuntu Software 91

    Using Synaptic for Software Management 92

    Staying Up to Date 94

    Working on the Command Line 95

    Day-to-Day APT Usage 95

    Finding Software 98

    Using apt-get Instead of apt 99

    Compiling Software from Source 100

    Compiling from a Tarball 100

    Compiling from Source from the Ubuntu Repositories 101

    Configuration Management 102

    dotdee 102

    Ubuntu Core 103

    Using the Snappy Package Manager 103

    Chapter 10 Command-Line Beginner's Class 105

    What Is the Command Line? 106

    Accessing the Command Line 107

    Text-Based Console Login 107

    Logging Out 108

    Logging In and Out from a Remote Computer 108

    User Accounts 109

    Reading Documentation 111

    Using Man Pages 111

    Using apropros 112

    Using whereis 112

    Understanding the Linux File System Hierarchy 112

    Essential Commands in /bin and /sbin 114

    Configuration Files in /etc 114

    User Directories: /home 115

    Using the Contents of the /proc Directory to Interact with or Obtain Information from the Kernel 115

    Working with Shared Data in the /usr Directory 117

    Temporary File Storage in the /tmp Directory 117

    Accessing Variable Data Files in the /var Directory 117

    Navigating the Linux File System 117

    Listing the Contents of a Directory with ls 118

    Changing Directories with cd 120

    Finding Your Current Directory with pwd 120

    Working with Permissions 120

    Assigning Permissions 121

    Directory Permissions 122

    Altering File Permissions with chmod 123

    File Permissions with umask 124

    File Permissions with chgrp 125

    Changing File Permissions with chown 125

    Understanding Set User ID, Set Group ID, and Sticky Bit Permissions 125

    Setting Permissions with Access Control Lists 127

    Working with Files 128

    Creating a File with touch 128

    Creating a Directory with mkdir 129

    Deleting a Directory with rmdir 129

    Deleting a File or Directory with rm 130

    Moving or Renaming a File with mv 131

    Copying a File with cp 131

    Displaying the Contents of a File with cat 132

    Displaying the Contents of a File with less 132

    Using Wildcards and Regular Expressions 133

    Working as Root 133

    Understanding and Fixing sudo 134

    Creating Users 136

    Deleting Users 137

    Shutting Down the System 137

    Rebooting the System 138

    Commonly Used Commands and Programs 139

    Chapter 11 Command-Line Master Class, Part 1 141

    Why Use the Command Line? 142

    Using Basic Commands 143

    Printing the Contents of a File with cat 144

    Changing Directories with cd 145

    Changing File Access Permissions with chmod 147

    Copying Files with cp 147

    Printing Disk Usage with du 148

    Using echo 148

    Finding Files by Searching with find 149

    Searches for a String in Input with grep 151

    Paging Through Output with less 152

    Creating Links Between Files with ln 154

    Finding Files from an Index with locate 156

    Listing Files in the Current Directory with ls 156

    Listing System Information with lsblk, lshw, lsmod, lspci, and neofetch 158

    Reading Manual Pages with man 159

    Making Directories with mkdir 160

    Moving Files with mv 161

    Renaming Files with rename 161

    Deleting Files and Directories with rm 161

    Sorting the Contents of a File with sort 162

    Printing the Last Lines of a File with tail 163

    Printing the Location of a Command with which 164

    Downloading Files with wget 164

    Chapter 12 Command-Line Master Class, Part 2 167

    Redirecting Output and Input 167

    stdin, stdout, stderr, and Redirection 169

    Comparing Files 170

    Finding Differences in Files with diff 170

    Finding Similarities in Files with comm 170

    Limiting Resource Use and Job Control 171

    Listing Processes with ps 171

    Listing Jobs with jobs 173

    Running One or More Tasks in the Background 173

    Moving Jobs to the Background or Foreground with bg and fg 174

    Printing Resource Usage with top 175

    Setting Process Priority with nice 177

    Combining Commands 178

    Pipes 178

    Combining Commands with Boolean Operators 180

    Running Separate Commands in Sequence 180

    Process Substitution 181

    Executing Jobs in Parallel 181

    Using Environment Variables 182

    Using Common Text Editors 185

    Working with nano 186

    Working with vi 187

    Working with emacs 188

    Working with sed and awk 189

    Working with Compressed Files 191

    Using Multiple Terminals with byobu192

    Doing a Polite System Reset Using REISUB 194

    Fixing an Ubuntu System That Will Not Boot 195

    Checking BIOS 195

    Checking GRUB 195

    Reinstalling GRUB 195

    Using Recovery Mode 196

    Reinstalling Ubuntu 196

    Tips and Tricks 196

    Running the Previous Command 196

    Running Any Previous Command 197

    Running a Previous Command That Started with Specific Letters 197

    Running the Same Thing You Just Ran with a Different First Word 197

    Viewing Your History and More 197

    Doing Two or More Things 198

    Using Shortcuts 198

    Confining a Script to a Directory 198

    Using Coreutils 199

    Reading the Contents of the Kernel Ring Buffer with dmesg 200

    Chapter 13 Managing Users 201

    User Accounts 201

    The Super User/Root User 202

    User IDs and Group IDs 204

    File Permissions 204

    Managing Groups 205

    Group Listing 205

    Group Management Tools 206

    Managing Users 207

    User Management Tools 208

    Adding New Users 209

    Monitoring User Activity on the System 211

    Managing Passwords 212

    System Password Policy 212

    The Password File 212

    Shadow Passwords 214

    Managing Password Security for Users 216

    Changing Passwords in a Batch 216

    Granting System Administrator Privileges to Regular Users 217

    Temporarily Changing User Identity with the su Command 217

    Granting Root Privileges on Occasion: The sudo Command 219

    Disk Quotas 222

    Implementing Quotas 222

    Manually Configuring Quotas 223

    Related Ubuntu Commands 223

    Chapter 14 Automating Tasks and Shell Scripting 225

    What Is a Shell? 225

    Scheduling Tasks 226

    Using at and batch to Schedule Tasks for Later 227

    Using cron to Run Jobs Repeatedly 229

    Using rtcwake to Wake Your Computer from Sleep Automatically 231

    Basic Shell Control 233

    The Shell Command Line 233

    Shell Pattern-Matching Support 235

    Redirecting Input and Output 236

    Piping Data 237

    Background Processing 237

    Writing and Executing a Shell Script 237

    Running the New Shell Program 239

    Storing Shell Scripts for System-wide Access 240

    Interpreting Shell Scripts Through Specific Shells 240

    Using Variables in Shell Scripts 242

    Assigning a Value to a Variable 242

    Accessing Variable Values 243

    Positional Parameters 243

    A Simple Example of a Positional Parameter 243

    Using Positional Parameters to Access and Retrieve Variables from the Command Line 244

    Using a Simple Script to Automate Tasks 244

    Built-in Variables 246

    Special Characters 247

    Comparison of Expressions in pdksh and bash 250

    Comparing Expressions with tcsh 255

    The for Statement 259

    The while Statement 261

    The until Statement 263

    The repeat Statement (tcsh) 263

    The select Statement (pdksh) 264

    The shift Statement 264

    The if Statement 265

    The expr Statement 266

    The case Statement 267

    The break and exit Statements 269

    Using Functions in Shell Scripts 269

    Chapter 15 The Boot Process 271

    Running Services at Boot 271

    Beginning the Boot Loading Process 272

    Loading the Linux Kernel 274

    Starting and Stopping Services with systemd 275

    Controlling Services at Boot with Administrative Tools 278

    Troubleshooting Runlevel Problems 278

    Boot-Repair 278

    Chapter 16 System-Monitoring Tools 281

    Console-Based Monitoring 281

    Using the kill Command to Control Processes 283

    Using Priority Scheduling and Control 285

    Displaying Free and Used Memory with free 286

    Disk Space 286

    Disk Quotas 287

    Checking Log Files 287

    Rotating Log Files 289

    Graphical Process- and System-Management Tools 292

    System Monitor 292

    Conky 292

    Other Graphical Process- and System-Monitoring Tools 297

    KDE Process- and System-Monitoring Tools 298

    Enterprise Server Monitoring 298

    Chapter 17 Backing Up 301

    Choosing a Backup Strategy 301

    Why Data Loss Occurs 302

    Assessing Your Backup Needs and Resources 303

    Evaluating Backup Strategies 304

    Making the Choice 308

    Choosing Backup Hardware and Media 308

    External Hard Drive 308

    Network Storage 308

    Tape Drive Backups 309

    Cloud Storage 309

    Using Backup Software 309

    tar: The Most Basic Backup Tool 310

    The GNOME File Roller 312

    The KDE ark Archiving Tool 312

    Déjà Dup 313

    Back In Time 314

    Unison 315

    Amanda 315

    Alternative Backup Software 316

    Copying Files 316

    Copying Files Using tar 317

    Compressing, Encrypting, and Sending tar Streams 318

    Copying Files Using cp 318

    Using rsync 319

    Version Control for Configuration Files 320

    System Rescue 323

    The Ubuntu Rescue Disc 323

    Restoring the GRUB2 Boot Loader 323

    Saving Files from a Nonbooting Hard Drive 324

    Chapter 18 Networking 325

    Laying the Foundation: The localhost Interface 326

    Checking for the Availability of the Loopback Interface 326

    Configuring the Loopback Interface Manually 327

    Checking Connections with ping, traceroute, and mtr 328

    Networking with TCP/IP 330

    TCP/IP Addressing 331

    Using IP Masquerading in Ubuntu 332

    Ports 333

    IPv6 Basics 334

    Network Organization 337

    Subnetting 337

    Subnet Masks 337

    Broadcast, Unicast, and Multicast Addressing 338

    Hardware Devices for Networking 338

    Network Interface Cards 338

    Network Cable 340

    Hubs and Switches 342

    Routers and Bridges 343

    Initializing New Network Hardware 343

    Using Network Configuration Tools 345

    Command-Line Network Interface Configuration 346

    Network Configuration Files 350

    Using Graphical Configuration Tools 355

    Dynamic Host Configuration Protocol 355

    How DHCP Works 356

    Activating DHCP at Installation and Boot Time 357

    DHCP Software Installation and Configuration 358

    Using DHCP to Configure Network Hosts 359

    Other Uses for DHCP 361

    Wireless Networking 361

    Support for Wireless Networking in Ubuntu 361

    Choosing from Among Available Wireless Protocols 363

    Beyond the Network and onto the Internet 363

    Common Configuration Information 364

    Configuring Digital Subscriber Line Access 365

    Understanding PPP over Ethernet 366

    Configuring a PPPoE Connection Manually 366

    Configuring Dial-up Internet Access 367

    Troubleshooting Connection Problems 368

    Chapter 19 Remote Access with SSH and VNC 371

    Setting Up an SSH Server 371

    SSH Tools 372

    Using scp to Copy Individual Files Between Machines 372

    Using sftp to Copy Many Files Between Machines 373

    Using ssh-keygen to Enable Key-Based Logins 373

    Virtual Network Computing 375

    Guacamole 377

    Chapter 20 Securing Your Machines 379

    Understanding Computer Attacks 379

    Assessing Your Vulnerability 381

    Protecting Your Machine 382

    Securing a Wireless Network 382

    Passwords and Physical Security 383

    Configuring and Using Tripwire 384

    Securing Devices 385

    Viruses 385

    Configuring Your Firewall 386

    AppArmor 388

    Forming a Disaster Recovery Plan 390

    Chapter 21 Performance Tuning 393

    Storage Disk 394

    Linux File Systems 394

    The hdparm Command 395

    File System Tuning 396

    The tune2fs Command 396

    The e2fsck Command 397

    The badblocks Command 397

    Disabling File Access Time 397

    Kernel 398

    Tuned 399

    Chapter 22 Kernel and Module Management 401

    The Linux Kernel 402

    The Linux Source Tree 403

    Types of Kernels 405

    Managing Modules 406

    When to Recompile 408

    Kernel Versions 409

    Obtaining the Kernel Sources 409

    Patching the Kernel 410

    Compiling the Kernel 412

    Using xconfig to Configure the Kernel 414

    Creating an Initial RAM Disk Image 418

    When Something Goes Wrong 418

    Errors During Compile 418

    Runtime Errors, Boot Loader Problems, and Kernel Oops 419

    PART IV: UBUNTU AS A SERVER Chapter 23 Sharing Files and Printers 421

    Using Network File System 422

    Installing and Starting or Stopping NFS 422

    NFS Server Configuration 422

    NFS Client Configuration 423

    Putting Samba to Work 424

    Manually Configuring Samba with /etc/samba/smb conf 426

    Testing Samba with the testparm Command 429

    Starting, Stopping, and Restarting the smbd Daemon 429

    Mounting Samba Shares 430

    Network and Remote Printing with Ubuntu 431

    Creating Network Printers 431

    Using the CUPS GUI 433

    Avoiding Printer Support Problems 434

    Chapter 24 Common Web Server Stacks 437

    LAMP 437

    LEMP 439

    MEAN 440

    Chapter 25 Apache Web Server Management 443

    About the Apache Web Server 443

    Installing the Apache Server 444

    Starting and Stopping Apache 444

    Runtime Server Configuration Settings 446

    Runtime Configuration Directives 446

    Editing apache2 conf 447

    Apache Multiprocessing Modules 449

    Using htaccess Configuration Files 450

    File System Authentication and Access Control 452

    Restricting Access with Require 452

    Authentication 453

    Final Words on Access Control 455

    Apache Modules 455

    mod_access 456

    mod_alias 456

    mod_asis 456

    mod_auth 457

    mod_auth_anon 457

    mod_auth_dbm 457

    mod_auth_digest 457

    mod_autoindex4 58

    mod_cgi 458

    mod_dir and mod_env 458

    mod_expires 458

    mod_headers 458

    mod_include 459

    mod_info and mod_log_config 459

    mod_mime and mod_mime_magic 459

    mod_negotiation 459

    mod_rewrite 459

    mod_setenvif 460

    mod_speling 460

    mod_status 460

    mod_ssl 460

    mod_unique_id 460

    Recently viewed products

    © 2026 Book Curl

      • American Express
      • Apple Pay
      • Diners Club
      • Discover
      • Google Pay
      • Maestro
      • Mastercard
      • PayPal
      • Shop Pay
      • Union Pay
      • Visa

      Login

      Forgot your password?

      Don't have an account yet?
      Create account