封面
版权信息
1. Introduction
1.1 Superuser Conventions
1.2 Opening a Terminal Window
1.3 Editing Files
1.4 Feedback
1.5 Errata
2. A Brief History of Linux
2.1 What exactly is Linux?
2.2 UNIX Origins
2.3 Who Created Linux?
2.4 The History of Ubuntu
2.5 What does the word “Ubuntu” Mean?
2.6 Summary
3. Installing Ubuntu on a Clean Disk Drive
3.1 Ubuntu Installation Options
3.2 Server vs. Desktop Editions
3.3 Obtaining the Ubuntu Installation Media
3.4 Writing the ISO Installation Image to a USB Drive
3.5 Booting from the Ubuntu USB Image
3.6 Installing Ubuntu
3.7 Accessing the Ubuntu Desktop
3.8 Installing Updates
3.9 Displaying Boot Messages
3.10 Summary
4. Installing Ubuntu with the Network Installer
4.1 Network Installer Advantages
4.2 Obtaining the Network Installer Image
4.3 Booting from the Installer Image
4.4 Performing the Installation
4.5 Disk Partitioning
4.6 Software Collection Selection
4.7 Installing Software Collections After System Setup
4.8 Summary
5. Dual Booting Ubuntu with Windows
5.1 Beginning the Ubuntu Installation
5.2 Booting Ubuntu for the First Time
5.3 Changing the Default Boot Option
5.4 Accessing the Windows Partition from the Command-line
5.5 Accessing the Windows Partition from the Desktop
5.6 Summary
6. Allocating Windows Disk Partitions to Ubuntu
6.1 Unmounting the Windows Partition
6.2 Deleting the Windows Partitions from the Disk
6.3 Formatting the Unallocated Disk Partition
6.4 Mounting the New Partition
6.5 Editing the Boot Menu
6.6 Using the GNOME Disks Utility
6.7 Summary
7. A Guided Tour of the GNOME 3 Desktop
7.1 Installing the GNOME Desktop
7.2 An Overview of the GNOME 3 Desktop
7.3 Launching Activities
7.4 Managing Windows
7.5 Using Workspaces
7.6 Calendar and Notifications
7.7 Desktop Settings
7.8 Customizing the Dash
7.9 Switching to Dark Mode
7.10 Installing Ubuntu Software
7.11 Beyond Basic Customization
7.12 Summary
8. An Overview of the Ubuntu Cockpit Web Interface
8.1 An Overview of Cockpit
8.2 Installing and Enabling Cockpit
8.3 Accessing Cockpit
8.4 Overview
8.5 Logs
8.6 Storage
8.7 Networking
8.8 Accounts
8.9 Services
8.10 Applications
8.11 Virtual Machines
8.12 Software Updates
8.13 Terminal
8.14 Connecting to Multiple Servers
8.15 Summary
9. Using the Bash Shell on Ubuntu
9.1 What is a Shell?
9.2 Gaining Access to the Shell
9.3 Entering Commands at the Prompt
9.4 Getting Information about a Command
9.5 Bash Command-line Editing
9.6 Working with the Shell History
9.7 Filename Shorthand
9.8 Filename and Path Completion
9.9 Input and Output Redirection
9.10 Working with Pipes in the Bash Shell
9.11 Configuring Aliases
9.12 Environment Variables
9.13 Writing Shell Scripts
9.14 Summary
10. Managing Ubuntu Users and Groups
10.1 User Management from the Command-line
10.2 User Management with Cockpit
10.3 User Management using the Settings App
10.4 Summary
11. Managing Ubuntu systemd Units
11.1 Understanding Ubuntu systemd Targets
11.2 Understanding Ubuntu systemd Services
11.3 Ubuntu systemd Target Descriptions
11.4 Identifying and Configuring the Default Target
11.5 Understanding systemd Units and Unit Types
11.6 Dynamically Changing the Current Target
11.7 Enabling Disabling and Masking systemd Units
11.8 Working with systemd Units in Cockpit
11.9 Summary
12. Ubuntu Software Package Management and Updates
12.1 Repositories
12.2 Managing Repositories with Software & Updates
12.3 Managing Packages with APT
12.4 Performing Updates
12.5 Enabling Automatic Updates
12.6 Enabling Livepatch
12.7 Summary
13. Ubuntu Snap Package Management
13.1 Managing Software with Snap
13.2 Basic Snap Commands
13.3 Working with Snap Channels
13.4 Snap Refresh Schedule
13.5 Snap Services
13.6 Summary
14. Ubuntu Network Management
14.1 An Introduction to NetworkManager
14.2 Installing and Enabling NetworkManager
14.3 Basic nmcli Commands
14.4 Working with Connection Profiles
14.5 Interactive Editing
14.6 Configuring NetworkManager Permissions
14.7 Summary
15. Ubuntu Firewall Basics
15.1 Understanding Ports and Services
15.2 Securing Ports and Services
15.3 Ubuntu Services and iptables Rules
15.4 Well Known Ports and Services
15.5 Summary
16. Using gufw and ufw to Configure an Ubuntu Firewall
16.1 An Overview of gufw and ufw
16.2 Installing gufw on Ubuntu
16.3 Running and Enabling gufw
16.4 Creating a New Profile
16.5 Adding Preconfigured Firewall Rules
16.6 Adding Simple Firewall Rules
16.7 Adding Advanced Rules
16.8 Configuring the Firewall from the Command Line using ufw
16.9 Summary
17. Basic Ubuntu Firewall Configuration with firewalld
17.1 An Introduction to firewalld
17.2 Checking firewalld Status
17.3 Configuring Firewall Rules with firewall-cmd
17.4 Managing firewalld using firewall-config
17.5 Summary
18. Configuring SSH Key-based Authentication on Ubuntu
18.1 An Overview of Secure Shell (SSH)
18.2 SSH Key-based Authentication
18.3 Setting Up Key-based Authentication
18.4 Installing and Starting the SSH Service
18.5 SSH Key-based Authentication from Linux and macOS Clients
18.6 Managing Multiple Keys
18.7 SSH Key-based Authentication from Windows 10 Clients
18.8 SSH Key-based Authentication using PuTTY
18.9 Generating a Private Key with PuTTYgen
18.10 Installing the Public Key for a Google Cloud Instance
18.11 Summary
19. Ubuntu Remote Desktop Access with Vino
19.1 Remote Desktop Access Types
19.2 Secure and Insecure Remote Desktop Access
19.3 Enabling Remote Desktop Access on Ubuntu
19.4 Connecting to the Shared Desktop
19.5 Connecting from Non-Linux Clients
19.6 Establishing a Secure Remote Desktop Session
19.7 Establishing a Secure Tunnel on Windows using PuTTY
19.8 Summary
20. Ubuntu Remote Desktop Access with VNC
20.1 Installing the GNOME Desktop Environment
20.2 Installing VNC on Ubuntu
20.3 Configuring the VNC Server
20.4 Starting the VNC Server
20.5 Connecting to a VNC Server
20.6 Summary
21. Displaying Ubuntu Applications Remotely (X11 Forwarding)
21.1 Requirements for Remotely Displaying Ubuntu Applications
21.2 Remotely Displaying an Ubuntu Application
21.3 Trusted X11 Forwarding
21.4 Compressed X11 Forwarding
21.5 Displaying Remote Ubuntu Apps on Windows
21.6 Summary
22. Using NFS to Share Ubuntu Files with Remote Systems
22.1 Ensuring NFS Services are running on Ubuntu
22.2 Configuring the Ubuntu Firewall to Allow NFS Traffic
22.3 Specifying the Folders to be Shared
22.4 Accessing Shared Ubuntu Folders
22.5 Mounting an NFS Filesystem on System Startup
22.6 Unmounting an NFS Mount Point
22.7 Accessing NFS Filesystems in Cockpit
22.8 Summary
23. Sharing Files between Ubuntu and Windows Systems with Samba
23.1 Accessing Windows Resources from the GNOME Desktop
23.2 Samba and Samba Client
23.3 Installing Samba on an Ubuntu System
23.4 Configuring the Ubuntu Firewall to Enable Samba
23.5 Configuring the smb.conf File
23.6 Creating a Samba User
23.7 Testing the smb.conf File
23.8 Starting the Samba and NetBIOS Name Services
23.9 Accessing Samba Shares
23.10 Accessing Windows Shares from Ubuntu
23.11 Summary
24. An Overview of Virtualization Techniques
24.1 Guest Operating System Virtualization
24.2 Hypervisor Virtualization
24.3 Virtual Machine Networking
24.4 Summary
25. Installing KVM Virtualization on Ubuntu
25.1 An Overview of KVM
25.2 KVM Hardware Requirements
25.3 Preparing Ubuntu for KVM Virtualization
25.4 Verifying the KVM Installation
25.5 Summary
26. Creating KVM Virtual Machines using Cockpit and virt-manager
26.1 Installing the Cockpit Virtual Machines Module
26.2 Creating a Virtual Machine in Cockpit
26.3 Starting the Installation
26.4 Working with Storage Volumes and Storage Pools
26.5 Creating a Virtual Machine using virt-manager
26.6 Starting the Virtual Machine Manager
26.7 Configuring the KVM Virtual System
26.8 Starting the KVM Virtual Machine
26.9 Summary
27. Creating KVM Virtual Machines with virt-install and virsh
27.1 Running virt-install to build a KVM Guest System
27.2 An Example Ubuntu virt-install Command
27.3 Starting and Stopping a Virtual Machine from the Command-Line
27.4 Creating a Virtual Machine from a Configuration File
27.5 Summary
28. Creating an Ubuntu KVM Networked Bridge Interface
28.1 Identifying the Network Management System
28.2 Getting the Netplan Network Settings
28.3 Creating a Netplan Network Bridge
28.4 Getting the Current Network Manager Settings
28.5 Creating a Network Manager Bridge from the Command-Line
28.6 Declaring the KVM Bridged Network
28.7 Using a Bridge Network in a Virtual Machine
28.8 Creating a Bridge Network using nm-connection-editor
28.9 Summary
29. Managing KVM using the virsh Command-Line Tool
29.1 The virsh Shell and Command-Line
29.2 Listing Guest System Status
29.3 Starting a Guest System
29.4 Shutting Down a Guest System
29.5 Suspending and Resuming a Guest System
29.6 Saving and Restoring Guest Systems
29.7 Rebooting a Guest System
29.8 Configuring the Memory Assigned to a Guest OS
29.9 Summary
30. An Introduction to Linux Containers
30.1 Linux Containers and Kernel Sharing
30.2 Container Uses and Advantages
30.3 Ubuntu Container Tools
30.4 The Docker Registry
30.5 Container Networking
30.6 Summary
31. Working with Containers on Ubuntu
31.1 Installing the Container Tools
31.2 Pulling a Container Image
31.3 Running the Image in a Container
31.4 Managing a Container
31.5 Saving a Container to an Image
31.6 Removing an Image from Local Storage
31.7 Removing Containers
31.8 Building a Container with Buildah
31.9 Summary
32. Setting Up an Ubuntu Web Server
32.1 Requirements for Configuring an Ubuntu Web Server
32.2 Installing the Apache Web Server Packages
32.3 Configuring the Firewall
32.4 Port Forwarding
32.5 Starting the Apache Web Server
32.6 Testing the Web Server
32.7 Configuring the Apache Web Server for Your Domain
32.8 The Basics of a Secure Web Site
32.9 Configuring Apache for HTTPS
32.10 Obtaining an SSL Certificate
32.11 Summary
33. Configuring an Ubuntu Postfix Email Server
33.1 The structure of the Email System
33.2 Configuring an Ubuntu Email Server
33.3 Postfix Pre-Installation Steps
33.4 Firewall/Router Configuration
33.5 Installing Postfix on Ubuntu
33.6 Configuring Postfix
33.7 Configuring DNS MX Records
33.8 Starting Postfix on an Ubuntu System
33.9 Testing Postfix
33.10 Sending Mail via an SMTP Relay Server
33.11 Summary
34. Adding a New Disk Drive to an Ubuntu System
34.1 Mounted File Systems or Logical Volumes
34.2 Finding the New Hard Drive
34.3 Creating Linux Partitions
34.4 Creating a File System on a Disk Partition
34.5 An Overview of Journaled File Systems
34.6 Mounting a File System
34.7 Configuring Ubuntu to Automatically Mount a File System
34.8 Adding a Disk Using Cockpit
34.9 Summary
35. Adding a New Disk to an Ubuntu Volume Group and Logical Volume
35.1 An Overview of Logical Volume Management (LVM)
35.2 Getting Information about Logical Volumes
35.3 Adding Additional Space to a Volume Group from the Command-Line
35.4 Summary
36. Adding and Managing Ubuntu Swap Space
36.1 What is Swap Space?
36.2 Recommended Swap Space for Ubuntu
36.3 Identifying Current Swap Space Usage
36.4 Adding a Swap File to an Ubuntu System
36.5 Adding Swap as a Partition
36.6 Adding Space to an Ubuntu LVM Swap Volume
36.7 Adding Swap Space to the Volume Group
36.8 Summary
37. Ubuntu System and Process Monitoring
37.1 Managing Processes
37.2 Real-time System Monitoring with htop
37.3 Command-Line Disk and Swap Space Monitoring
37.4 Summary
Index
更新时间:2021-06-11 17:40:29