Ubuntu Linux Unleashed 2021 Edition, 14th Edition

Book description

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 moreincluding 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

Table of contents

  1. Cover Page
  2. About This eBook
  3. Title Page
  4. Copyright Page
  5. Contents at a Glance
  6. Table of Contents
  7. About the Authors
  8. Dedication
  9. Acknowledgments
  10. Register Your Book
  11. Figure Credits
  12. Introduction
  13. Part I: Getting Started
    1. Chapter 1. Installing Ubuntu and Post-Installation Configuration
      1. Before You Begin the Installation
      2. Step-by-Step Installation
      3. Shutting Down
      4. Finding Programs and Files
      5. Software Updater
      6. The sudo Command
      7. Configuring Software Repositories
      8. System Settings
      9. Configuring Wireless Networks
      10. Troubleshooting Post-Installation Configuration Problems
      11. References
    2. Chapter 2. Background Information and Resources
      1. What Is Linux?
      2. Why Use Linux?
      3. What Is Ubuntu?
      4. Ubuntu for Business
      5. Ubuntu in Your Home
      6. Getting the Most from Linux and Ubuntu Documentation
  14. Part II: Desktop Ubuntu
    1. Chapter 3. Foundations of the Linux GUI
      1. Foundations and the X Server
      2. Starting X
      3. References
    2. Chapter 4. Ubuntu Desktop Options
      1. Desktop Environment
      2. Using GNOME: A Primer
      3. KDE and Kubuntu
      4. Xfce and Xubuntu
      5. LXDE and Lubuntu
      6. MATE and Ubuntu MATE
      7. Ubuntu Budgie
      8. Ubuntu Kylin
      9. References
    3. Chapter 5. On the Internet
      1. Getting Started with Firefox
      2. Checking Out Google Chrome and Chromium
      3. References
    4. Chapter 6. Productivity Applications
      1. Introducing LibreOffice
      2. Other Useful Productivity Software
      3. Productivity Applications Written for Microsoft Windows
      4. References
    5. Chapter 7. Multimedia Applications
      1. Sound and Music
      2. Graphics Manipulation
      3. Using Digital Cameras with Ubuntu
      4. Burning CDs and DVDs in Ubuntu
      5. Viewing Video
      6. Recording and Editing Audio
      7. Editing Video
      8. References
    6. Chapter 8. Games
      1. Ubuntu Gaming
      2. Installing Proprietary Video Drivers
      3. Online Game Sources
      4. Installing Games from the Ubuntu Repositories
      5. Playing Windows Games
      6. References
  15. Part III: System Administration
    1. Chapter 9. Managing Software
      1. Ubuntu Software
      2. Using Synaptic for Software Management
      3. Staying Up to Date
      4. Working on the Command Line
      5. Compiling Software from Source
      6. Configuration Management
      7. Using the Snappy Package Manager
      8. References
    2. Chapter 10. Command-Line Beginner’s Class
      1. What Is the Command Line?
      2. Accessing the Command Line
      3. User Accounts
      4. Reading Documentation
      5. Understanding the Linux File System Hierarchy
      6. Navigating the Linux File System
      7. Working with Permissions
      8. Working with Files
      9. Working as Root
      10. Commonly Used Commands and Programs
      11. References
    3. Chapter 11. Command-Line Master Class, Part 1
      1. Why Use the Command Line?
      2. Using Basic Commands
      3. References
    4. Chapter 12. Command-Line Master Class, Part 2
      1. Redirecting Output and Input
      2. stdin, stdout, stderr, and Redirection
      3. Comparing Files
      4. Limiting Resource Use and Job Control
      5. Combining Commands
      6. Executing Jobs in Parallel
      7. Using Environment Variables
      8. Using Common Text Editors
      9. Working with Compressed Files
      10. Using Multiple Terminals with byobu
      11. Doing a Polite System Reset Using REISUB
      12. Fixing an Ubuntu System That Will Not Boot
      13. Tips and Tricks
      14. References
    5. Chapter 13. Managing Users
      1. User Accounts
      2. Managing Groups
      3. Managing Users
      4. Managing Passwords
      5. Granting System Administrator Privileges to Regular Users
      6. Disk Quotas
      7. Related Ubuntu Commands
      8. References
    6. Chapter 14. Automating Tasks and Shell Scripting
      1. What Is a Shell?
      2. Scheduling Tasks
      3. Basic Shell Control
      4. Writing and Executing a Shell Script
      5. References
    7. Chapter 15. The Boot Process
      1. Running Services at Boot
      2. Beginning the Boot Loading Process
      3. Loading the Linux Kernel
      4. Starting and Stopping Services with systemd
      5. Boot-Repair
      6. References
    8. Chapter 16. System-Monitoring Tools
      1. Console-Based Monitoring
      2. Graphical Process- and System-Management Tools
      3. KDE Process- and System-Monitoring Tools
      4. Enterprise Server Monitoring
      5. References
    9. Chapter 17. Backing Up
      1. Choosing a Backup Strategy
      2. Choosing Backup Hardware and Media
      3. Using Backup Software
      4. Copying Files
      5. Version Control for Configuration Files
      6. System Rescue
      7. References
    10. Chapter 18. Networking
      1. Laying the Foundation: The localhost Interface
      2. Checking Connections with ping, traceroute, and mtr
      3. Networking with TCP/IP
      4. IPv6 Basics
      5. Network Organization
      6. Hardware Devices for Networking
      7. Using Network Configuration Tools
      8. Dynamic Host Configuration Protocol
      9. Wireless Networking
      10. Beyond the Network and onto the Internet
      11. Common Configuration Information
      12. References
    11. Chapter 19. Remote Access with SSH and VNC
      1. Setting Up an SSH Server
      2. SSH Tools
      3. Virtual Network Computing
      4. Guacamole
      5. References
    12. Chapter 20. Securing Your Machines
      1. Understanding Computer Attacks
      2. Assessing Your Vulnerability
      3. Protecting Your Machine
      4. Viruses
      5. Configuring Your Firewall
      6. AppArmor
      7. Forming a Disaster Recovery Plan
      8. References
    13. Chapter 21. Performance Tuning
      1. Storage Disk
      2. Kernel
      3. Tuned
      4. References
    14. Chapter 22. Kernel and Module Management
      1. The Linux Kernel
      2. Managing Modules
      3. When to Recompile
      4. Kernel Versions
      5. Obtaining the Kernel Sources
      6. Patching the Kernel
      7. Compiling the Kernel
      8. When Something Goes Wrong
      9. References
  16. Part IV: Ubuntu as a Server
    1. Chapter 23. Sharing Files and Printers
      1. Using Network File System
      2. Putting Samba to Work
      3. Network and Remote Printing with Ubuntu
      4. References
    2. Chapter 24. Common Web Server Stacks
      1. LAMP
      2. LEMP
      3. MEAN
      4. References
    3. Chapter 25. Apache Web Server Management
      1. About the Apache Web Server
      2. Installing the Apache Server
      3. Runtime Server Configuration Settings
      4. File System Authentication and Access Control
      5. Apache Modules
      6. Virtual Hosting
      7. Logging
      8. HTTPS
      9. References
    4. Chapter 26. Nginx Web Server Management
      1. About the Nginx Web Server
      2. Installing the Nginx Server
      3. Configuring the Nginx Server
      4. Virtual Hosting
      5. Setting Up PHP
      6. Adding and Configuring Modules
      7. HTTPS
      8. Reference
    5. Chapter 27. Other HTTP Servers
      1. lighttpd
      2. Yaws
      3. Cherokee
      4. Jetty
      5. thttpd
      6. Apache Tomcat
      7. WildFly
      8. Caddy
      9. References
    6. Chapter 28. Administering Relational Database Services
      1. A Brief Review of Database Basics
      2. Choosing a Database: MySQL Versus PostgreSQL
      3. Configuring MySQL
      4. Configuring PostgreSQL
      5. Database Clients
      6. References
    7. Chapter 29. NoSQL Databases
      1. Key/Value Stores
      2. Document Stores
      3. Wide Column Stores
      4. Graph Stores
      5. References
    8. Chapter 30. Virtualization on Ubuntu
      1. KVM
      2. VirtualBox
      3. VMware
      4. Xen
      5. References
    9. Chapter 31. Containers and Ubuntu
      1. LXC and LXD
      2. Docker
      3. Kubernetes
      4. References
    10. Chapter 32. Ubuntu and Cloud Computing
      1. Why a Cloud?
      2. Ubuntu on the Public Cloud
      3. Canonical-Specific Cloud Offerings
      4. References
    11. Chapter 33. Managing Sets of Servers
      1. Puppet
      2. Chef
      3. Ansible
      4. SaltStack
      5. CFEngine
      6. Juju
      7. Landscape
      8. References
    12. Chapter 34. Handling Email
      1. How Email Is Sent and Received
      2. Basic Postfix Configuration and Operation
      3. Using Fetchmail to Retrieve Mail
      4. Choosing a Mail Delivery Agent
      5. References
    13. Chapter 35. Proxying, Reverse Proxying, and Virtual Private Networks (VPNs)
      1. What Is a Proxy Server?
      2. Installing Squid
      3. Configuring Clients
      4. Access Control Lists
      5. Specifying Client IP Addresses
      6. Sample Configurations
      7. Virtual Private Networks (VPNs)
      8. References
    14. Chapter 36. Lightweight Directory Access Protocol (LDAP)
      1. Configuring the Server
      2. Configuring Clients
      3. LDAP Administration
      4. References
    15. Chapter 37. Name Serving with the Domain Name System (DNS)
      1. Understanding Domain Names
      2. Setting Up a DNS Server with BIND
      3. References
  17. Part V: Programming Linux
    1. Chapter 38. Using Programming Tools
      1. Programming in C with Linux
      2. Using the C Programming Project Management Tools Provided with Ubuntu
      3. Using the GNU C Compiler
      4. Programming in Java with Linux
      5. Graphical Development Tools
      6. Beginning Mobile Development for Android
      7. Version Control Systems
      8. Continuous Integration and Continuous Delivery and DevOps Tools
      9. Canonical-created Tools
      10. References
    2. Chapter 39. Using Popular Programming Languages
      1. Ada
      2. Clojure
      3. COBOL
      4. D
      5. Dart
      6. Elixir
      7. Elm
      8. Erlang
      9. Forth
      10. Fortran
      11. Go
      12. Groovy
      13. Haskell
      14. Java
      15. JavaScript
      16. Kotlin
      17. Lisp
      18. Lua
      19. Mono
      20. OCaml
      21. Perl
      22. PHP
      23. Python
      24. Raku
      25. Ruby
      26. Rust
      27. Scala
      28. Scratch
      29. Vala
      30. References
    3. Chapter 40. Helping with Ubuntu Development
      1. Introduction to Ubuntu Development
      2. Setting Up Your Development System
      3. Fixing Bugs and Packaging
      4. References
    4. Chapter 41. Helping with Ubuntu Testing and QA
      1. Community Teams
      2. Bug Squad
      3. References
  18. Index
  19. Part VI: Bonus Online Chapters
    1. Chapter 42. Using Perl
      1. Using Perl with Linux
      2. Perl Variables and Data Structures
      3. Perl Operators
      4. Conditional Statements: if/else and unless
      5. Looping
      6. Regular Expressions
      7. Access to the Shell
      8. Modules and CPAN
      9. Code Examples
      10. References
    2. Chapter 43. Using Python
      1. Python on Linux
      2. The Basics of Python
      3. Functions
      4. Object Orientation
      5. The Standard Library and the Python Package Index
      6. References
    3. Chapter 44. Using PHP
      1. Introduction to PHP
      2. Basic Functions
      3. Handling HTML Forms
      4. Databases
      5. References
  20. Code Snippets

Product information

  • Title: Ubuntu Linux Unleashed 2021 Edition, 14th Edition
  • Author(s): Matthew Helmke
  • Release date: August 2020
  • Publisher(s): Addison-Wesley Professional
  • ISBN: 9780136685395