Linux System Administration
Learn about Linux from Instructors with Real World Expertise.
A 5 day intermediate course that explores the installation, configuration and maintenance of Linux systems.
Overview:
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.
Target Audience:
- Architects
- System Administrators
- Developers
Structure: 50% theory 50% hands on lab exercises
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 the Linux Fundamentals course.
Duration: 5 days
Course Outline:
Linux Kernel & Devices
Overview:
- 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 Configuration
- Kernel Modules
- Configuring Kernel Components and Modules
- Handling Module Dependencies
- Configuring the Kernel via /proc/
- Console
- Virtual Terminals
- Serial Ports
Lab Tasks
- Adjusting Kernel Options
- Introduction to Troubleshooting Labs
- Troubleshooting Practice: Kernel Modules
Boot Process and Sysv Init
Overview:
- Systemd System and Service Manager
- Systemd Targets
- Using systemd
- Legacy Support for SysV init
- Booting Linux on PCs
- GRUB 2
- GRUB2 Configuration
- GRUB2 Security
- Boot Parameters
- Initial RAM Filesystem
- Init
- System Init Styles Overview
- Linux Runlevels Aliases
- 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
- GRUB Command Line
- Basic GRUB Security
- Managing Services With Systemd’s systemctl
- Troubleshooting Practice: Boot Process
Software Maintenance
Overview:
- 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
Local Storage Administration
Overview:
- Partitioning Disks with fdisk
- Partitioning Disks with parted
- 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 and RAID
Overview:
- Logical Volume Management
- Implementing LVM
- Creating Logical Volumes
- Manipulating VGs & LVs
- Advanced LVM Concepts
- Gnome-disk-utility
- 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 and Managing a RAID-5 Array
Remote Storage and Administration
Overview:
- 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
Overview:
- User and Group Concepts
- User Administration
- Modifying Accounts
- Group Administration
- Password Ageing
- Default User Files
- Controlling Login Sessions
- System-config-authentication
- 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)
Overview:
- 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
Overview:
- Security Concepts
- Tightening Default Security
- SuSE Security Checker
- Security Advisories
- 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
Basic Networking
Overview:
- 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
Overview:
- Multiple IP Addresses
- Configuring a DHCP server
- IPv6
- Interface Bonding
- 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
Overview:
- System Logging
- Systemd Journal
- Gnome-system-log
- Rsyslog
- /etc/rsyslog.conf
- Log Management
- Log Anomaly Detector
Lab Tasks:
- Using the systemd Journal
- Setting up a Full Debug Logfile
- Remote Syslog Configuration
- Remote Rsyslog TLS Configuration
Monitoring and Troubleshooting
Overview:
- System Status Memory
- System Status I/O
- System Status CPU
- Performance Trending with sar
- Determining Service to Process Mapping
- Realtime Monitoring of Resources groups
- Troubleshooting Basics: The Process 8 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:
- Recovering Damaged MBR
- Cgroup for Processes
Pre-Installation Considerations
Overview:
- Pre-Installation Considerations
- Hardware Compatibility
- Multi-OS Booting
- Partition Considerations
- Filesystem Planning
- Selecting a Filesystem
Installing RHEL
Overview:
- 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
Installilng SLES
Overview:
- 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
Managing Virtual Machines
Overview:
- 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
- Libguestfs and guestfish
Lab Tasks:
- Installing a Virtual Machine
Backups
Overview:
- 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