GL250 - Enterprise Linux System Administration

The GL250 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.

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 Fundamental" course.

Supported Distributions:

Red Hat Enterprise Linux 5 Update 4

Recommended Class Length:

5 days

Detailed Course Outline:

  1. Pre-Installation Considerations
    1. Pre-Installation Considerations
    2. Hardware Compatibility
    3. Multi-OS Booting
    4. Partition Considerations
    5. Filesystem Considerations
    6. Filesystem Planning
    7. Selecting a Filesystem
  2. Installing RHEL5
    1. Installation Choices
    2. Starting Installations from CD/DVD or USB
    3. Installing From a Network Server
    4. Installing From a Local Hard Drive
    5. Anaconda
    6. Installation Diagnostics
    7. Language and Keyboard Selection
    8. Automatic Partitioning
    9. Partitioning with Disk Druid
    10. Installing a Boot Loader
    11. Network Configuration
    12. Time Zone Configuration
    13. root Password Configuration
    14. Package Group Selection
    15. Installing Packages
    16. Install Finished
    17. Firstboot
    18. Firstboot Firewall Configuration
    19. Firstboot SELinux Configuration
    20. Firstboot Kernel Crash Dump Configuration
    21. Firstboot Date and Time Configuration
    22. Firstboot Authentication Configuration
    23. Kickstart
    24. Creating Kickstart Files
    25. Using Kickstart Files
    Lab Tasks
    1. Linux Installation
    2. Automating Installation with Kickstart
  3. Linux Hardware Discovery, Interaction, and Control
    1. Hardware Discovery Tools
    2. Configuring New Hardware with Kudzu
    3. Hardware and System Clock
    4. Console
    5. Virtual Terminals
    6. Serial Ports
    7. SCSI Devices
    8. USB Devices
    9. USB Configuration
    10. Common UNIX Printing System
    11. Defining a Printer
    12. Managing Optical Media
    13. Tape Drives
    14. Tape Libraries
    15. Managing Linux Device Files
    16. Kernel Hardware Info - /sys/
    17. /sys/ Structure
    18. udev
    19. Kernel Modules
    20. Configuring Kernel Components and Modules
    21. Handling Module Dependencies
    22. Configuring the Kernel via /proc/
    Lab Tasks
    1. PC Hardware and Linux
    2. Configuring Print Queues
    3. Introduction to Troubleshooting Labs
    4. Troubleshooting Practice: Kernel Modules
  4. Boot Process and SYSV Init
    1. Booting Linux on PCs
    2. GRUB Configuration
    3. Kernel Boot Parameters
    4. /sbin/init
    5. System Init Styles
    6. Linux Runlevels
    7. /etc/inittab
    8. /etc/rc.sysinit
    9. Runlevel Implementation
    10. System Configuration Files
    11. Configuration Utilities
    12. Typical SysV Init Script
    13. The /etc/rc.local File
    14. Managing Daemons
    15. Controlling Service Startup
    16. Shutdown and Reboot
    Lab Tasks
    1. Boot Process
    2. GRUB Command Line
    3. Basic GRUB Security
    4. Managing System V Init Scripts
    5. Troubleshooting Practice: Boot Process
  5. Software Maintenance
    1. Managing Software
    2. RPM Features
    3. RPM Architecture
    4. RPM Package Files
    5. Working With RPMs
    6. Querying and Verifying with rpm
    7. Updating the Kernel RPM
    8. Managing Software Dependencies
    9. Using the YUM command
    10. YUM package groups
    11. Configuring YUM
    12. YUM Repositories
    13. Compiling/Installing from Source
    14. Manually Installed Shared Libraries
    15. Installing Source RPM Packages
    Lab Tasks
    1. Managing Software with RPM
    2. Creating a Custom RPM Repository
    3. Querying the RPM Database
    4. Installing Software via RPM/Source and Rebuilding SRPMs
    5. YUM
  6. Filesystem Administration
    1. Partitioning Disks with fdisk
    2. Partitioning Disks with parted
    3. File System Creation
    4. Mounting File Systems
    5. Filesystem Maintenance
    6. Persistent Block Devices
    7. Resizing Filesystems
    8. Swap
    9. Two Types of Disk Space
    10. Determining Disk Usage With df and du
    11. Configuring Disk Quotas
    12. Setting Quotas
    13. Viewing and Monitoring Quotas
    14. Filesystem Attributes
    15. Backup Software
    16. Backup Examples
    Lab Tasks
    1. Creating and Managing Filesystems
    2. Hot Adding Swap
    3. Setting User Quotas
    4. Using tar and cpio for Backups
    5. Using rsync and ssh for Backups
    6. Using dump and restore for Backups
    7. Creating CD Images for Backups
  7. LVM & RAID
    1. Logical Volume Management
    2. Implementing LVM
    3. Creating Logical Volumes
    4. Manipulating VGs & LVs
    5. Advanced LVM Concepts
    6. system-config-lvm
    7. RAID Concepts
    8. Array Creation with mdadm
    9. Software RAID Monitoring
    10. Software RAID Control and Display
    Lab Tasks
    1. Creating and Managing LVM Volumes
    2. Creating and Managing a RAID-5 Array
  8. Remote Storage Administration
    1. Remote Storage Overview
    2. Remote Filesystem Protocols
    3. Remote Block Device Protocols
    4. File Sharing via NFS
    5. NFSv4
    6. NFS Clients
    7. NFS Server Configuration
    8. Implementing NFSv4
    9. AutoFS
    10. AutoFS Configuration
    11. Accessing Windows/Samba Shares from Linux
    12. SAN Multipathing
    13. Multipath Configuration
    14. Multipathing Best Practices
    15. iSCSI Architecture
    16. iSCSI Target Implementations
    17. iSCSI Target Configuration (tgt)
    18. iSCSI Target LUN Configuration (tgt)
    19. iSCSI Target Auth Configuration (tgt)
    20. iSCSI Persistent Configuration (tgt)
    21. Open-iSCSI Initiator Implementation
    22. iSCSI Initiator Discovery
    23. iSCSI Initiator Node Administration
    24. Mounting iSCSI Targets at Boot
    25. iSCSI Multipathing Considerations
    Lab Tasks
    1. Using autofs
    2. NFS Server Configuration
    3. iSCSI Initiator Configuration
  9. User/Group Administration
    1. User and Group Concepts
    2. User Administration
    3. Modifying Accounts
    4. Group Administration
    5. Password Aging
    6. Default User Files
    7. Controlling Logins
    8. Manual DS Client Configuration
    9. system-config-authentication
    Lab Tasks
    1. User and Group Administration
    2. Using LDAP for Centralized User Accounts
    3. Troubleshooting Practice: Account Management
  10. Pluggable Authentication Modules (PAM)
    1. PAM Overview
    2. PAM Module Types
    3. PAM Order of Processing
    4. PAM Control Statements
    5. PAM Modules
    6. pam_unix.so
    7. pam_nologin.so
    8. pam_limits.so
    9. pam_wheel.so
    10. pam_xauth.so
    Lab Tasks
    1. Restricting superuser access to wheel group membership
    2. Using pam_nologin to Restrict Logins
    3. Setting Limits with the pam_limits Modules
    4. Using pam_limits to Restrict Simultaneous Logins
  11. Security Administration
    1. Security Concepts
    2. Tightening Default Security
    3. Security Advisories
    4. File Access Control Lists
    5. Manipulating FACLs
    6. Viewing FACLs
    7. Backing Up FACLs
    8. File Creation Permissions with umask
    9. User Private Group Scheme
    10. Alternatives to UPG
    11. SELinux Security Framework
    12. SELinux Commands
    13. Choosing an SELinux Policy
    14. SELinux Booleans
    15. Graphical SELinux Policy Tools
    Lab Tasks
    1. User Private Groups
    2. Using Filesystem ACLs
    3. Exploring SELinux Modes
    4. SELinux File Contexts
  12. Process Administration
    1. Automating Tasks
    2. at/batch
    3. cron
    4. The crontab Command
    5. crontab Format
    6. /etc/cron.*/ Directories
    7. anacron
    8. Viewing Processes
    9. Managing Processes
    10. Tuning Process Scheduling
    11. Process Accounting
    12. Enabling Process Accounting
    13. Setting Resource Limits via ulimit
    Lab Tasks
    1. Creating and Managing User Cron Jobs
    2. Adding System cron Jobs
    3. Using BSD Process Accounting
  13. Basic Networking
    1. IPv4 Fundamentals
    2. TCP/UDP Fundamentals
    3. Linux Network Interfaces
    4. Ethernet Hardware Tools
    5. Configuring Routing Tables
    6. IP to MAC Address Mapping with ARP
    7. Network Configuration with ip Command
    8. Starting and Stopping Interfaces
    9. NetworkManager
    10. DNS Clients
    11. DHCP Clients
    12. netconfig and system-config-network
    13. Network Diagnostics
    14. Information from netstat
    15. Managing Network-Wide Time
    16. Continual Time Sync with NTP
    17. Configuring NTP Clients
    Lab Tasks
    1. Network Discovery
    2. NTP Client Configuration
  14. Advanced Networking
    1. Multiple IP Addresses
    2. Enabling IPv6
    3. Interface Bonding
    4. Interface Bridging
    5. 802.1q VLANS
    6. Tuning Kernel Network Settings
    7. Configuring a DHCP server
    Lab Tasks
    1. Multiple IP Addresses Per Network Interface
    2. Configuring IPv6
    3. Troubleshooting Practice: Networking
  15. The X Window System
    1. The X Window System
    2. X Modularity
    3. X.Org Drivers
    4. Configuring X Manually
    5. Automatic X Configuration
    6. Xorg and Fonts
    7. The X Font Server
    8. Installing Fonts for Modern Applications and Legacy Applications
    9. The X11 Protocol and Display Names
    10. Display Managers and Graphical Login
    11. Starting X Apps Automatically
    12. X Access Control
    13. Remote X Access (historical/insecure and modern/secure approach)
    14. XDMCP
    15. Remote Graphical Access With VNC and RDP
    16. Specialized X Servers
    Lab Tasks
    1. Remote X with XDMCP
    2. Configure X Security
    3. Configure a VNC Server
    4. Launching X Apps Automatically
    5. Secure X
    6. Troubleshooting Practice: X11
  16. Log File Administration
    1. System Logging
    2. /etc/syslog.conf
    3. Rsyslog
    4. Log Management
    5. Log Anomaly Detector
    Lab Tasks
    1. Remote Syslog Configuration
    2. etting up a Full Debug Logfile
  17. Monitoring and Troubleshooting
    1. System Status - Memory
    2. System Status - I/O
    3. System Status - CPU
    4. Performance Trending with sar
    5. Troubleshooting Basics: The Process
    6. Troubleshooting Basics: The Tools
    7. strace and ltrace
    8. Common Problems
    9. Incorrect File Permissions
    10. Inability to Boot
    11. Typos in Configuration Files
    12. Corrupt Filesystems
    13. Rescue Environment
    Lab Tasks
    1. Recovering Damaged MBR
  1. Xen Virtualization
    1. Virtualization: What and Why?
    2. What is Xen?
    3. Xen Architecture, Deployment Options and Considerations
    4. Xen Networking
    5. Live Migration of Xen Virtual Servers
    6. xend Configuration
    7. Guest Config Files
    8. The xm Command
    9. Common xm Usage
    10. Xen Configuration Tools
    Lab Tasks
    1. Installing a Xen VM
    2. Creating a Bootstrapped Xen Guest
  2. Linux Kernel Compilation
    1. Why Compile?
    2. Getting Kernel Source
    3. Preparing to Compile
    4. Configuring the Kernel Compilation Options
    5. Available Kernel Compile Options
    6. Compiling the Kernel
    7. Compile and Install Modules
    8. Installing the Kernel
    9. Tips and Tricks
    Lab Tasks
    1. Linux Kernel 2.6 Driver Compilation
    2. Linux Kernel 2.6 Compilation
 
Copyright (C) 2010, Enigma Logic Inc.