Home > Store

Ubuntu Unleashed 2019 Edition: Covering 18.04, 18.10, 19.04, 13th Edition

Register your product to gain access to bonus material or receive a coupon.

Ubuntu Unleashed 2019 Edition: Covering 18.04, 18.10, 19.04, 13th Edition

Best Value Purchase

Book + eBook Bundle

  • Your Price: $64.79
  • List Price: $107.98
  • Includes EPUB, MOBI, and PDF
  • About eBook Formats
  • This eBook includes the following formats, accessible from your Account page after purchase:

    ePub EPUB The open industry format known for its reflowable content and usability on supported mobile devices.

    MOBI MOBI The eBook format compatible with the Amazon Kindle and Amazon Kindle applications.

    Adobe Reader PDF The popular standard, used most often with the free Adobe® Reader® software.

    This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.

More Purchase Options


  • Your Price: $47.99
  • List Price: $59.99
  • Usually ships in 24 hours.

eBook (Watermarked)

  • Your Price: $38.39
  • List Price: $47.99
  • Includes EPUB, MOBI, and PDF
  • About eBook Formats
  • This eBook includes the following formats, accessible from your Account page after purchase:

    ePub EPUB The open industry format known for its reflowable content and usability on supported mobile devices.

    MOBI MOBI The eBook format compatible with the Amazon Kindle and Amazon Kindle applications.

    Adobe Reader PDF The popular standard, used most often with the free Adobe® Reader® software.

    This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.



  • The book is thoroughly revised to cover the most recent release
  • New to this edition is coverage of new emphases in Ubuntu development by expanding coverage of the snap format for packaging and its focus on cloud and IoT use cases; the change from the now-abandoned Unity desktop to GNOME3, including Ubuntu's modifications
  • Includes detailed information on the latest developments in and improvements to Ubuntu Linux
  • Includes a DVD with a full Ubuntu Linux distribution  
  • Will include timely web chapters on 18.04, 18.10, 19.04 Ubuntu releases


  • Copyright 2019
  • Dimensions: 7" x 9-1/8"
  • Pages: 800
  • Edition: 13th
  • Book
  • ISBN-10: 0-13-498546-X
  • ISBN-13: 978-0-13-498546-6

Covers 18.04, 18.10, 19.04, and 19.10

Ubuntu Unleashed 2019 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, including two new chapters, by a long-time Ubuntu community leader to reflect the exciting new Ubuntu 18.04 LTS release, with forthcoming online updates for 18.10, 19.04, and 19.10 when they are released.

Linux writer Matthew Helmke covers all you need to know about Ubuntu 18.04 LTS 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.

Helmke presents up-to-the-minute introductions to Ubuntu’s key productivity and web development tools, programming languages, hardware support, and more. You’ll find new or improved coverage of the Ubuntu desktop experience, common web servers and software stacks, 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, including LibreOffice
  • 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)
  • Learn about new options for managing large numbers of servers
  • Work with databases (both SQL and the newest NoSQL alternatives)
  • Get started with virtualization and cloud deployment, including information about containers
  • Learn the basics about popular programming languages including Python, PHP, Perl, and gain an introduction to new alternatives such as Go and Rust



Bonus Chapters 46-48 (277 KB .pdf)

Bonus Chapter: Updates in Ubuntu 18.10 (153 KB .pdf)

Bonus Chapter: Updates in Ubuntu 19.04 (147 KB .pdf)

Sample Content

Online Sample Chapter

Linux Command-Line for Beginners


How to Access the Linux Command Line in Ubuntu

Table of Contents

Introduction     xxxi
Licensing     xxxii
Who This Book Is For     xxxiii
Those Wanting to Become Intermediate or Advanced Users    xxxiii
Sysadmins, Programmers, and DevOps    xxxiv
What This Book Contains    xxxv

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
Shutting Down     11
Finding Programs and Files     12
Software Updater     12
The sudo Command     14
Configuring Software Repositories     15
System Settings     18
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     29
Getting the Most from Ubuntu and Linux Documentation     29
Ubuntu Developers and Documentation     30
Websites and Search Engines     31
Mailing Lists     34
Internet Relay Chat     36

