Course Description
This comprehensive course is designed to equip learners with a profound understanding of Linux system administration. The course kicks off with foundational concepts such as the Linux Kernel, device management, and the intricacies of systemd, setting the stage for deeper exploration into system boot processes, including GRUB2 and systemd boot. Each section progresses through detailed topics, including hardware discovery, kernel module configuration, and systemd service management, ensuring participants build a robust foundation in managing and configuring the core aspects of a Linux system.
As the course unfolds, it delves into advanced areas such as software maintenance, local and remote storage administration, user and group management, and the critical aspects of security through Pluggable Authentication Modules (PAM) and comprehensive security administration modules. These sections are crafted to cover the essentials of software management using RPM and DNF, the intricacies of LVM & RAID for storage, and the importance of security in system administration, including SELinux and firewall management. The practical application of these concepts is reinforced through targeted lab tasks, where learners apply knowledge to real-world scenarios, enhancing their problem-solving and system management skills.
The course also addresses the dynamic nature of networking and system maintenance, with chapters dedicated to basic and advanced networking concepts, log file administration, and the pivotal aspects of monitoring and troubleshooting. These sections are crucial for understanding how Linux systems interact within networked environments and how administrators can effectively monitor, diagnose, and resolve system issues. This course is designed not just to impart theoretical knowledge but to foster practical skills and critical thinking, preparing learners for the challenges of Linux system administration in real-world environments.
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 GL120 "Linux Fundamentals" course.
Detailed Course Outline
Module 1: 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 Configuration
- 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
Module 2: System 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
Module 3: GRUB2/Systemd Boot Process
- Booting Linux on PCs, GRUB 2, GRUB 2 Configuration
- The Boot Loader Specification, 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
- RHEL9 Configuration Utilities, SLES15 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
Module 4: 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
- DNF Plugins & RHSM Subscription Manager
- DNF Version Lock Plugin, DNF Repositories
- DNF 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
Module 5: 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, XFS Project quotas
- Filesystem Attributes
Lab Tasks: Creating and Managing Filesystems, Hot Adding Swap, XFS Copy-on-Write, Setting User Quotas, Creating XFS Project Quotas
Module 6: 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, Using Boom to Boot to an LVM Snapshot, Troubleshooting Practice: LVM, Creating and Managing a RAID-5 Array
Module 7: 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
Module 8: User/Group Administration
- User and Group Concepts, User Administration
- Modifying Accounts, Group Administration
- Password Aging, 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
Module 9: 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
Module 10: Security Administration
- 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, SELinux Contexts in Action
Module 11: 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, Continual Time Sync with NTP
- Time Synchronization with Chronyd
Lab Tasks: Network Discovery, Using nmcli, Chrony Client Configuration
Module 12: 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, TCP Congestion Control
Lab Tasks: Multiple IP Addresses Per Network Interface, Configuring IPv6, TCP Congestion Control, Troubleshooting Practice: Networking
Module 13: Log File Administration
- System Logging, Systemd Journal
- systemd Journal's journalctl
- Secure Logging with Journal's Log Sealing
- Cockpit - Logs, 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
Module 14: Monitoring & Troubleshooting
- System Status - Memory, System Status - I/O
- System Status - CPU, Performance Trending with sar
- Determining Service to Process Mapping
- Realtime 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
- RHEL9 Rescue Environment, SUSE Rescue Environment
Lab Tasks: System Activity Reporter
Appendices
- Appendix A: Pre-Installation Considerations - Hardware compatibility, multi-OS booting, partition and filesystem planning
- Appendix B: Installing RHEL9 - Anaconda installer, kickstart automation, PXE network booting
- Appendix C: Installing SLES15 - YaST installer, AutoYaST automation, network installation
- Appendix D: Manage Virtual Machines - libvirt, virsh, virt-install, libguestfs
- Appendix E: Backups - Backup software, optical media, tape drives, rsync, tar, cpio, dump/restore