Ubuntu Linux Unleashed 2021 Edition

Ubuntu Linux Unleashed 2021 Edition

$59.99

SKU: 9780136778851
Quantity Discount
5 + $44.99

Description

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.

  • Coverage of the latest technological advancements in Ubuntu, such as cloud, security, and Kubernetes
  • Focuses on the most important technological features in Ubuntu for intermediate and advanced users
  • Features detailed information on the latest developments in and improvements to Ubuntu Linux
  • Bonus material includes a DVD with a full Ubuntu Linux distribution
  • Will include timely web chapters on 20.10 and 21.04 Ubuntu release

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

Best-selling Ubuntu book for power users of Ubuntu—fully updated

  • Coverage of the latest technological advancements in Ubuntu, such as cloud, security, and Kubernetes
  • Focuses on the most important technological features in Ubuntu for intermediate and advanced users
  • Will include timely web chapters on 20.10 and 21.04 Ubuntu releases
Ubuntu Unleashed 2021 Edition is filled with unique and advanced information for everyone who wants to make the most of the Ubuntu Linux operating system, including the latest in Ubuntu mobile development. This new edition has been thoroughly updated by a long-time Ubuntu community leader to reflect the exciting new Ubuntu 20.04 and the forthcoming Ubuntu 20.10 and 21.04. Helmke presents up-to-the-minute introductions to Ubuntu’s key productivity and Web development tools, programming languages, hardware support, and more.  
 
Former Ubuntu Forum administrator Matthew Helmke covers all you need to know about Ubuntu 20.04 installation, configuration, productivity, multimedia, development, system administration, server operations, networking, virtualization, security, DevOps, and more – including intermediate-to-advanced techniques you won’t find in any other book. 
You’ll find new or improved coverage of Ubuntu’s Unity interface, various types of servers, software repositories, database options, virtualization and cloud services, development tools, monitoring, troubleshooting, Ubuntu’s push into mobile and other touch screen devices, and much more.

Covers 20.04, 20.10, and 21.04

Ubuntu Linux Unleashed 2021 Edition is filled with unique and advanced information for everyone who wants to make the most of the Ubuntu Linux operating system. This new edition has been thoroughly updated by a long-time Ubuntu user and early community leader to reflect the exciting new Ubuntu 20.04 LTS release, with a forthcoming online update mid-2021, at the halfway mark before the next LTS release comes out.

Linux writer Matthew Helmke covers all you need to know about Ubuntu 20.04 LTS installation, configuration, productivity, command-line usage, development, systems administration, server operations, networking, virtualization, cloud computing, DevOps, and more—including intermediate-to-advanced techniques you won’t find in any other book.

Helmke presents up-to-the-minute introductions to Ubuntu’s key productivity and web development tools, programming languages, hardware support, and more. You will find new or improved coverage of the Ubuntu desktop experience, common web servers and software stacks, an introduction to containers like Docker and Kubernetes, as well as a wealth of systems administration information that is stable and valuable over many years.

  • Configure and use the Ubuntu desktop
  • Get started with multimedia and productivity applications
  • Manage Linux services, users, and software packages
  • Administer and run Ubuntu from the command line
  • Automate tasks and use shell scripting
  • Provide secure remote access and configure a secure VPN
  • Manage kernels and modules
  • Administer file, print, email, proxy, LDAP, DNS, and HTTP servers (Apache, Nginx, or alternatives)
  • Work with databases (SQL) and learn about NoSQL alternatives
  • Get started with virtualization and cloud deployment, including information about containers
  • Learn about options for managing large numbers of servers, including in the cloud
  • Learn the basics about popular programming languages including Python, PHP, Perl, and gain an introduction to new alternatives such as Go and Rust

Additional information

Dimensions 1.60 × 6.90 × 9.10 in
Series

Imprint

Format

ISBN-13

ISBN-10

Author

BISAC

Subjects

systems administration, Kubernetes, ubuntu network, chrome ubuntu, linux os, ubuntu gnome, ubuntu terminal, ubuntu windows, install ubuntu, what is ubuntu, linux expert, professional, linux programming, devops, linux server, ubuntu, H-05 SAMS, IT Professional, Employability, COM088000, docker, higher education