Chapter 3  Working with GNOME     37

Foundations and the X Server     37
Using GNOME: A Primer     46
Chapter 4  On the Internet     51
Getting Started with Firefox     51
Checking Out Google Chrome and Chromium     53
Choosing an Email Client     54
Internet Relay Chat     57
Usenet Newsgroups     59
Chapter 5  Productivity Applications     63
Introducing LibreOffice     64
Other Useful Productivity Software     66
Working with PDFs     66
Working with XML and DocBook     67
Working with LaTeX     68
Productivity Applications Written for Microsoft Windows     68
Chapter 6  Multimedia Applications     71
Sound and Music     71
Graphics Manipulation     76
Using Digital Cameras with Ubuntu     80
Burning CDs and DVDs in Ubuntu     80
Viewing Video     85
Chapter 7  Other Ubuntu Interfaces     89
Desktop Environment     89
KDE and Kubuntu     90
Xfce and Xubuntu     92
LXDE and Lubuntu     93
MATE and Ubuntu MATE     94
Ubuntu Budgie     94
Ubuntu Kylin     95
Chapter 8  Games     97
Ubuntu Gaming     97
Installing Proprietary Video Drivers     98
Online Game Sources     99
Installing Games in Ubuntu     100
Games for Kids     105
Commercial Games     105
Playing Windows Games     106

Chapter 9  Managing Software     109

