Enterprise Linux System Administration Training in Ann Arbor

Enroll in or hire us to teach our Enterprise Linux System Administration class in Ann Arbor, Michigan by calling us @303.377.6176. Like all HSG classes, Enterprise Linux System Administration may be offered either onsite or via instructor led virtual training. Consider looking at our public training schedule to see if it is scheduled: Public Training Classes
Provided there are enough attendees, Enterprise Linux System Administration may be taught at one of our local training facilities.
We offer private customized training for groups of 3 or more attendees.

Course Description

 
Enterprise Linux Systems Administration 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. 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 include Oracle Linux 7; Red Hat Enterprise Linux 7 and SUSE Linux Enterprise 12.
Course Length: 5 Days
Course Tuition: $2190 (US)

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 is not be covered. An understanding of network concepts, and the TCP/IP protocol suite is helpful. These skills are taught in the "Linux Fundamentals" courses.

Course Outline

 
  1. LINUX KERNEL & DEVICES
    1. Hardware Discovery Tools
    2. Configuring New Hardware with hwinfo
    3. Kernel Hardware Info – /sys/
    4. /sys/ Structure
    5. udev
    6. Managing Linux Device Files
    7. List Block Devices
    8. SCSI Devices
    9. USB Devices
    10. USB Architecture
    11. Kernel Modules
    12. Configuring Kernel Components and Modules
    13. Handling Module Dependencies
    14. Configuring the Kernel via /proc/
    15. Console
    16. Virtual Terminals
    17. Keyboard & locale configuration
    18. Serial Ports
    19. Random Numbers and /dev/random
    LAB TASKS
    1. Adjusting Kernel Options
    2. Linux Kernel Driver Compilation
    3. Introduction to Troubleshooting Labs
    4. Troubleshooting Practice: Kernel Modules
  2. SYSTEMD OVERVIEW
    1. System Boot Method Overview
    2. systemd System and Service Manager
    3. Modifying systemd services
    4. Systemd Service Sandboxing Features
    5. systemd Targets
    6. Using systemd
    7. Linux Runlevels Aliases
    8. Legacy Support for SysV init
    LAB TASKS
    1. Managing Services With Systemd's systemctl
    2. Creating a systemd unit file
  3. GRUB2/SYSTEMD BOOT PROCESS
    1. Booting Linux on PCs
    2. GRUB 2
    3. GRUB 2 Configuration
    4. GRUB 2 Security
    5. Boot Parameters
    6. Initial RAM Filesystem
    7. init
    8. Systemd local-fs.target and sysinit.target
    9. Systemd basic.target and multi-user.target
    10. Legacy local bootup script support
    11. System Configuration Files
    12. RHEL7 Configuration Utilities
    13. SLES12 Configuration Utilities
    14. Shutdown and Reboot
    LAB TASKS
    1. Boot Process
    2. Booting directly to a bash shell
    3. GRUB Command Line
    4. Basic GRUB Security
    5. Troubleshooting Practice: Boot Process
  4. 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. Dealing With RPM & Yum Digest Changes
    9. Yum Plugins & RHN Subscription Manager
    10. YUM Repositories
    11. YUM Repository Groups
    12. Compiling/Installing from Source
    13. Manually Installed Shared Libraries
    14. Rebuilding 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. Troubleshooting Practice: Package Management
  5. LOCAL STORAGE ADMINISTRATION
    1. Partitioning Disks with fdisk & gdisk
    2. Resizing a GPT Partition with gdisk
    3. Partitioning Disks with parted
    4. Non-Interactive Disk Partitioning with sfdisk
    5. Filesystem Creation
    6. Persistent Block Devices
    7. Mounting Filesystems
    8. Resizing Filesystems
    9. Filesystem Maintenance
    10. Managing an XFS Filesystem
    11. Swap
    12. Filesystem Structures
    13. Determining Disk Usage With df and du
    14. Configuring Disk Quotas
    15. Setting Quotas
    16. Viewing and Monitoring Quotas
    17. Filesystem Attributes
    LAB TASKS
    1. Creating and Managing Filesystems
    2. Hot Adding Swap
    3. Setting User Quotas
  6. LVM & RAID
    1. Logical Volume Management
    2. Implementing LVM
    3. Creating Logical Volumes
    4. Activating LVM VGs
    5. Exporting and Importing a VG
    6. Examining LVM Components
    7. Changing LVM Components
    8. Advanced LVM Overview
    9. Advanced LVM: Components & Object Tags
    10. Advanced LVM: Automated Storage Tiering
    11. Advanced LVM: Thin Provisioning
    12. Advanced LVM: Striping & Mirroring
    13. Advanced LVM: RAID Volumes
    14. SLES Graphical Disk Tool
    15. RAID Concepts
    16. Array Creation with mdadm
    17. Software RAID Monitoring
    18. Software RAID Control and Display
    LAB TASKS
    1. Creating and Managing LVM Volumes
    2. Creating LVM Thin Volumes
    3. Troubleshooting Practice: LVM
    4. Creating and Managing a RAID-5 Array
  7. 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. YaST NFS Server Administration
    9. Implementing NFSv4
    10. AutoFS
    11. AutoFS Configuration
    12. Accessing Windows/Samba Shares from Linux
    13. SAN Multipathing
    14. Multipath Configuration
    15. Multipathing Best Practices
    16. iSCSI Architecture
    17. Open-iSCSI Initiator Implementation
    18. iSCSI Initiator Discovery
    19. iSCSI Initiator Node Administration
    20. Mounting iSCSI Targets at Boot
    21. iSCSI Multipathing Considerations
    LAB TASKS
    1. Using autofs
    2. NFS Server Configuration
    3. iSCSI Initiator Configuration
    4. Multipathing with iSCSI
  8. USER/GROUP ADMINISTRATION
    1. Approaches to Storing User Accounts
    2. User and Group Concepts
    3. User Administration
    4. Modifying Accounts
    5. Group Administration
    6. Password Aging
    7. Default User Files
    8. Controlling Login Sessions
    9. RHEL DS Client Configuration
    10. SLES DS Client Configuration
    11. System Security Services Daemon (SSSD)
    LAB TASKS
    1. User and Group Administration
    2. Using LDAP for Centralized User Accounts
    3. Troubleshooting Practice: Account Management
  9. 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
    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
  10. SECURITY ADMINISTRATION
    1. Security Concepts
    2. Tightening Default Security
    3. SuSE Security Checker
    4. Security Advisories
    5. Fine Grained Authorizations with Polkit
    6. File Access Control Lists
    7. Manipulating FACLs
    8. Viewing FACLs
    9. Backing Up FACLs
    10. File Creation Permissions with umask
    11. User Private Group Scheme
    12. Alternatives to UPG
    13. AppArmor
    14. SELinux Security Framework
    15. SELinux Modes
    16. SELinux Commands
    17. Choosing an SELinux Policy
    18. SELinux Booleans
    19. Permissive Domains
    20. SELinux Policy Tools
    21. SUSE Basic Firewall Configuration
    22. FirewallD
    LAB TASKS
    1. User Private Groups
    2. Using Filesystem ACLs
    3. Exploring AppArmor
    4. Exploring SELinux Modes
    5. SELinux File Contexts
    6. SELinux Contexts in Action
  11. BASIC NETWORKING
    1. IPv4 Fundamentals
    2. TCP/UDP Fundamentals
    3. Linux Network Interfaces
    4. Ethernet Hardware Tools
    5. Network Configuration with ip Command
    6. Configuring Routing Tables
    7. IP to MAC Address Mapping with ARP
    8. Starting and Stopping Interfaces
    9. NetworkManager
    10. DNS Clients
    11. DHCP Clients
    12. SUSE YaST Network Configuration Tool
    13. Network Diagnostics
    14. Information from ss and netstat
    15. Hardware and System Clock
    16. Managing Network-Wide Time
    17. Continual Time Sync with NTP
    18. Configuring NTP Clients
    19. Useful NTP Commands
    LAB TASKS
    1. Network Discovery
    2. Basic Client Networking
    3. NTP Client Configuration
  12. ADVANCED NETWORKING
    1. Multiple IP Addresses
    2. Configuring a DHCP server
    3. IPv6
    4. Interface Aggregation
    5. Interface Bonding
    6. Network Teaming
    7. Interface Bridging
    8. 802.1q VLANS
    9. Tuning Kernel Network Settings
    LAB TASKS
    1. Multiple IP Addresses Per Network Interface
    2. Configuring IPv6
    3. Troubleshooting Practice: Networking
  13. LOG FILE ADMINISTRATION
    1. System Logging
    2. systemd Journal
    3. systemd Journal's journalctl
    4. Secure Logging with Journal's Log Sealing
    5. gnome-system-log
    6. Rsyslog
    7. /etc/rsyslog.conf
    8. Log Management
    9. Log Anomaly Detector
    10. Sending logs from the shell
    LAB TASKS
    1. Using the systemd Journal
    2. Setting up a Full Debug Logfile
    3. Remote Syslog Configuration
    4. Remote Rsyslog TLS Configuration
  14. MONITORING & TROUBLESHOOTING
    1. System Status – Memory
    2. System Status – I/O
    3. System Status – CPU
    4. Performance Trending with sar
    5. Determining Service to Process Mapping
    6. Real-time Monitoring of Resources — Cgroups
    7. Troubleshooting Basics: The Process
    8. Troubleshooting Basics: The Tools
    9. strace and ltrace
    10. Common Problems
    11. Troubleshooting Incorrect File Permissions
    12. Inability to Boot
    13. Typos in Configuration Files
    14. Corrupt Filesystems
    15. RHEL7 Rescue Environment
    16. SUSE Rescue Environment
    LAB TASKS
    1. System Activity Reporter
    2. Cgroup for Processes
    3. Recovering Damaged MBR
    1. PRE-INSTALLATION CONSIDERATIONS
      1. Pre-Installation Considerations
      2. Hardware Compatibility
      3. Multi-OS Booting
      4. Partition Considerations
      5. Filesystem Planning
      6. Selecting a Filesystem
    2. INSTALLING RHEL7
      1. Anaconda: An Overview
      2. Anaconda: Booting the System
      3. Anaconda: Common Boot Options
      4. Anaconda: Loading Anaconda and Packages
      5. Anaconda: Storage Options
      6. Anaconda: Troubleshooting
      7. FirstBoot
      8. Kickstart
      9. Network Booting with PXE
      10. A Typical Install
      LAB TASKS
      1. Linux Installation
      2. Automating Installation with Kickstart
    3. INSTALLING SLES12
      1. YaST Install Program Interface
      2. Network Installation
      3. SLP for SUSE Linux Installation
      4. Installation Choices
      5. Kernel Crash Dump Configuration
      6. Network Booting with PXE
      7. Creating AutoYaST2 Files
      8. Using AutoYaST2 files
      9. linuxrc Automation
      10. Installation Diagnostics
      11. After The First Reboot
      12. A Typical Install
      LAB TASKS
      1. SUSE Linux Enterprise Server Installation
      2. Automating Installation with AutoYaST
    4. MANAGE VIRTUAL MACHINES
      1. Virtualization: What and Why?
      2. Introducing libvirt
      3. libvirt: Basic Concepts
      4. libvirt: Storage Architecture
      5. libvirt: Network Architecture
      6. libvirt: Graphical Tools
      7. libvirt: Command Line Tools
      8. virsh: Basics
      9. virsh: Common Tasks
      10. virt-install
      11. Virtual Machine Guest Tools & Drivers
      12. libguestfs and guestfish
      LAB TASKS
      1. Installing a Virtual Machine
    5. BACKUPS
      1. Backup Software
      2. Managing Optical Media
      3. Tape Libraries
      4. Backup Examples
      LAB TASKS
      1. Using rsync and ssh for Backups
      2. Using tar for Backups
      3. Using cpio for Backups
      4. Creating ISO Images for Backups
      5. Using dump and restore for Backups

