Helion


Szczegóły ebooka

Red Hat Enterprise Linux 8 Essentials

Red Hat Enterprise Linux 8 Essentials


Red Hat Enterprise Linux 8 is one of the most secure and dependable operating systems available. For this reason, the ambitious system or network engineer will find a working knowledge of Red Hat Enterprise 8 to be an invaluable advantage in their respective fields. This book, now updated for RHEL 8.1, begins with a history of Red Enterprise Linux and its installation. You will be virtually perform remote system administration tasks with cockpit web interface and write shell scripts to maintain server-based systems without desktop installation. Then, you will set up a firewall system using a secure shell and enable remote access to Gnome desktop environment with virtual network computing (VNC). You'll share files between the Red Hat Enterprise Linux 8 (RHEL 8) and Windows System using Samba client and NFS. You will also run multiple guest operating systems using virtualization and Linux containers, and host websites using RHEL 8 by installing an Apache web server. Finally, you will create logical disks using logical volume management and implement swap space to maintain the performance of a RHEL 8 system. By the end of this book, you will be armed with the skills and knowledge to install the RHEL 8 operating system and use it expertly.

  • 1. Introduction
    • 1.1 Superuser Conventions
    • 1.2 Feedback
    • 1.3 Errata
  • 2. A Brief History of Red Hat Linux
    • 2.1 What exactly is Linux?
    • 2.2 UNIX Origins
    • 2.3 Who Created Linux?
    • 2.4 The Early Days of Red Hat
    • 2.5 Red Hat Support
    • 2.6 Open Source
    • 2.7 The Fedora Project
    • 2.8 CentOS - The Free Alternative
    • 2.9 Summary
  • 3. Installing RHEL 8 on a Clean Disk Drive
    • 3.1 Obtaining the Red Hat Enterprise Linux Installation Media
    • 3.2 Writing the ISO Installation Image to a USB Drive
      • 3.2.1 Linux
      • 3.2.2 macOS
      • 3.2.3 Windows
    • 3.3 Installing Red Hat Enterprise Linux 8
    • 3.4 Partitioning a Disk for RHEL 8
    • 3.5 The Physical Installation
    • 3.6 Final Configuration Steps
    • 3.7 Installing Updates
    • 3.8 Displaying Boot Messages
    • 3.9 Summary
  • 4. Dual Booting RHEL 8 with Windows
    • 4.1 Partition Resizing
    • 4.2 Editing the RHEL 8 Boot Menu
    • 4.3 Changing the Default Boot Option
    • 4.4 Accessing the Windows Partition from RHEL 8
    • 4.5 Summary
  • 5. Allocating Windows Disk Partitions to RHEL 8
    • 5.1 Unmounting the Windows Partition
    • 5.2 Deleting the Windows Partitions from the Disk
    • 5.3 Formatting the Unallocated Disk Partition
    • 5.4 Mounting the New Partition
    • 5.5 Editing the Boot Menu
    • 5.6 Summary
  • 6. A Guided Tour of the GNOME 3 Desktop
    • 6.1 Installing the GNOME Desktop
    • 6.2 An Overview of the GNOME 3 Desktop
    • 6.3 Launching Activities
    • 6.4 Managing Windows
    • 6.5 Using Workspaces
    • 6.6 Calendar and Notifications
    • 6.7 Desktop Settings
    • 6.8 Summary
  • 7. An Overview of the RHEL 8 Cockpit Web Interface
    • 7.1 An Overview of Cockpit
    • 7.2 Installing and Enabling Cockpit
    • 7.3 Accessing Cockpit
    • 7.4 System
    • 7.5 Logs
    • 7.6 Storage
    • 7.7 Networking
    • 7.8 Podman Containers
    • 7.9 Virtual Machines
    • 7.10 Accounts
    • 7.11 Services
    • 7.12 Applications
    • 7.13 Diagnostic Reports
    • 7.14 Kernel Dump
    • 7.15 SELinux
    • 7.16 Software Updates
    • 7.17 Subscriptions
    • 7.18 Terminal
    • 7.19 Connecting to Multiple Servers
    • 7.20 Enabling Stored Metrics
    • 7.21 Summary
  • 8. Using the Bash Shell on RHEL 8
    • 8.1 What is a Shell?
    • 8.2 Gaining Access to the Shell
    • 8.3 Entering Commands at the Prompt
    • 8.4 Getting Information about a Command
    • 8.5 Bash Command-line Editing
    • 8.6 Working with the Shell History
    • 8.7 Filename Shorthand
    • 8.8 Filename and Path Completion
    • 8.9 Input and Output Redirection
    • 8.10 Working with Pipes in the Bash Shell
    • 8.11 Configuring Aliases
    • 8.12 Environment Variables
    • 8.13 Writing Shell Scripts
    • 8.14 Summary
  • 9. Managing RHEL 8 Users and Groups
    • 9.1 User Management from the Command-line
    • 9.2 User Management with Cockpit
    • 9.3 Summary
  • 10. Understanding RHEL 8 Software Installation and Management
    • 10.1 Repositories
    • 10.2 The BaseOS Repository
    • 10.3 The AppStream Repository
    • 10.4 Summary
  • 11. Configuring RHEL 8 systemd Units
    • 11.1 Understanding RHEL 8 systemd Targets
    • 11.2 Understanding RHEL 8 systemd Services
    • 11.3 RHEL 8 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. RHEL 8 Network Management
    • 12.1 An Introduction to NetworkManager
    • 12.2 Installing and Enabling NetworkManager
    • 12.3 Basic nmcli Commands
    • 12.4 Working with Connection Profiles
    • 12.5 Interactive Editing
    • 12.6 Configuring NetworkManager Permissions
    • 12.7 Summary
  • 13. Basic RHEL 8 Firewall Configuration with firewalld
    • 13.1 An Introduction to firewalld
      • 13.1.1 Zones
      • 13.1.2 Interfaces
      • 13.1.3 Services
      • 13.1.4 Ports
    • 13.2 Checking firewalld Status
    • 13.3 Configuring Firewall Rules with firewall-cmd
      • 13.3.1 Identifying and Changing the Default Zone
      • 13.3.2 Displaying Zone Information
      • 13.3.3 Adding and Removing Zone Services
      • 13.3.4 Working with Port-based Rules
      • 13.3.5 Creating a New Zone
      • 13.3.6 Changing Zone/Interface Assignments
      • 13.3.7 Masquerading
      • 13.3.8 Adding ICMP Rules
      • 13.3.9 Implementing Port Forwarding
    • 13.4 Managing firewalld from the Cockpit Interface
    • 13.5 Managing firewalld using firewall-config
    • 13.6 Summary
  • 14. Configuring SSH Key-based Authentication on RHEL 8
    • 14.1 An Overview of Secure Shell (SSH)
    • 14.2 SSH Key-based Authentication
    • 14.3 Setting Up Key-based Authentication
    • 14.4 SSH Key-based Authentication from Linux and macOS Clients
    • 14.5 Managing Multiple Keys
    • 14.6 SSH Key-based Authentication from Windows 10 Clients
    • 14.7 SSH Key-based Authentication using PuTTY
    • 14.8 Generating a Private Key with PuTTYgen
    • 14.9 Installing the Public Key for a Google Cloud Instance
    • 14.10 Summary
  • 15. RHEL 8 Remote Desktop Access with VNC
    • 15.1 Secure and Insecure Remote Desktop Access
    • 15.2 Installing the GNOME Desktop Environment
    • 15.3 Installing VNC on RHEL 8
    • 15.4 Configuring the VNC Server
    • 15.5 Connecting to a VNC Server
    • 15.6 Establishing a Secure Remote Desktop Session
    • 15.7 Establishing a Secure Tunnel on Windows using PuTTY
    • 15.8 Shutting Down a Desktop Session
    • 15.9 Troubleshooting a VNC Connection
    • 15.10 Summary
  • 16. Displaying RHEL 8 Applications Remotely (X11 Forwarding)
    • 16.1 Requirements for Remotely Displaying RHEL 8 Applications
    • 16.2 Remotely Displaying a RHEL 8 Application
    • 16.3 Trusted X11 Forwarding
    • 16.4 Compressed X11 Forwarding
    • 16.5 Displaying Remote RHEL 8 Apps on Windows
    • 16.6 Summary
  • 17. Using NFS to Share RHEL 8 Files with Remote Systems
    • 17.1 Ensuring NFS Services are running on RHEL 8
    • 17.2 Configuring the RHEL 8 Firewall to Allow NFS Traffic
    • 17.3 Specifying the Folders to be Shared
    • 17.4 Accessing Shared RHEL 8 Folders
    • 17.5 Mounting an NFS Filesystem on System Startup
    • 17.6 Unmounting an NFS Mount Point
    • 17.7 Accessing NFS Filesystems in Cockpit
    • 17.8 Summary
  • 18. Sharing Files between RHEL 8 and Windows Systems with Samba
    • 18.1 Samba and Samba Client
    • 18.2 Installing Samba on a RHEL 8 System
    • 18.3 Configuring the RHEL 8 Firewall to Enable Samba
    • 18.4 Configuring the smb.conf File
      • 18.4.1 Configuring the [global] Section
      • 18.4.2 Configuring a Shared Resource
      • 18.4.3 Removing Unnecessary Shares
    • 18.5 Configuring SELinux for Samba
    • 18.6 Creating a Samba User
    • 18.7 Testing the smb.conf File
    • 18.8 Starting the Samba and NetBIOS Name Services
    • 18.9 Accessing Samba Shares
    • 18.10 Accessing Windows Shares from RHEL 8
    • 18.11 Summary
  • 19. An Overview of Virtualization Techniques
    • 19.1 Guest Operating System Virtualization
    • 19.2 Hypervisor Virtualization
      • 19.2.1 Paravirtualization
      • 19.2.2 Full Virtualization
      • 19.2.3 Hardware Virtualization
    • 19.3 Virtual Machine Networking
    • 19.4 Summary
  • 20. Installing KVM Virtualization on RHEL 8
    • 20.1 An Overview of KVM
    • 20.2 KVM Hardware Requirements
    • 20.3 Preparing RHEL 8 for KVM Virtualization
    • 20.4 Verifying the KVM Installation
    • 20.5 Summary
  • 21. Creating KVM Virtual Machines using Cockpit and virt-manager
    • 21.1 Installing the Cockpit Virtual Machines Module
    • 21.2 Creating a Virtual Machine in Cockpit
    • 21.3 Starting the Installation
    • 21.4 Working with Storage Volumes and Storage Pools
    • 21.5 Creating a Virtual Machine using virt-manager
    • 21.6 Starting the Virtual Machine Manager
    • 21.7 Configuring the KVM Virtual System
    • 21.8 Starting the KVM Virtual Machine
    • 21.9 Summary
  • 22. Creating KVM Virtual Machines with virt-install and virsh
    • 22.1 Running virt-install to build a KVM Guest System
    • 22.2 An Example RHEL 8 virt-install Command
    • 22.3 Starting and Stopping a Virtual Machine from the Command-Line
    • 22.4 Creating a Virtual Machine from a Configuration File
    • 22.5 Summary
  • 23. Creating a RHEL 8 KVM Networked Bridge Interface
    • 23.1 Getting the Current Network Settings
    • 23.2 Creating a Network Bridge from the Command-Line
    • 23.3 Declaring the KVM Bridged Network
    • 23.4 Using a Bridge Network in a Virtual Machine
    • 23.5 Creating a Bridge Network using nm-connection-editor
    • 23.6 Summary
  • 24. Managing KVM using the virsh Command-Line Tool
    • 24.1 The virsh Shell and Command-Line
    • 24.2 Listing Guest System Status
    • 24.3 Starting a Guest System
    • 24.4 Shutting Down a Guest System
    • 24.5 Suspending and Resuming a Guest System
    • 24.6 Saving and Restoring Guest Systems
    • 24.7 Rebooting a Guest System
    • 24.8 Configuring the Memory Assigned to a Guest OS
    • 24.9 Summary
  • 25. An Introduction to Linux Containers
    • 25.1 Linux Containers and Kernel Sharing
    • 25.2 Container Uses and Advantages
    • 25.3 RHEL 8 Container Tools
    • 25.4 Container Catalogs, Repositories and Registries
    • 25.5 Container Networking
    • 25.6 Summary
  • 26. Working with Containers on RHEL 8
    • 26.1 Installing the Container Tools
    • 26.2 Logging in to the Red Hat Container Registry
    • 26.3 Pulling a Container Image
    • 26.4 Running the Image in a Container
    • 26.5 Managing a Container
    • 26.6 Saving a Container to an Image
    • 26.7 Removing an Image from Local Storage
    • 26.8 Removing Containers
    • 26.9 Building a Container with Buildah
    • 26.10 Building a Container from Scratch
    • 26.11 Container Bridge Networking
    • 26.12 Managing Containers in Cockpit
    • 26.13 Summary
  • 27. Setting Up a RHEL 8 Web Server
    • 27.1 Requirements for Configuring a RHEL 8 Web Server
    • 27.2 Installing the Apache Web Server Packages
    • 27.3 Configuring the Firewall
    • 27.4 Port Forwarding
    • 27.5 Starting the Apache Web Server
    • 27.6 Testing the Web Server
    • 27.7 Configuring the Apache Web Server for Your Domain
    • 27.8 The Basics of a Secure Web Site
    • 27.9 Configuring Apache for HTTPS
    • 27.10 Obtaining an SSL Certificate
    • 27.11 Summary
  • 28. Configuring a RHEL 8 Postfix Email Server
    • 28.1 The structure of the Email System
      • 28.1.1 Mail User Agent
      • 28.1.2 Mail Transfer Agent
      • 28.1.3 Mail Delivery Agent
      • 28.1.4 SMTP
      • 28.1.5 SMTP Relay
    • 28.2 Configuring a RHEL 8 Email Server
    • 28.3 Postfix Pre-Installation Steps
    • 28.4 Firewall/Router Configuration
    • 28.5 Installing Postfix on RHEL 8
    • 28.6 Configuring Postfix
    • 28.7 Configuring DNS MX Records
    • 28.8 Starting Postfix on a RHEL 8 System
    • 28.9 Testing Postfix
    • 28.10 Sending Mail via an SMTP Relay Server
    • 28.11 Summary
  • 29. Adding a New Disk Drive to a RHEL 8 System
    • 29.1 Mounted File Systems or Logical Volumes
    • 29.2 Finding the New Hard Drive
    • 29.3 Creating Linux Partitions
    • 29.4 Creating a File System on a RHEL 8 Disk Partition
    • 29.5 An Overview of Journaled File Systems
    • 29.6 Mounting a File System
    • 29.7 Configuring RHEL 8 to Automatically Mount a File System
    • 29.8 Adding a Disk Using Cockpit
    • 29.9 Summary
  • 30. Adding a New Disk to a RHEL 8 Volume Group and Logical Volume
    • 30.1 An Overview of Logical Volume Management (LVM)
      • 30.1.1 Volume Group (VG)
      • 30.1.2 Physical Volume (PV)
      • 30.1.3 Logical Volume (LV)
      • 30.1.4 Physical Extent (PE)
      • 30.1.5 Logical Extent (LE)
    • 30.2 Getting Information about Logical Volumes
    • 30.3 Adding Additional Space to a Volume Group from the Command-Line
    • 30.4 Adding Additional Space to a Volume Group using Cockpit
    • 30.5 Summary
  • 31. Adding and Managing RHEL 8 Swap Space
    • 31.1 What is Swap Space?
    • 31.2 Recommended Swap Space for RHEL 8
    • 31.3 Identifying Current Swap Space Usage
    • 31.4 Adding a Swap File to a RHEL 8 System
    • 31.5 Adding Swap as a Partition
    • 31.6 Adding Space to a RHEL 8 LVM Swap Volume
    • 31.7 Adding Swap Space to the Volume Group
    • 31.8 Summary
  • Index