Ubuntu Software     109
Using Synaptic for Software Management     110
Staying Up-to-Date     113
Working on the Command Line     114
Compiling Software from Source     119
Configuration Management     121
Ubuntu Core     121
Using Snaps     122
Chapter 10  Command-Line Beginner’s Class     123
What Is the Command Line?     124
Accessing the Command Line     125
Logging In and Out from a Remote Computer     127
User Accounts     128
Reading Documentation     129
Using Man Pages     130
Using apropros     130
Using whereis     131
Understanding the Linux File System Hierarchy     131
Navigating the Linux File System     136
Working with Permissions     139
Working with Files     146
Working as Root     151
Understanding and Fixing sudo     152
Creating Users     154
Deleting Users     155
Shutting Down the System     155
Rebooting the System     157
Commonly Used Commands and Programs     157
Chapter 11  Command-Line Master Class, Part 1     159
Why Use the Command Line?     160
Using Basic Commands     161
Printing the Contents of a File with cat     162
Changing Directories with cd     163
Changing File Access Permissions with chmod     165
Copying Files with cp     165
Printing Disk Usage with du     166
Using echo     167
Finding Files by Searching with find     167
Searches for a String in Input with grep     170
Paging Through Output with less     171
Creating Links Between Files with ln     173
Finding Files from an Index with locate     174
Listing Files in the Current Directory with ls     175
Listing System Information with lsblk, lshw, lsmod, lspci, and neofetch     176
Reading Manual Pages with man     177
Making Directories with mkdir     178
Moving Files with mv     178
Deleting Files and Directories with rm     179
Sorting the Contents of a File with sort     180
Printing the Last Lines of a File with tail     181
Printing the Location of a Command with which     182
Downloading Files with wget     182
Chapter 12  Command-Line Master Class, Part 2     183
Redirecting Output and Input     183
stdin, stdout, stderr, and Redirection     185
Comparing Files     186
Limiting Resource Use and Job Control     187
Combining Commands     194
Executing Jobs in Parallel     197
Using Environment Variables     198
Using Common Text Editors     201
Working with Compressed Files     207
Using Multiple Terminals with byobu     208
Doing a Polite System Reset Using REISUB     210
Fixing an Ubuntu System that Will Not Boot     211
Tips and Tricks     212
Running the Previous Command     213
Running Any Previous Command     213
Running a Previous Command that Started with Specific Letters     213
Running the Same Thing You Just Ran with a Different First Word     213
Viewing Your History and More     214
Doing Two or More Things     214
Using Shortcuts     214
Confining a Script to a Directory     214
Using Coreutils     215
Reading the Contents of the Kernel Ring Buffer with dmesg     216
Chapter 13  Managing Users     217
User Accounts     217
Managing Groups     221
Managing Users     223
Managing Passwords     229
Granting System Administrator Privileges to Regular Users     234
Disk Quotas     239
Related Ubuntu Commands     241
Chapter 14  Automating Tasks and Shell Scripting     243
Scheduling Tasks     243
Basic Shell Control     250
Writing and Executing a Shell Script     255
Running the New Shell Program     256
Storing Shell Scripts for System-wide Access     257
Interpreting Shell Scripts Through Specific Shells     258
Assigning a Value to a Variable     259
Accessing Variable Values     260
Positional Parameters     260
A Simple Example of a Positional Parameter     260
Using Positional Parameters to Access and Retrieve Variables from the Command Line     261
Using a Simple Script to Automate Tasks     262
Built-in Variables     264
Special Characters     264
Comparison of Expressions in pdksh and bash     267
Comparing Expressions with tcsh     273
The for Statement     277
The while Statement     278
The until Statement     280
The repeat Statement (tcsh)     281
The select Statement (pdksh)     281
The shift Statement     282
The if Statement     282
The expr Statement     283
The case Statement     284
The break and exit Statements     286
Using Functions in Shell Scripts     286
Chapter 15  The Boot Process     289
Running Services at Boot     289
Beginning the Boot Loading Process     290
Troubleshooting Runlevel Problems     296
Starting and Stopping Services Manually     296
Using Upstart     297
Using systemd     298
Boot-Repair     299
Chapter 16  System-Monitoring Tools     301
Console-Based Monitoring     301
Using the kill Command to Control Processes     303
Using Priority Scheduling and Control     305
Displaying Free and Used Memory with free     306
Disk Space     306
Disk Quotas     307
Checking Log Files     307
Rotating Log Files     309
Graphical Process- and System-Management Tools     312
KDE Process- and System-Monitoring Tools     318
Enterprise Server Monitoring     318
Chapter 17  Backing Up     321
Choosing a Backup Strategy     321
Choosing Backup Hardware and Media     328
Using Backup Software     330
Copying Files     338
Version Control for Configuration Files     342
System Rescue     344
The Ubuntu Rescue Disc     345
Restoring the GRUB2 Boot Loader     345
Saving Files from a Nonbooting Hard Drive     346
Chapter 18  Networking     347
Laying the Foundation: The localhost Interface     348
Checking Connections with ping, traceroute, and mtr     350
Networking with TCP/IP     352
IPv6 Basics     356
Network Organization     359
Hardware Devices for Networking     361
Using Network Configuration Tools     367
Dynamic Host Configuration Protocol     375
Wireless Networking     381
Beyond the Network and onto the Internet     383
Common Configuration Information     384
Configuring Digital Subscriber Line Access     385
Understanding PPP over Ethernet     386
Configuring a PPPoE Connection Manually     386
Configuring Dial-up Internet Access     388
Troubleshooting Connection Problems     389
Chapter 19  Remote Access with SSH, Telnet, and VNC     391
Setting Up a Telnet Server     391
Telnet Versus SSH     393
Setting Up an SSH Server     393
SSH Tools     393
Virtual Network Computing     397
Chapter 20  Securing Your Machines     401
Understanding Computer Attacks     401
Assessing Your Vulnerability     403
Protecting Your Machine     404
Securing a Wireless Network     404
Passwords and Physical Security     405
Configuring and Using Tripwire     406
Securing Devices     407
Viruses     407
Configuring Your Firewall     407
AppArmor     410
Forming a Disaster Recovery Plan     412
Chapter 21  Performance Tuning     415
Storage Disk     415
Kernel     420
Apache     421
MySQL     423
Chapter 22  Kernel and Module Management     429
The Linux Kernel     430
Managing Modules     434
When to Recompile     436
Kernel Versions     437
Obtaining the Kernel Sources     438
Patching the Kernel     438
Compiling the Kernel     440
When Something Goes Wrong     446
Errors During Compile     446
Runtime Errors, Boot Loader Problems, and Kernel Oops     447