Course Directory [training on all levels]

Upcoming Classes
Gain insight and ideas from students with different perspectives and experiences.

Linux Unix Uses & Stats

Linux Unix is Used For:
Desktop Mainframe Computers Mobile Devices Embedded Devices
Difficulty
Popularity
Year Created
1991/1971
Pros
Performance:
Linux supports many efficient tools and operates them seamlessly. Because it's architecture is lightweight it runs faster than both Windows 8.1 and 10. 
 
Security:
Because Linux is an open-source software,  anyone can contribute code to help enhance the users’ experience i.e., adding features, fixing bugs, reducing security risks, and more.
 
 
Software Development:
The terminal in Linux is a *wild card*. You can do almost anything with it. This includes software installation, application and server configurations, file system management, and etc.
 
Large-scale:
Open-source projects benefit from having an attentive community. As a result, Linux is more secure than Windows. Instead of installing anti viruses to clean malware, you just have to stick to the recommended repositories. 
 
Efficient: 
Developers have the convenience of running servers, training machine learning models, accessing remote machines, and compiling and running scripts from the same terminal window. 
 
Free: 
Linux is free (you can put it on as many systems as you like) and you can change it to suit your needs.
Cons
Learning Curve: 
Linux is not for everyone, there is a learning curve in switching to Ubuntu. To actually learn Linux efficiently would take a user one to several years.
 
No Tech Support:
Unlike Windows, there isn’t a dedicated tech support, so getting help for things is up to you. 
 
Designer Compatabilty:
Linux is not as user friendly as Windows or as ‘straight out of the box design’ As an example for design choices, Adobe hasn’t released any of its products to Linux users. So it’s impossible to run them directly. The Ubuntu alternative is a free software called GIMP. 
 
Gaming Capabilities: 
Most games aren’t available in Linux. But that’s not to say you can’t make it happen, it's just not as easy.   
Linux Unix Job Market
Average Salary
$85k-$105k
Job Count
n/a
Top Job Locations

New York City
Boston
San Francisco 

Complimentary Skills to have along with Linux Unix
The following are types of jobs that may require Linux skills.  The top 15 job titles on Dice.com that mention Linux in their postings are:
- DevOps Engineer
- Software Engineer
- Java Developer
- Systems Engineer
- Systems Administrator
- Senior Software Engineer
- Network Engineer
- Python Developer
- Linux Systems Administrator
- Software Developer
- System Administrator
- Linux Administrator
- Linux Engineer
- Senior Java Developer
- C++ Developer

Interesting Reads Take a class with us and receive a book of your choosing for 50% off MSRP.