Duration:
5 days
Audience:
Employees of federal, state and local governments; and businesses working with the government.
Prerequisites:
Students should already be comfortable working in a Linux or Unix environment. Fundamentals such as the Linux filesystem, process management, and how to edit files will not be covered in class. An understanding of network concepts, and the TCP/IP protocol suite is helpful. These skills are taught in our Linux Fundamentals course.
Course Description:
This is an in-depth course that explores installation, configuration and maintenance of Linux systems. The course focuses on issues universal to every workstation and server. Like all Guru Labs courses, the course material is designed to provide extensive hands-on experience. Topics include: installation and configuration; the boot process; user and group administration; filesystem administration, including quotas, FACLs, RAID and LVM; task automation; client networking; SELinux; software management; log files; troubleshooting; and more.
Supported Distributions:
Oracle Linux 7
Red Hat Enterprise Linux 7
SUSE Linux Enterprise 12
Course Outline:
- LINUX KERNEL & DEVICES
- Hardware Discovery Tools
- Configuring New Hardware with hwinfo
- Kernel Hardware Info – /sys/
- /sys/ Structure
- udev
- Managing Linux Device Files
- List Block Devices
- SCSI Devices
- USB Devices
- USB Architecture
- Kernel Modules
- Configuring Kernel Components and Modules
- Handling Module Dependencies
- Configuring the Kernel via /proc/
- Console
- Virtual Terminals
- Keyboard & locale configuration
- Serial Ports
- Random Numbers and /dev/random
LAB TASKS
- Adjusting Kernel Options
- Linux Kernel Driver Compilation
- Introduction to Troubleshooting Labs
- Troubleshooting Practice: Kernel Modules
- SYSTEMD OVERVIEW
- System Boot Method Overview
- systemd System and Service Manager
- Modifying systemd services
- Systemd Service Sandboxing Features
- systemd Targets
- Using systemd
- Linux Runlevels Aliases
- Legacy Support for SysV init
LAB TASKS
- Managing Services With Systemd’s systemctl
- Creating a systemd unit file
- GRUB2/SYSTEMD BOOT PROCESS
- Booting Linux on PCs
- GRUB 2
- GRUB 2 Configuration
- GRUB 2 Security
- Boot Parameters
- Initial RAM Filesystem
- init
- Systemd local-fs.target and sysinit.target
- Systemd basic.target and multi-user.target
- Legacy local bootup script support
- System Configuration Files
- RHEL7 Configuration Utilities
- SLES12 Configuration Utilities
- Shutdown and Reboot
LAB TASKS
- Boot Process
- Booting directly to a bash shell
- GRUB Command Line
- Basic GRUB Security
- Troubleshooting Practice: Boot Process
- SOFTWARE MAINTENANCE
- Managing Software
- RPM Features
- RPM Architecture
- RPM Package Files
- Working With RPMs
- Querying and Verifying with RPM
- Updating the Kernel RPM
- Dealing With RPM & Yum Digest Changes
- Yum Plugins & RHN Subscription Manager
- YUM Repositories
- YUM Repository Groups
- Compiling/Installing from Source
- Manually Installed Shared Libraries
- Rebuilding Source RPM Packages
LAB TASKS
- Managing Software with RPM
- Creating a Custom RPM Repository
- Querying the RPM Database
- Installing Software via RPM & Source and Rebuilding SRPMs
- Troubleshooting Practice: Package Management
- LOCAL STORAGE ADMINISTRATION
- Partitioning Disks with fdisk & gdisk
- Resizing a GPT Partition with gdisk
- Partitioning Disks with parted
- Non-Interactive Disk Partitioning with sfdisk
- Filesystem Creation
- Persistent Block Devices
- Mounting Filesystems
- Resizing Filesystems
- Filesystem Maintenance
- Managing an XFS Filesystem
- Swap
- Filesystem Structures
- Determining Disk Usage With df and du
- Configuring Disk Quotas
- Setting Quotas
- Viewing and Monitoring Quotas
- Filesystem Attributes
LAB TASKS
- Creating and Managing Filesystems
- Hot Adding Swap
- Setting User Quotas
- LVM & RAID
- Logical Volume Management
- Implementing LVM
- Creating Logical Volumes
- Activating LVM VGs
- Exporting and Importing a VG
- Examining LVM Components
- Changing LVM Components
- Advanced LVM Overview
- Advanced LVM: Components & Object Tags
- Advanced LVM: Automated Storage Tiering
- Advanced LVM: Thin Provisioning
- Advanced LVM: Striping & Mirroring
- Advanced LVM: RAID Volumes
- SLES Graphical Disk Tool
- RAID Concepts
- Array Creation with mdadm
- Software RAID Monitoring
- Software RAID Control and Display
LAB TASKS
- Creating and Managing LVM Volumes
- Creating LVM Thin Volumes
- Troubleshooting Practice: LVM
- Creating and Managing a RAID-5 Array
- REMOTE STORAGE ADMINISTRATION
- Remote Storage Overview
- Remote Filesystem Protocols
- Remote Block Device Protocols
- File Sharing via NFS
- NFSv4+
- NFS Clients
- NFS Server Configuration
- YaST NFS Server Administration
- Implementing NFSv4
- AutoFS
- AutoFS Configuration
- Accessing Windows/Samba Shares from Linux
- SAN Multipathing
- Multipath Configuration
- Multipathing Best Practices
- iSCSI Architecture
- Open-iSCSI Initiator Implementation
- iSCSI Initiator Discovery
- iSCSI Initiator Node Administration
- Mounting iSCSI Targets at Boot
- iSCSI Multipathing Considerations
LAB TASKS
- Using autofs
- NFS Server Configuration
- iSCSI Initiator Configuration
- Multipathing with iSCSI
- USER/GROUP ADMINISTRATION
- Approaches to Storing User Accounts
- User and Group Concepts
- User Administration
- Modifying Accounts
- Group Administration
- Password Aging
- Default User Files
- Controlling Login Sessions
- RHEL DS Client Configuration
- SLES DS Client Configuration
- System Security Services Daemon (SSSD)
LAB TASKS
- User and Group Administration
- Using LDAP for Centralized User Accounts
- Troubleshooting Practice: Account Management
- PLUGGABLE AUTHENTICATION MODULES (PAM)
- PAM Overview
- PAM Module Types
- PAM Order of Processing
- PAM Control Statements
- PAM Modules
- pam_unix
- pam_nologin.so
- pam_limits.so
- pam_wheel.so
- pam_xauth.so
LAB TASKS
- Restricting superuser access to wheel group membership
- Using pam_nologin to Restrict Logins
- Setting Limits with the pam_limits Modules
- Using pam_limits to Restrict Simultaneous Logins
- SECURITY ADMINISTRATION
- Security Concepts
- Tightening Default Security
- SuSE Security Checker
- Security Advisories
- Fine Grained Authorizations with Polkit
- File Access Control Lists
- Manipulating FACLs
- Viewing FACLs
- Backing Up FACLs
- File Creation Permissions with umask
- User Private Group Scheme
- Alternatives to UPG
- AppArmor
- SELinux Security Framework
- SELinux Modes
- SELinux Commands
- Choosing an SELinux Policy
- SELinux Booleans
- Permissive Domains
- SELinux Policy Tools
- SUSE Basic Firewall Configuration
- FirewallD
LAB TASKS
- User Private Groups
- Using Filesystem ACLs
- Exploring AppArmor
- Exploring SELinux Modes
- SELinux File Contexts
- SELinux Contexts in Action
- BASIC NETWORKING
- IPv4 Fundamentals
- TCP/UDP Fundamentals
- Linux Network Interfaces
- Ethernet Hardware Tools
- Network Configuration with ip Command
- Configuring Routing Tables
- IP to MAC Address Mapping with ARP
- Starting and Stopping Interfaces
- NetworkManager
- DNS Clients
- DHCP Clients
- SUSE YaST Network Configuration Tool
- Network Diagnostics
- Information from ss and netstat
- Hardware and System Clock
- Managing Network-Wide Time
- Continual Time Sync with NTP
- Configuring NTP Clients
- Useful NTP Commands
LAB TASKS
- Network Discovery
- Basic Client Networking
- NTP Client Configuration
- ADVANCED NETWORKING
- Multiple IP Addresses
- Configuring a DHCP server
- IPv6
- Interface Aggregation
- Interface Bonding
- Network Teaming
- Interface Bridging
- 802.1q VLANS
- Tuning Kernel Network Settings
LAB TASKS
- Multiple IP Addresses Per Network Interface
- Configuring IPv6
- Troubleshooting Practice: Networking
- LOG FILE ADMINISTRATION
- System Logging
- systemd Journal
- systemd Journal’s journalctl
- Secure Logging with Journal’s Log Sealing
- gnome-system-log
- Rsyslog
- /etc/rsyslog.conf
- Log Management
- Log Anomaly Detector
- Sending logs from the shell
LAB TASKS
- Using the systemd Journal
- Setting up a Full Debug Logfile
- Remote Syslog Configuration
- Remote Rsyslog TLS Configuration
- MONITORING & TROUBLESHOOTING
- System Status – Memory
- System Status – I/O
- System Status – CPU
- Performance Trending with sar
- Determining Service to Process Mapping
- Real-time Monitoring of Resources — Cgroups
- Troubleshooting Basics: The Process
- Troubleshooting Basics: The Tools
- strace and ltrace
- Common Problems
- Troubleshooting Incorrect File Permissions
- Inability to Boot
- Typos in Configuration Files
- Corrupt Filesystems
- RHEL7 Rescue Environment
- SUSE Rescue Environment
LAB TASKS
- System Activity Reporter
- Cgroup for Processes
- Recovering Damaged MBR
- PRE-INSTALLATION CONSIDERATIONS
- Pre-Installation Considerations
- Hardware Compatibility
- Multi-OS Booting
- Partition Considerations
- Filesystem Planning
- Selecting a Filesystem
- INSTALLING RHEL7
- Anaconda: An Overview
- Anaconda: Booting the System
- Anaconda: Common Boot Options
- Anaconda: Loading Anaconda and Packages
- Anaconda: Storage Options
- Anaconda: Troubleshooting
- FirstBoot
- Kickstart
- Network Booting with PXE
- A Typical Install
LAB TASKS
- Linux Installation
- Automating Installation with Kickstart
- INSTALLING SLES12
- YaST Install Program Interface
- Network Installation
- SLP for SUSE Linux Installation
- Installation Choices
- Kernel Crash Dump Configuration
- Network Booting with PXE
- Creating AutoYaST2 Files
- Using AutoYaST2 files
- linuxrc Automation
- Installation Diagnostics
- After The First Reboot
- A Typical Install
LAB TASKS
- SUSE Linux Enterprise Server Installation
- Automating Installation with AutoYaST
- MANAGE VIRTUAL MACHINES
- Virtualization: What and Why?
- Introducing libvirt
- libvirt: Basic Concepts
- libvirt: Storage Architecture
- libvirt: Network Architecture
- libvirt: Graphical Tools
- libvirt: Command Line Tools
- virsh: Basics
- virsh: Common Tasks
- virt-install
- Virtual Machine Guest Tools & Drivers
- libguestfs and guestfish
LAB TASKS
- Installing a Virtual Machine
- BACKUPS
- Backup Software
- Managing Optical Media
- Tape Libraries
- Backup Examples
LAB TASKS
- Using rsync and ssh for Backups
- Using tar for Backups
- Using cpio for Backups
- Creating ISO Images for Backups
- Using dump and restore for Backups