Chapter 23  Sharing Files and Printers     449

Using Network File System     450
Putting Samba to Work     452
Network and Remote Printing with Ubuntu     459
Chapter 24  Common Web Server Stacks     465
LAMP     465
LEMP     467
MEAN     467
Chapter 25  Apache Web Server Management     471
About the Apache Web Server     471
Installing the Apache Server     472
Runtime Server Configuration Settings     474
File System Authentication and Access Control     480
Apache Modules     483
Virtual Hosting     489
Logging     490
HTTPS     492
Chapter 26  Nginx Web Server Management     495
About the Nginx Web Server     495
Installing the Nginx Server     497
Configuring the Nginx Server     498
Virtual Hosting     501
Setting Up PHP     502
Adding and Configuring Modules     503
HTTPS     504
Chapter 27  Other HTTP Servers     507
lighttpd     507
Yaws     508
Cherokee     508
Jetty     509
thttpd     509
Apache Tomcat     510
WildFly     510
Chapter 28  Administering Relational Database Services     511
A Brief Review of Database Basics     512
Choosing a Database: MySQL Versus PostgreSQL     520
Configuring MySQL     522
Configuring PostgreSQL     526
Database Clients     529
Chapter 29  NoSQL Databases     537
Key/Value Stores     540
Berkeley DB     540
Cassandra     541
etcd     541
Memcached and MemcacheDB     541
Redis     542
Riak     542
Scylla     542
Document Stores     542
CouchDB     543
MongoDB     544
BaseX     545
Wide Column Stores     545
BigTable     545
HBase     546
Graph Stores     546
Neo4j     546
OrientDB     547
HyperGraphDB     547
FlockDB     547
Chapter 30  Virtualization on Ubuntu     549
KVM     551
VirtualBox     554
VMware     556
Xen     556
Chapter 31  Ubuntu in the Cloud     559
Why a Cloud?     560
Software as a Service (SaaS)     561
Platform as a Service (PaaS)     561
Infrastructure as a Service (IaaS)     561
Metal as a Service (MaaS)     561
Things to Consider Before You Make any Decisions     562
Deploy/Install Basics: Public, Private, or Hybrid?     562
Ubuntu Cloud and OpenStack     563
Compute Infrastructure: Nova     563
Storage Infrastructure: Swift     564
Networking Service: Neutron     564
Identity Service: Keystone     564
Imaging Service: Glance     564
Dashboard: Horizon     565
Learning More     565
Juju     565
Mojo: Continuous Delivery for Juju     566
Ubuntu Core     566
Ubuntu Metal as a Service (MaaS)     566
Landscape     566
Chapter 32  Containers and Ubuntu     569
LXC and LXD     570
Docker     571
Kubernetes     571
CoreOS and Canonical     572
Chapter 33  Managing Sets of Servers     573
Juju     573
Puppet     574
Chef     574
CFEngine     574
Ansible     575
Landscape     575
Chapter 34  Remote File Serving with FTP     577
Choosing an FTP Server     577
Installing FTP Software     579
The FTP User     579
Configuring the Very Secure FTP Server     581
Using the ftphosts File to Allow or Deny FTP Server Connection     584
Chapter 35  Handling Email     587
How Email Is Sent and Received     587
Basic Postfix Configuration and Operation     591
Using Fetchmail to Retrieve Mail     597
Choosing a Mail Delivery Agent     600
References     602
Chapter 36  Proxying, Reverse Proxying, and Virtual Private Networks (VPNs)     603
What Is a Proxy Server?     603
Installing Squid     604
Configuring Clients     604
Access Control Lists     605
Specifying Client IP Addresses     609
Sample Configurations     610
Virtual Private Networks (VPNs)     612
Chapter 37  Lightweight Directory Access Protocol (LDAP)     619
Configuring the Server     620
Configuring Clients     624
LDAP Administration     624
Chapter 38  Linux Terminal Server Project (LTSP)     627
LTSP Requirements     628
LTSP Installation     631
Using LTSP     631
Chapter 39  Name Serving with the Domain Name System (DNS)     633
Understanding Domain Names     634
Setting Up a DNS Server with BIND     639

Chapter 40  Using Programming Tools for Ubuntu     643

Programming in C with Linux     644
Using the C Programming Project Management Tools Provided with Ubuntu     645
Using the GNU C Compiler     649
Graphical Development Tools     650
Using the KDevelop Client     650
The Glade Client for Developing in GNOME     651
IDEs and SDKs     652
Chapter 41  Using Ubuntu for Opportunistic Software Development     655
Version Control Systems     656
Managing Software Projects with Git     656
Managing Software Projects with Bazaar     657
Managing Software Projects with Subversion     658
Managing Software Projects with Mercurial     659
Introduction to Opportunistic Development     660
Launchpad     661
Ubuntu Make     663
Creating Snap Packages     663
Bikeshed and Other Tools     663
Chapter 42  Helping with Ubuntu Development     667
Introduction to Ubuntu Development     668
Setting Up Your Development System     669
Fixing Bugs and Packaging     672
Finding Bugs to Fix with Harvest     675
Masters of the Universe     675
Chapter 43  Helping with Ubuntu Testing and QA     677
Community Teams     677
Ubuntu Testing Team     678
Ubuntu QA Team     678
Bug Squad     679
Chapter 44  Using Popular Programming Languages     681
Ada     682
Clojure     682
COBOL     683
D     684
Dart     684
Elixir     685
Erlang     685
Forth     685
Fortran     686
Go     686
Groovy     687
Haskell     687
Java     687
JavaScript     688
Lisp     688
Lua     689
Mono     689
OCaml     689
Perl     690
PHP     690
Python     690
Ruby     691
Rust     691
Scala     691
Scratch     692
Vala     692
Chapter 45  Beginning Mobile Development for Android     695
Introduction to Android     696
Hardware     696
Linux Kernel     696
Libraries     696
Android Runtime     696
Application Framework     697
Applications     697
Installing Android Studio     697
Installing Android Studio     697
Installing SDK Packages     697
Creating Your First Application     699
Index     701

Bonus Chapters 46-48 can be accessed online. Register your product for access.
Chapter 46  Using Perl     Web:1
Using Perl with Linux     Web:1
Perl Variables and Data Structures     Web:4
Perl Operators     Web:6
Conditional Statements: if/else and unless     Web:8
Looping     Web:10
Regular Expressions    Web:12
Access to the Shell     Web:13
Modules and CPAN     Web:14
Code Examples     Web:15
Chapter 47  Using PHP     Web:21
Introduction to PHP     Web:21
Basic Functions     Web:37
Handling HTML Forms     Web:48
Databases     Web:48
Chapter 48  Using Python     Web:53
Python on Linux     Web:54
The Basics of Python     Web:55
Functions     Web:65
Object Orientation     Web:66
Class and Object Variables     Web:67
Constructors and Destructors     Web:68
The Standard Library and the Python Package Index     Web:70



We've made every effort to ensure the accuracy of this book and its companion content. Any errors that have been confirmed since this book was published can be downloaded below.

Download the errata (46 KB .doc)

Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership