Course Overview

The Linux Professional Institute (LPI) has established itself as the standard for distribution independent Linux certification. LPI offers three levels of certification: LPI 1, LPI 2 and LPI 3. LPI 1 is the base level certification that is looked for by professionals that want to validate their skills on Linux but not to one specific Linux distribution. This course will help candidates preparing for the LPIC 101 exam, which is the first out of 2 LPI exams candidates have to take to obtain the certificate.

 TopicsSystem ArchitectureLinux Installation and Package ManagementGNU and Unix CommandsDevices, Linux Filesystems, Filesystem Hierarchy Standard

Course Objectives

To become LPIC-1 certified the candidate must be able to:

  • understand the architecture of a Linux system;
  • install and maintain a Linux workstation, including X11 and setup it up as a network client;
  • work at the Linux command line, including common GNU and Unix commands;
  • handle files and access permissions as well as system security; and
  • perform easy maintenance tasks: help users, add users to a larger system, backup and restore, shutdown and reboot.

Course Content

Topic 101: System Architecture

101.1 Determine and configure hardware settings

Description: Candidates should be able to determine and configure fundamental system hardware

Key Knowledge Areas:

  • Enable and disable integrated peripherals.
  • Differentiate between the various types of mass storage devices.
  • Determine hardware resources for devices.
  • Tools and utilities to list various hardware information (e.g. lsusb, lspci, etc.).
  • Tools and utilities to manipulate USB devices.
  • Conceptual understanding of sysfs, udev and dbus.

 101.2 Boot the system

Description: Candidates should be able to guide the system through the booting process.

Key Knowledge Areas:

  • Provide common commands to the boot loader and options to the kernel at boot time.
  • Demonstrate knowledge of the boot sequence from BIOS/UEFI to boot completion.
  • Understanding of SysVinit and systemd.
  • Awareness of Upstart.
  • Check boot events in the log files.

101.3 Change runlevels / boot targets and shutdown or reboot system

Description: Candidates should be able to manage the SysVinit runlevel or systemd boot target of the system. This objective includes changing to single user mode, shutdown or rebooting the system. Candidates should be able to alert users before switching runlevels / boot targets and properly terminate processes. This objective also includes setting the default SysVinit runlevel or systemd boot target. It also includes awareness of Upstart as an alternative to SysVinit or systemd.

Key Knowledge Areas:

  • Set the default runlevel or boot target.
  • Change between runlevels / boot targets including single user mode.
  • Shutdown and reboot from the command line.
  • Alert users before switching runlevels / boot targets or other major system events.
  • Properly terminate processes.
  • Awareness of acpid.

Topic 102: Linux Installation and Package Management 102.1 Design hard disk layout

Description: Candidates should be able to design a disk partitioning scheme for a Linux system.

Key Knowledge Areas:

  • Allocate filesystems and swap space to separate partitions or disks.
  • Tailor the design to the intended use of the system.
  • Ensure the /boot partition conforms to the hardware architecture requirements for booting.
  • Knowledge of basic features of LVM.

102.2 Install a boot manager

Description: Candidates should be able to select, install and configure a boot manager.

Key Knowledge Areas:

  • Providing alternative boot locations and backup boot options.
  • Install and configure a boot loader such as GRUB Legacy.
  • Perform basic configuration changes for GRUB 2.
  • Interact with the boot loader.

102.3 Manage shared libraries

Description: Candidates should be able to determine the shared libraries that executable programs depend on and install them when necessary.

Key Knowledge Areas:

  • Identify shared libraries.
  • Identify the typical locations of system libraries.
  • Load shared libraries.

102.4 Use Debian package management

Description: Candidates should be able to perform package management using the Debian package tools.

Key Knowledge Areas:

  • Install, upgrade and uninstall Debian binary packages.
  • Find packages containing specific files or libraries which may or may not be installed.
  • Obtain package information like version, content, dependencies, package integrity and installation status (whether or not the package is installed).
  • Awareness of apt.

102.5 Use RPM and YUM package management

Description: Candidates should be able to perform package management using RPM, YUM and Zypper.

Key Knowledge Areas:

  • Install, re-install, upgrade and remove packages using RPM, YUM and Zypper.
  • Obtain information on RPM packages such as version, status, dependencies, integrity and signatures.
  • Determine what files a package provides, as well as find which package a specific file comes from.
  • Awareness of dnf.

102.6 Linux as a virtualization guest

Description: Candidates should understand the implications of virtualization and cloud computing on a Linux guest system.

Key Knowledge Areas:

  • Understand the general concept of virtual machines and containers.
  • Understand common elements virtual machines in an IaaS cloud, such as computing instances, block storage and networking.
  • Understand unique properties of a Linux system which have to changed when a system is cloned or used as a template.
  • Understand how system images are used to deploy virtual machines, cloud instances and containers.
  • Understand Linux extensions which integrate Linux with a virtualization product.
  • Awareness of cloud-init.

Topic 103: GNU and Unix Commands 103.1 Work on the command line

Description: Candidates should be able to interact with shells and commands using the command line. The objective assumes the Bash shell.

Key Knowledge Areas:

  • Use single shell commands and one line command sequences to perform basic tasks on the command line.
  • Use and modify the shell environment including defining, referencing and exporting environment variables.
  • Use and edit command history.
  • Invoke commands inside and outside the defined path.

103.2 Process text streams using filters

Description: Candidates should be able to apply filters to text streams.

Key Knowledge Areas:

  • Send text files and output streams through text utility filters to modify the output using standard UNIX commands found in the GNU textutils package.

103.3 Perform basic file management

Description: Candidates should be able to use the basic Linux commands to manage files and directories.

Key Knowledge Areas:

  • Copy, move and remove files and directories individually.
  • Copy multiple files and directories recursively.
  • Remove files and directories recursively.
  • Use simple and advanced wildcard specifications in commands.
  • Using find to locate and act on files based on type, size, or time.
  • Usage of tar, cpio and dd.

103.4 Use streams, pipes and redirects

Description: Candidates should be able to redirect streams and connect them in order to efficiently process textual data. Tasks include redirecting standard input, standard output and standard error, piping the output of one command to the input of another command, using the output of one command as arguments to another command and sending output to both stdout and a file.

Key Knowledge Areas:

  • Redirecting standard input, standard output and standard error.
  • Pipe the output of one command to the input of another command.
  • Use the output of one command as arguments to another command.
  • Send output to both stdout and a file.

103.5 Create, monitor and kill processes

Description: Candidates should be able to perform basic process management.

Key Knowledge Areas:

  • Run jobs in the foreground and background.
  • Signal a program to continue running after logout.
  • Monitor active processes.
  • Select and sort processes for display.
  • Send signals to processes.

103.6 Modify process execution priorities

Description: Candidates should should be able to manage process execution priorities.

Key Knowledge Areas:

  • Know the default priority of a job that is created.
  • Run a program with higher or lower priority than the default.
  • Change the priority of a running process.

103.7 Search text files using regular expressions

Description: Candidates should be able to manipulate files and text data using regular expressions. This objective includes creating simple regular expressions containing several notational elements as well as understanding the differences between basic and extended regular expressions. It also includes using regular expression tools to perform searches through a filesystem or file content.

Key Knowledge Areas:

  • Create simple regular expressions containing several notational elements.
  • Understand the differences between basic and extended regular expressions.
  • Understand the concepts of special characters, character classes, quantifiers and anchors.
  • Use regular expression tools to perform searches through a filesystem or file content.
  • Use regular expressions to delete, change and substitute text.

103.8 Basic file editing

Description: Candidates should be able to edit text files using vi. This objective includes vi navigation, vi modes, inserting, editing, deleting, copying and finding text. It also includes awareness of other common editors and setting the default editor.

Key Knowledge Areas:

  • Navigate a document using vi.
  • Understand and use vi modes.
  • Insert, edit, delete, copy and find text in vi.
  • Awareness of Emacs, nano and vim.
  • Configure the standard editor.

Topic 104: Devices, Linux Filesystems, Filesystem Hierarchy Standard 104.1 Create partitions and filesystems

Description: Candidates should be able to configure disk partitions and then create filesystems on media such as hard disks. This includes the handling of swap partitions.

Key Knowledge Areas:

  • Manage MBR and GPT partition tables
  • Use various mkfs commands to create various filesystems such as:
    • ext2/ext3/ext4
    • XFS
    • VFAT
    • exFAT
  • Basic feature knowledge of Btrfs, including multi-device filesystems, compression and subvolumes.

104.2 Maintain the integrity of filesystems

Description: Candidates should be able to maintain a standard filesystem, as well as the extra data associated with a journaling filesystem.

Key Knowledge Areas:

  • Verify the integrity of filesystems.
  • Monitor free space and inodes.
  • Repair simple filesystem problems.

104.3 Control mounting and unmounting of filesystems

Description: Candidates should be able to configure the mounting of a filesystem.

Key Knowledge Areas:

  • Manually mount and unmount filesystems.
  • Configure filesystem mounting on bootup.
  • Configure user mountable removable filesystems.
  • Use of labels and UUIDs for identifying and mounting file systems.
  • Awareness of systemd mount units.

 104.4 Removed

 104.5 Manage file permissions and ownership

Description: Candidates should be able to control file access through the proper use of permissions and ownerships.

Key Knowledge Areas:

  • Manage access permissions on regular and special files as well as directories.
  • Use access modes such as suid, sgid and the sticky bit to maintain security.
  • Know how to change the file creation mask.
  • Use the group field to grant file access to group members.

104.6 Create and change hard and symbolic links

Description: Candidates should be able to create and manage hard and symbolic links to a file.

Key Knowledge Areas:

  • Create links.
  • Identify hard and/or soft links.
  • Copying versus linking files.
  • Use links to support system administration tasks.

104.7 Find system files and place files in the correct location

Description: Candidates should be thoroughly familiar with the Filesystem Hierarchy Standard (FHS), including typical file locations and directory classifications.

Key Knowledge Areas:

  • Understand the correct locations of files under the FHS.
  • Find files and commands on a Linux system.
  • Know the location and purpose of important file and directories as defined in the FHS.

Course Overview

Linux System Security Course Overview

This highly practical instructor led Linux System Security course is aimed at Linux System Administrators who wish to enhance their knowledge of Linux security and increase the security level of their Linux systems.

The course covers detecting and restricting users and applications for Linux and Red Hat based Linux systems. Security compliance,logging and auditing are also covered along with hardening related tasks. The topics taught are relevant for all Linux distributions. The command line is demonstrated and used extensively throughout the course.

This Linux System Security course is based on the Red Hat/CentOS Linux distribution,the delegate will be able to apply the concepts covered on this course to other Linux based distributions.

Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.

Course Objectives

This course aims to provide the delegate with the knowledge to be able to query Linux systems for most security related events and harden many aspects of their systems.

The course explains and demonstrates subjects such as the; Linux logging and auditing framework,SELinux,the firewall,certificate authorities,network time,Secure Shell,Pluggable Authentication Modules,Host Intrusion and Detection Systems (HIDS),detecting and removing malware,password cracking,administering Sudo and encrypting files.

Course Content

Linux System Security Training Course

Course Contents – DAY 1

Course Introduction

  • Administration and Course Materials
  • Course Structure and Agenda
  • Delegate and Trainer Introductions

Session 1: INTRODUCTION TO LINUX SECURITY

  • Linux Native Security
  • Areas of Security
  • Common Attack Methods
  • Basic Security Precautions
  • Standards and Compliance
  • Security Technical Implementation Guides (STIGs)
  • Exercise

Session 2: SECURING THE USER ENVIRONMENT

  • Managing User Accounts and Security Options
  • Configuring Account Defaults
  • Default File and Directory Permissions
  • Configuring History Variables
  • Querying and Confining Command Line History
  • Exercise

Session 3: LINUX LOGGING AND AUDITING

  • Security Related Log Files
  • Querying Login Activity
  • Viewing and Configuring the Journal
  • Viewing and Understanding Audit Records
  • Generating Audit Queries
  • Defining Auditing Rules
  • Audit Performance
  • Exercise

Session 4: SELINUX

  • DAC vs MAC
  • SELinux Policy
  • SELinux Contexts
  • SELinux Key Commands
  • Viewing SELinux Decisions
  • SELinux Booleans
  • Permissive and Unconfined Domains
  • Exporting SELinux Configuration
  • Exercise

Linux System Security Training Course

Course Contents – DAY 2

Session 5: SELINUX MODULES

  • SELinux Entities
  • Listing and Administering SELinux Modules
  • Creating Modules With audit2allow
  • Writing and Editing SELinux Modules
  • Type Enforcement and File Context Files
  • Exercise

Session 6: RED HAT FIREWALL

  • Firewalld Overview
  • Firewalld vs IPTables
  • Configuring Firewall ports
  • Creating a Firewall Service
  • Creating and Configuring Firewall Zones
  • Viewing and Creating Rich Rules
  • Fail2ban Installation and Configuration
  • Exercise

Session 7: SECURING SSH

  • SSH Key Algorithms
  • SSH Agents and Server Options
  • Restricting Authentication Methods
  • Viewing and Encrypting the known_hosts File
  • Certificate Based Authentication
  • Verifying Signed Certificates
  • Exercise

Session 8: SECURING APPLICATIONS

  • TCP Wrapper Access Checking
  • TCP Wrapper Extended Syntax
  • Configuring an NTP Server
  • Securing chrony and Authenticating Clients
  • Exercise

Linux System Security Training Course

Course Contents – DAY 3

Session 9: INTRUSION DETECTION AND PREVENTION

  • Detecting Host Intrusions
  • Limitations of AIDE
  • Installing and Configuring AIDE
  • Detecting Filesystem Changes
  • Detecting and Removing Rootkits
  • Rootkit Best Practices
  • Installing and Configuring ClamAV
  • Exercise

Session 10: CREATING AND SIGNING AN RPM PACKAGE

  • Common Vulnerabilities and Exposures (CVE’s)
  • Red Hat Package Management
  • Obtaining Detailed Update Information
  • Post Update Considerations and Rolling Back Packages
  • Details on Security Packages
  • Package Management History
  • Creating and Signing an RMP Package
  • Creating a Package Repository
  • Exercise

Session 11: PLUGGABLE AUTHENTICATION MODULES

  • PAM File Format
  • Restricting Services with PAM
  • Restricting Access to SSH
  • Increasing Password Complexity
  • Delaying Failed Logins
  • Controlling Access by Time
  • Limiting user Resources
  • Exercise

Session 12: LINUX PASSWORDS

  • Password Hashing Methods
  • Verifying Password Strength
  • Password Attacks Types
  • Password Cracking
  • Installing a Password Cracking Utility
  • Installing a Word List
  • Exercise

Linux System Security Training Course

Course Contents – DAY 4

Session 13: SUDO AND RESTRICTING LOGINS

  • Basic Examples and Command Line Options
  • Sudo Aliases,Tags and Groups
  • Sudo Password Administration
  • Running Sudo On Remote Systems
  • Sudoedit
  • Sudo Logging and Replay
  • Include Statements
  • Restricting root Access
  • Configuring Timeouts
  • Exercise

Session 14: SECURING THE LINUX FILESYSTEM

  • Partitioning Considerations
  • Protecting the Boot Menu
  • Securely Erasing Data
  • Data Sanitisation Methods
  • Extended Permissions and File Attributes
  • Creating and Modifying File Access Control Lists (ACLs)
  • LUKS Encrypted Partitions
  • Exercise

APPENDIX A: RED HAT IDENTITY MANAGEMENT

  • IRed Hat Identity Management
  • Identity Management Domain
  • IDM Server and Client Installation and Configuration

APPENDIX B: CERTIFICATE BASED AUTHENTICATION

  • Creating a Certificate Authority
  • Configuring Logging with TLS
  • Securing VSFTPD for SSL/TLS

APPENDIX C: AUDIT RECORDS

APPENDIX D: RESETTING A LOST ROOT PASSWORD

Course Overview

Linux System Administration (LPI) Course Overview

This instructor led Linux System Administration (LPI) training course is designed to teach the key administration,security,networking and performance tasks required on a Linux Enterprise system.

Similarly,the course is targeted to closely follow the official Linux Professional Institute (LPI) curriculum for certification.

Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.

Course Objectives

Course Objectives

On completion of this course the delegate will have the required technical knowledge to administer a Linux server within the Enterprise. They will have gained practical experience of configuring administrative,networking,performance and security aspects of a Linux Enterprise system.

Course Content

Linux System Administration (LPI) Training Course

Course Contents – DAY 1

Course Introduction

  • Administration and Course Materials
  • Course Structure and Agenda
  • Delegate and Trainer Introductions

Session 1: FILE SYSTEM CONFIGURATION

  • File system types
  • The Linux I/O stack
  • MBR vs GPT partition tables
  • Partitioning a disk
  • Comparison of Linux filesystems
  • Creating Btrfs,XFS and EXT filesystems
  • Displaying disk usage
  • Mounting and unmounting file systems
  • Configuring labels and UUIDs
  • Locating files in use
  • Exercise

Session 2: ADVANCED FILE SYSTEM OPERATIONS

  • Logical Volume Management
  • Checking and repairing the file system
  • Growing file systems
  • Filesystem debugging and defragmentation
  • Listing swap areas
  • Creating and removing swap areas
  • Exercise

Linux System Administration (LPI) Training Course

Course Contents – DAY 2

Session 3: USER ACCOUNT MANAGEMENT

  • User Private Group scheme
  • Files used in creating a user
  • Adding users via the command line and YaST
  • Managing groups
  • Password administration
  • Bash Shell environment
  • Configuring user limits
  • Extended permissions
  • Configuring Privilege Delegation via sudo
  • Sudo aliases and groups
  • Monitoring login activity
  • Exercise

Session 4: PACKAGE MANAGEMENT

  • The Red Hat Package Manager (rpm)
  • Verifying Software
  • Querying installed and uninstalled packages
  • Installing and removing packages
  • Upgrade mechanism
  • Converting rpm packages to cpio format
  • Transferring files via cURL
  • The libzypp package manager
  • Exercise

Session 5: SYSTEM LOGGING

  • rsyslog configuration
  • Configuring remote logging
  • Testing using logger
  • Managing logs with logrotate
  • Basic and advanced journal queries
  • Configuring the journal
  • Exercise

Session 6: SYSTEM SECURITY AND ENCRYPTION

  • Secure shell OpenSSH
  • Public/private key authentication
  • X11 forwarding
  • The SUSE firewall
  • Encryption with GNU Privacy Guard GPG
  • Managing firewalld from the GUI and command line
  • Exercise

Linux System Administration (LPI) Training Course

Course Contents – DAY 3

Session 7: SYSTEM STARTUP AND SHUTDOWN

  • System startup process
  • Startup script framework
  • Managing services using YaST
  • Starting and stopping services dynamically
  • Creating Systemd services,timers and mount units
  • Running transient units
  • suseconfig and /etc/sysconfig
  • Changing run levels and shutdown
  • Exercise

Session 8: PROCESS MONITORING AND SCHEDULING

  • Monitoring processes
  • Graphical monitoring tools
  • Utilising terminal multiplexers
  • Monitoring with watch
  • Shared libraries
  • Scheduling processes with at
  • The cron configuration files
  • Scheduling processes with cron
  • crontab command options
  • Managing anacron
  • Exercise

Session 9: LINUX NETWORKING

  • Basic network configuration
  • IPv4 and IPv6 addressing
  • Network protocols
  • Network services and port numbers
  • Configuring IPv4 and IPv6 with ip and Network Manager
  • Configuration with systemd-networkd
  • Managing network devices
  • Resolving hostnames and DNS
  • Searching domains
  • Routing under Linux
  • Exercise

Linux System Administration (LPI) Training Course

Course Contents – DAY 4

Session 10: INTERNET SERVICES

  • Network services
  • Managing services with systemd sockets
  • Checking network service ports
  • Analysing network packets
  • Configuring and monitoring network time
  • Configuring the hardware clock
  • Remote administration
  • Configuring Virtual Network Computing
  • Exercise

Session 11: CONFIGURING PRINTERS

  • The Common Unix Printing Service CUPS
  • Printer devices and configuration
  • Installing printers
  • Configuring the CUPS server
  • Printer options
  • Print commands
  • Managing print queues
  • Exercise

Session 12: LOCALISATION

  • Localisation overview
  • Locale variables
  • Converting character sets and encoding
  • Configuring the locale and keymap
  • Configuring the system and user time zone
  • Exercise

Session 13: VIRTUALISATION,CLOUD SERVICES AND CONTAINERS

  • Configuring KVM virtualisation
  • Installing virtual systems
  • Understanding Linux Containers
  • Creating and running Docker containers
  • Iaas cloud
  • Exercise

Linux System Administration (LPI) Training Course

Course Contents – DAY 5

Session 14: DEVICES UNDER LINUX

  • Device services
  • Device file naming conventions
  • The /sys and /proc directories
  • Examining hardware
  • Hardware and software configuration messages
  • ACPI service and Desktop Bus
  • Managing disk parameters
  • Detecting new hardware
  • System overview: siga
  • Exercise

Session 15: BACKUP AND RESTORE

  • Archiving with tar and cpio
  • Device cloning with dd
  • Compressing files
  • Archiving RAR files
  • unar and other backup tools
  • Exercise

Session 16: TROUBLESHOOTING

  • Troubleshooting process
  • Booting into maintenance mode
  • Booting the rescue system
  • The SLE Maintenance Model
  • Generating information with supportconfig
  • Exercise

Addendum: Reference Materials (provided within the course handbook for additional reading)

APPENDIX A – INSTALLING LINUX

  • Installing Linux

APPENDIX B – ELECTRONIC MAIL

  • Configuring Postfix and Sendmail
  • Mail protocols
  • Mail commands

APPENDIX C – LINUX DESKTOPS AND ACCESSIBILITY

  • Configuring the X Windows GUI interface
  • Display protocols
  • The GNOME,KDE and Xfce desktops
  • Configuring the desktop for disabled users

APPENDIX D – PACKAGE MANAGEMENT

  • Additional software package management tools

APPENDIX E – DEPRECATED SERVICES

  • The xinetd Daemon
  • TCP Wrappers

APPENDIX F – ADDITIONAL COMMANDS

  • Miscellaneous Shell commands

Course Overview

Linux Shell Programming Course Overview

This Linux Bash Shell Programming training course is designed to give delegates practical experience in developing and writing LINUX shell scripts. Most of the built-in shell commands are introduced together with the main program control structures. This course is not suitable for C shell programmers.

Similarly,the course is targeted to closely follow the official Linux Professional Institute (LPI) curriculum for certification.

Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.’

Course Objectives

To provide the skills needed to develop and customise shell programs.

Course Content

Linux Shell Programming Training Course

Course Contents – DAY 1

Course Introduction

  • Administration and Course Materials
  • Course Structure and Agenda
  • Delegate and Trainer Introductions

Session 1: LINUX COMMAND REVIEW

  • Basic Linux commands
  • General commands
  • File and directory handling commands
  • Filename generation characters and regular expressions (regex)
  • I/O Redirection features
  • Other commands

Session 2: GETTING STARTED

  • What is a shell script?
  • Development guidelines
  • Creating and editing shell scripts
  • Naming and storing shell scripts
  • Executing shell scripts
  • Exercise: Write a simple shell script

Session 3: USING VARIABLES

  • Environment variables
  • Local variables
  • Assigning values to variables
  • Assessing variable values
  • Using quotes
  • Delimiting variable names
  • Echo control sequences
  • Exercise: Add variables to a script

Session 4: INTEGER ARITHMETIC

  • Using the expr command
  • Using the (( )) notation
  • Exercise: Add integer arithmetic to a shell script

Session 5: HANDLING RUN TIME DATA

  • The read command
  • Command line arguments
  • Exercise: Writing a generic shell script
  • Exercise: Writing an interactive shell script

Session 6: CONDITIONAL EXECUTION

  • The if statement
  • The test command
  • Exercise: Adding validation to previous scripts

Session 7: ADDITIONAL KORN,BASH & POSIX SYNTAX

  • Other test notations
  • Default and substitute variables
  • Exit status codes
  • Exercise

Linux Shell Programming Training Course

Course Contents – DAY 2

Session 8: LOOP CONSTRUCTS

  • The while loop
  • The until loop
  • The for loop
  • The while true and until false loops
  • Loop control commands
  • Exercise: Enhancing the previously written scripts
  • Exercise: Writing a script to copy files using a ‘for’ loop
  • Exercise: Writing a script to generate numbers with the ‘while’ loop

Session 9: MULTI-BRANCH DECISIONS

  • The case statement
  • Menu driven applications
  • Exercise: Developing and writing a menu system

Session 10: SCRIPTING WITH AWK

  • Fundamentals of AWK
  • Basic AWK scripts
  • AWK within Bash constructs
  • Exercise: AWK scripts

Session 11: FUNCTIONS

  • What is a function?
  • Syntax
  • Examples
  • Creating a Function Library
  • Exercise: Add a function to a script

Session 12: INTERRUPT HANDLING

  • Interrupt signals
  • Trapping interrupts
  • Exercise: Adding traps to the menu script

Appendix A: ADDITIONAL FEATURES AND FACILITIES

  • The exec commands
  • The includes notation
  • More about loops
  • Arrays

Appendix B: VIM QUICK REFERENCE

Appendix C: UNIX COMMANDS QUICK REFERENCE

Appendix D: ADDITIONAL EXERCISES

Course Overview

Linux Introduction Course Overview

This Linux Operating System training course introduces the delegate to the main concepts of the LINUX Operating System. The most commonly used commands and utilities are described in detail as are the command line wildcard and redirection facilities.

The course discusses the mechanisms by which a user acquires a login environment and the main features of the Bash shell are introduced.

Similarly,the course is targeted to closely follow the official Linux Professional Institute (LPI) curriculum for certification.

Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.

Course Objectives

To provide the skills needed to work productively in the LINUX environment.

Course Content

Linux Introduction Training Course

Course Contents – DAY 1

Course Introduction

  • Administration and Course Materials
  • Course Structure and Agenda
  • Delegate and Trainer Introductions

Session 1: INTRODUCTION TO THE LINUX OPERATING SYSTEM

  • A brief history of UNIX / Linux
  • The UNIX / Linux kernel
  • The UNIX / Linux file system structure
  • File and directory management commands
  • Absolute vs Relative Pathnames
  • Further basic commands
  • Exercise: Navigating the file system

Session 2: BASIC COMMANDS

  • Command line syntax
  • Basic file handling commands
  • Basic Directory handling commands
  • Filename wildcard characters
  • Using commands with logical AND and OR
  • Sequential command execution
  • Exercise: Manipulating files and directories

Session 3: REDIRECTION AND PIPES

  • Input and Output redirection
  • Redirecting errors
  • Piping commands
  • Exercise: Using redirection and pipe facilities

Linux Introduction Training Course

Course Contents – DAY 2

Session 4: INTRODUCTION TO THE vi/Vim EDITOR

  • Overview of the vi/Vim editor
  • The language of vi
  • Undoing and Redoing changes
  • Input Mode and Last Line Mode
  • Further vi functions
  • Executing commands within vi / Vim
  • Customising the vi / Vim Environment
  • Getting Help
  • Exercises: Using the vi editor

Session 5: SEARCHING AND REPLACING TEXT

  • Searching and replacing text using the vi/Vim editor
  • Using regular expressions (regex)
  • Using sed for search and replace
  • Searching for text with grep,egrep and fgrep
  • Exercises: Searching and Replacing Text

Session 6: RECALLING AND EDITING COMMANDS

  • Overview
  • The bash shell
  • The korn shell
  • Exercises: Recall and Edit Commands

Session 7: FILE PERMISSIONS AND ACCESS CONTROL

  • Users and user groups
  • File access permissions
  • Changing file attributes
  • Switching users and user groups
  • Linking files
  • Exercise: Setting and access permissions

Linux Introduction Training Course

Course Contents – DAY 3

Session 8: FILTERING AND FORMATTING TEXT

  • Overview
  • The paste command
  • The cut command
  • An introduction to awk
  • The nl command
  • Exercises: Filtering Text

Session 9: PROCESSES

  • What is a process?
  • Monitoring processes
  • Killing processes
  • Background processes
  • Job Control
  • Grouping commands
  • Exercise: Monitoring and controlling processes

Session 10: THE USER ENVIRONMENT

  • Customising the .profile or .bash_profile
  • Customising the .kshrc or .bashrc
  • Exercise: Setting up an environment

Session 11: MORE BASIC COMMANDS

  • The find command
  • Using xargs command
  • The locate command
  • The df command
  • The cut command
  • The sort command
  • Finding duplicate content
  • Number sequencing
  • Exercise: More Basic Commands

Course Overview

Linux Fundamentals Course Overview

This Linux Operating System and Bash Shell Programming training course introduces the delegate to the main concepts of the LINUX Operating System. The most commonly used commands are described in detail as are the command line wildcard and redirection facilities. The mechanisms by which a user acquires a login environment are discussed and the main features of the Bash shell are introduced.

This course is designed to give delegates practical experience in developing and writing shell scripts. Most of the built-in Bash shell commands are introduced together with the main program control structures. This course is not suitable for C shell programmers.

Similarly,the course is targeted to closely follow the official Linux Professional Institute (LPI) curriculum for certification.

Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.

Course Objectives

To provide the skills needed to work productively in a LINUX environment to develop and customise shell programs.

Course Content

Linux Fundamentals Training Course

Course Contents – DAY 1

Course Introduction

  • Administration and Course Materials
  • Course Structure and Agenda
  • Delegate and Trainer Introductions

Session 1: INTRODUCTION TO THE LINUX OPERATING SYSTEM

  • A brief history of UNIX / Linux
  • The UNIX / Linux kernel
  • The UNIX / Linux file system structure
  • File and directory management commands
  • Absolute vs Relative Pathnames
  • Further basic commands
  • Exercise: Navigating the file system

Session 2: BASIC COMMANDS

  • Command line syntax
  • Basic file handling commands
  • Basic Directory handling commands
  • Filename wildcard characters
  • Using commands with logical AND and OR
  • Sequential command execution
  • Exercise: Manipulating files and directories

Session 3: REDIRECTION AND PIPES

  • Input and Output redirection
  • Redirecting errors
  • Piping commands
  • Exercise: Using redirection and pipe facilities

Linux Fundamentals Training Course

Course Contents – DAY 2

Session 4: INTRODUCTION TO THE vi/Vim EDITOR

  • Overview of the vi/Vim editor
  • The language of vi
  • Undoing and Redoing changes
  • Input Mode and Last Line Mode
  • Further vi functions
  • Executing commands within vi / Vim
  • Customising the vi / Vim Environment
  • Getting Help
  • Exercises: Using the vi editor

Session 5: SEARCHING AND REPLACING TEXT

  • Searching and replacing text using the vi/Vim editor
  • Using regular expressions (regex)
  • Using sed for search and replace
  • Searching for text with grep,egrep and fgrep
  • Exercises: Searching and Replacing Text

Session 6: RECALLING AND EDITING COMMANDS

  • Overview
  • The bash shell
  • The korn shell
  • Exercises: Recall and Edit Commands

Session 7: FILE PERMISSIONS AND ACCESS CONTROL

  • Users and user groups
  • File access permissions
  • Changing file attributes
  • Switching users and user groups
  • Linking files
  • Exercise: Setting and access permissions

Linux Fundamentals Training Course

Course Contents – DAY 3

Session 8: FILTERING AND FORMATTING TEXT

  • Overview
  • The paste command
  • The cut command
  • An introduction to awk
  • The nl command
  • Exercises: Filtering Text

Session 9: PROCESSES

  • What is a process?
  • Monitoring processes
  • Killing processes
  • Background processes
  • Job Control
  • Grouping commands
  • Exercise: Monitoring and controlling processes

Session 10: THE USER ENVIRONMENT

  • Customising the .profile or .bash_profile
  • Customising the .kshrc or .bashrc
  • Exercise: Setting up an environment

Session 11: MORE BASIC COMMANDS

  • The find command
  • Using xargs command
  • The locate command
  • The df command
  • The cut command
  • The sort command
  • Finding duplicate content
  • Number sequencing
  • Exercise: More Basic Commands

Linux Fundamentals Training Course

Course Contents – DAY 4

Session 12: UNIX COMMAND REVIEW

  • Basic Unix commands
  • General commands
  • File and directory handling commands
  • Filename generation characters and regular expressions (regex)
  • I/O Redirection features
  • Other commands

Session 13: GETTING STARTED

  • What is a shell script?
  • Development guidelines
  • Creating and editing shell scripts
  • Naming and storing shell scripts
  • Executing shell scripts
  • Exercise: Write a simple shell script

Session 14: USING VARIABLES

  • Environment variables
  • Local variables
  • Assigning values to variables
  • Assessing variable values
  • Using quotes
  • Delimiting variable names
  • Echo control sequences
  • Exercise: Add variables to a script

Session 15: INTEGER ARITHMETIC

  • Using the expr command
  • Using the (( )) notation
  • Exercise: Add integer arithmetic to a shell script

Session 16: HANDLING RUN TIME DATA

  • The read command
  • Command line arguments
  • Exercise: Writing a generic shell script
  • Exercise: Writing an interactive shell script

Session 17: CONDITIONAL EXECUTION

  • The if statement
  • The test command
  • Exercise: Adding validation to previous scripts

Session 18: ADDITIONAL KORN,BASH & POSIX SYNTAX

  • Other test notations
  • Default and substitute variables
  • Exit status codes
  • Exercise

Linux Fundamentals Training Course

Course Contents – DAY 5

Session 19: LOOP CONSTRUCTS

  • The while loop
  • The until loop
  • The for loop
  • The while true and until false loops
  • Loop control commands
  • Exercise: Enhancing the previously written scripts
  • Exercise: Writing a script to copy files using a ‘for’ loop
  • Exercise: Writing a script to generate numbers with the ‘while’ loop

Session 20: MULTI-BRANCH DECISIONS

  • The case statement
  • Menu driven applications
  • Exercise: Developing and writing a menu system

Session 21: SCRIPTING WITH AWK

  • Fundamentals of AWK
  • Basic AWK scripts
  • AWK within Bash constructs
  • Exercise: AWK scripts

Session 22: FUNCTIONS

  • What is a function?
  • Syntax
  • Examples
  • Exercise: Add a function to a script

Session 23: INTERRUPT HANDLING

  • Interrupt signals
  • Trapping interrupts
  • Exercise: Adding traps to the menu script

Appendix A: ADDITIONAL FEATURES AND FACILITIES

  • The exec commands
  • The includes notation
  • More about loops
  • Arrays

Appendix B: VIM QUICK REFERENCE

Appendix C: UNIX COMMANDS QUICK REFERENCE

Appendix D: ADDITIONAL EXERCISES

Course Overview

This course is designed to teach the basics of the Linux environment. Class activities include accessing a system, navigating the directory hierarchy, using the vi editor, using common commands, tools, and scripting concepts.

Virtual Learning

This interactive training can be taken from any location, your office or home and is delivered by a trainer. This training does not have any delegates in the class with the instructor, since all delegates are virtually connected. Virtual delegates do not travel to this course, Global Knowledge will send you all the information needed before the start of the course and you can test the logins.

Course Objectives

On Completion of this course, the student should be able to:

  • Log in to an Linux system and set a user password
  • Use Linux online documentation
  • Use the vi editor
  • Manage Linux files and directories
  • Describe the purpose of the shell
  • Execute common Linux commands and manage Linux processes
  • Customize the working environment
  • Use common Linux utilities
  • Write simple shell scripts

Course Content

Unit 1: Getting started with Linux

     Exercise 1: Using the system

Unit 2: The vi editor

     Exercise 2: The vi editor

Unit 3: Files and directories

     Exercise 3: Files and directories

Unit 4: Using files

     Exercise 4: Using files

Unit 5: File permissions

     Exercise 5: File permissions

Unit 6: Shell basics

     Exercise 6: Shell basics

Unit 7: Using shell variables

     Exercise 7: Using shell variables

Unit 8: Processes

     Exercise 8: Processes

Unit 9: Customizing the user environment

     Exercise 9: Customizing the user environment

Unit 10: Linux utilities

     Exercise 10: Linux utilities

Course Overview

Linux Bash Shell Programming Course Overview

The Linux Bash Shell Programming course is designed to give delegates practical experience in developing and writing Bash shell scripts. Most of the built-in shell commands are introduced together with the main program control structures. The course also gives practical experience using a range of Linux tools to manipulate text and incorporate into Linux Bash shell scripts.

Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered

Course Objectives

To provide the skills needed to develop and customise shell programs and to make effective use of a wide range of standard Linux programming and development tools.

Course Content

Linux Bash Shell Programming Training Course

Course Contents – DAY 1

Course Introduction

  • Administration and Course Materials
  • Course Structure and Agenda
  • Delegate and Trainer Introductions

Session 1: UNIX COMMAND REVIEW

  • Basic Unix commands
  • General commands
  • File and directory handling commands
  • Filename generation characters
  • I/O Redirection features
  • Other commands

Session 2: GETTING STARTED

  • What is a shell script?
  • Development guidelines
  • Creating and editing shell scripts
  • Naming and storing shell scripts
  • Executing shell scripts
  • Exercise: Write a simple shell script

Session 3: USING VARIABLES

  • Environment variables
  • Local variables
  • Assigning values to variables
  • Assessing variable values
  • Using quotes
  • Delimiting variable names
  • Echo control sequences
  • Exercise: Add variables to a script

Session 4: INTEGER ARITHMETIC

  • Using the expr command
  • Using the (( )) notation
  • Exercises: Add integer arithmetic to a shell script

Session 5: HANDLING RUN TIME DATA

  • The read command
  • Command line arguments
  • Exercise: Writing a generic shell script
  • Exercise: Writing an interactive shell script

Session 6: CONDITIONAL EXECUTION

  • The if statement
  • The test command
  • Exercise: Adding validation to previous scripts

Session 7: ADDITIONAL KORN,BASH & POSIX SYNTAX

  • Other test notations
  • Default and substitute variables
  • Exit status codes
  • Exercise

Linux Bash Shell Programming Training Course

Course Contents – DAY 2

Session 8: LOOP CONSTRUCTS

  • The while loop
  • The until loop
  • The for loop
  • The while true and until false loops
  • Loop control commands
  • Exercise: Enhancing the previously written scripts
  • Exercise: Writing a script to copy files using a ‘for’ loop
  • Exercise: Writing a script to generate numbers with the ‘while’ loop

Session 9: MULTI-BRANCH DECISIONS

  • The case statement
  • Menu driven applications
  • Exercise: Developing and writing a menu system

Session 10: SCRIPTING WITH AWK

  • Fundamentals of AWK
  • Basic AWK scripts
  • AWK within Bash constructs
  • Exercise: AWK scripts

Session 11: FUNCTIONS

  • What is a function?
  • Syntax
  • Examples
  • Creating a Function Library
  • Exercise: Add a function to a script

Session 12: INTERRUPT HANDLING

  • Interrupt signals
  • Trapping interrupts
  • Exercise: Adding traps to the menu script

Appendix A: ADDITIONAL FEATURES AND FACILITIES

  • The exec commands
  • The includes notation
  • More about loops
  • Arrays

Appendix B: VIM QUICK REFERENCE

Appendix C: UNIX COMMANDS QUICK REFERENCE

Appendix D: ADDITIONAL EXERCISES

Linux Bash Shell Programming Training Course

Course Contents – DAY 3

Session 13: BACKUP AND RESTORE UTILITIES

  • Backing-up and restoring files
  • Basic and advanced use of tar
  • Compression utilities gzip,bzip2,zip and compress
  • Exercise: Backing up and restoring files using tar
  • Exercises: Compressing files

Session 14: BACKGROUND JOB SCHEDULING

  • Scheduling jobs with the cron command
  • Scheduling jobs with the at command
  • Exercises: Running background jobs

Session 15: COMMANDS FOR COMPARING FILES

  • Compare files with the cmp command
  • Compare and format files with pr
  • Compare files with the comm command
  • Compare files with the diff and sdiff commands
  • Compare large files with the bdiff command
  • Exercises: Identifying file differences

Session 16: SPLITTING FILES

  • The fold command
  • Split files using context and content rules
  • Exercises: Splitting files

Linux Bash Shell Programming Training Course

Course Contents – DAY 4

Session 17: IDENTIFYING AND TRANSLATING CHARACTERS

  • od – octal dump
  • Use cat to display non-printing characters
  • View and format files with nl
  • The expand and unexpand commands to convert between tab and space characters
  • The tr command for character translation
  • Exercises: Translating characters with tr

Session 18: REGULAR EXPRESSION NOTATION REVIEW

  • Standard regular expressions
  • Searching with grep
  • Metacharacters,positional characters and quantifiers
  • Extended regular expressions
  • POSIX character classes
  • PERL expressions

Session 19: THE STREAM EDITOR sed

  • sed command line syntax
  • sed script files
  • sed command processing
  • sed addresses and simple instructions
  • sed pattern space and hold space
  • Grouping sed commands
  • Hold and get functions
  • Advanced flow control
  • Write output to temporary files
  • Exercises: Text processing with sed

Session 20: FUNDAMENTALS OF AWK

  • Basic AWK usage
  • AWK program-files
  • AWK scripts
  • AWK variables
  • Pattern matching with AWK
  • AWK extended patterns

Session 21: AWK OPERATORS

  • AWK operators
  • AWK arithmetic operations
  • AWK output
  • Formatting output with printf
  • Exercises: Create awk scripts to extract selected data from a file and generate reports

Linux Bash Shell Programming Training Course

Course Contents – DAY 5

Session 22: AWK PROGRAM CONTROL STRUCTURES

  • The BEGIN and END functions
  • The AWK if construct
  • The AWK else if construct
  • The AWK while construct
  • Other program control statements
  • The AWK break,continue and exit statements
  • User defined functions
  • Exercises: Create AWK scripts and program-files utilising program control structures

Session 23: AWK FUNCTIONS

  • AWK string functions
  • AWK length,tolower,toupper,index,sub,gsub,match,substr,split,sprintf,system and getline functions
  • Exercises: Generate AWK scripts and program-files to extract and format data using AWK functions

Session 24: AWK ARRAYS

  • AWK associative arrays
  • Multi-dimensional arrays
  • Exercises: Create AWK associative arrays to process text files and generate reports

Session 25: MISCELLANEOUS TOOLS

  • bc (calculator)
  • fuser (testing for files in use)
  • getops (checking options passed to shell scripts)
  • printf (formatting screen output)
  • logger (script logging)
  • xargs (generating arguments for a command)
  • eval (re-evaluating variables)
  • Exercises: Using tools within a shell script

Course Overview

Linux Automation with Ansible Course Overview

This highly practical instructor led Linux Automation with Ansible training course is designed to give delegates practical experience in the concepts and use of Linux Ansible Automation. With a strong emphasis on practical hands-on training using the command line,this course will teach Ansible automation techniques to perform remote administration of Linux based systems.

This Linux Automation with Ansible course is based on the Red Hat-based distribution,the delegate will be able to apply the concepts covered on this course to other Linux based distributions.

Similarly,the course is targeted to closely follow the official Red Hat Linux curriculum for certification.

Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.

Course Objectives

On completion of this Linux Automation with Ansible course the delegate will have gained practical experience of the skills required to install,configure and use Ansible for the purpose of enterprise orchestration,automation,configuration and management.

Course Content

Linux Automation with Ansible Training Course

Course Contents – DAY 1

Course Introduction

  • Administration and Course Materials
  • Course Structure and Agenda
  • Delegate and Trainer Introductions

Session 1: INTRODUCTION TO ANSIBLE

  • Ansible in steps
  • Ansible Overview

Session 2: DEPLOYING ANSIBLE

  • Installing Ansible on RHEL-based systems
  • Installing Ansible on Debian-based systems
  • Authenticating Ansible with SSH keys
  • Ansible configuration
  • Creating the Ansible Inventory
  • Ansible client configuration
  • Exercise

Session 3: AD-HOC COMMANDS

  • Generating an ad-hoc command
  • Command line options
  • Module documentation
  • Using modules with ad-hoc commands
  • Verifying Ansible syntax
  • stat and shell modules
  • Specifying an alternate Inventory
  • Exercise

Session 4: YAML

  • YAML basics
  • Common YAML syntax errors
  • Writing YAML with vim
  • Installing and configuring code editors
  • Exercise

Linux Automation with Ansible Training Course

Course Contents – DAY 2

Session 5: PLAYBOOKS AND TASKS

  • What is a playbook
  • Playbook header
  • Tasks within a playbook
  • Importing items and playbooks
  • Playbook best practices
  • Exercise

Session 6: SIMPLE PLAYBOOKS

  • Basic Ansible modules
  • file module
  • lineinfile module
  • copy module
  • archive module
  • Exercise

Session 7: SYSTEM ADMINISTRATION PLAYBOOKS

  • Playbook command line options
  • Playbook tags
  • System administration modules
  • service module
  • firewalld module
  • user module
  • Exercise

Session 8: FURTHER ANSIBLE PLAYBOOKS

  • Further Ansible modules
  • parted module
  • mount module
  • cron module
  • Security related modules
  • seboolean module
  • SELinux module
  • seport module
  • Exercise

Linux Automation with Ansible Training Course

Course Contents – DAY 3

Session 9: VARIABLES AND FACTS

  • Simple variables
  • List and Dictionary methods
  • Defining variable locations
  • Variables within external files
  • Command line variables
  • Ansible prompts
  • Registering variables
  • Using module return values
  • Capturing Ansible failures
  • Iteration using lists
  • Ansible facts
  • Commonly used Ansible facts
  • Using facts within a task
  • Using conditional statements with Facts
  • Exercise

Session 10: ROLES AND TEMPLATES

  • Ansible roles
  • Ansible Galaxy command
  • Role directory structure
  • Constructing an Ansible Role
  • Constructing a File Template
  • Ansible Galaxy repository
  • Downloading and executing Roles
  • Exercise

Linux Automation with Ansible Training Course

Course Contents – DAY 4

Session 11: FURTHER CONFIGURATION

  • Ansible Parallelism and Forks
  • Fact Caching
  • Ansible Vault
  • Creating and accessing the Vault
  • Encrypting variables
  • Ansible client and server logging
  • Omitting and redirecting log output
  • Error handling and ignoring failed commands
  • Handlers and failures
  • Exercise

Session 12: LOOPS AND SCRIPTING

  • Ansible loops
  • Looping through variables
  • Number sequencing
  • Random values
  • Retries
  • Ansible within shell scripts
  • Menu driven and copy scripts

Course Overview

Linux Advanced System Administration (LPI) Course Overview

This instructor led Linux Advanced System Administration (LPI) training course is designed to teach the advanced administration,security,networking and performance tasks required on a Linux Enterprise system.

Similarly,the course is targeted to closely follow the official Linux Professional Institute (LPI) curriculum for certification.

Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.

Course Objectives

On completion of this course the delegate will have in-depth technical knowledge of what is required to administer Linux within the Enterprise. They will have gained practical experience of configuring administrative,networking and security aspects of a Linux Enterprise system to an advanced level.

Course Content

Linux Advanced System Administration (LPI) Training Course

Course Contents – DAY 1

Course Introduction

  • Administration and Course Materials
  • Course Structure and Agenda
  • Delegate and Trainer Introductions

Session 1: ADVANCED NETWORK CONFIGURATION & TROUBLESHOOTING

  • Configuring the network card
  • Network scripts
  • Configuring routing
  • Network troubleshooting and related tools
  • The radvd Router Advertisement Daemon
  • Exercise

Session 2: APACHE,SQUID AND NGINX

  • Apache main configuration files
  • Apache server and access configuration
  • Configuring secure Apache (https)
  • Configuring IP address-based virtual hosts
  • Configuring name-based virtual hosts
  • Configuring Apache for user-based content
  • Configuring the Squid proxy server
  • Configuring client browsers
  • Squid security settings
  • Nginx Proxy and Reverse Proxy
  • Exercise

Session 3: NFS NETWORK SERVICES

  • NFS operation and associated daemons
  • Configuring an NFS server
  • Investigating the portmapper
  • Configuring an NFS client
  • Mounting NFS filesystems at boot
  • Using the automounter to access NFS mounts on demand
  • Configuring AutoFS direct and indirect mounts
  • Creating AutoFS units
  • Exercise

Session 4: SAMBA

  • Configuring a Samba server
  • Testing the Samba configuration (testparm)
  • Configuring Samba users
  • Mapping Windows and Samba users
  • Starting Samba
  • Managing Windows filesystems (smbmount,nmblookup)
  • Accessing Windows shares
  • Exercise

Linux Advanced System Administration (LPI) Training Course

Course Contents – DAY 2

Session 5: THE DOMAIN NAME SERVER

  • DNS operation
  • Types of DNS Servers
  • Domain Name Space
  • Setting up a DNS master and slave server
  • Server configuration files (named.conf and databases)
  • DNS resource record formats
  • Configuring DNS logging
  • Configuring DNS security
  • Testing DNS resolution
  • Configuring DNS Clients
  • Exercise

Session 6: DHCP

  • Configuring DHCP
  • dhcpd.conf configuration file
  • DNS entries
  • Address leases
  • DHCP client configuration
  • Exercise

Session 7: FTP

  • Configuring a VSFTPD server
  • Configuring FTP
  • Configuring Pure-FTPd
  • Configuring ProFTPd
  • Active vs Passive mode
  • vsftpd.conf configuration file
  • Anonymous access
  • Restricting access to the user’s login directory
  • FTP logfile
  • Exercise

Session 8: CENTRALISED STORAGE WITH ISCSI

  • Definition and benefits of iSCSI
  • Configuring an iSCSI target and initiator
  • Configuring iSCSI via YaST
  • Exercise

Linux Advanced System Administration (LPI) Training Course

Course Contents – DAY 3

Session 9: FILESYSTEM TOOLS AND DISK MONITORING

  • Converting Ext filesystems to Btrfs
  • Checking and repairing Btrfs filesystems
  • Creating Btrfs subvolumes and snapshots
  • Performing full and incremental backups of XFS filesystems
  • Querying the backup repository
  • Restoring XFS filesystems
  • The ZFS filesystem
  • Configuring smartd
  • Disk monitoring with smartctl
  • Exercise

Session 10: RAID

  • RAID overview
  • Raw devices and partitions
  • Creating and managing a RAID device
  • Creating and mounting a file system within RAID
  • Hot swapping failed drives
  • Exercise

Session 11: LOGICAL VOLUME MANAGEMENT (LVM)

  • Logical Volume Management Overview
  • Viewing LVM information
  • Configuring LVM
  • Creating striped logical volumes
  • Resizing Logical Volumes
  • Logical Volume Snapshots
  • The role of the Device Mapper
  • Configuring the lvm.conf file
  • Exercise

Session 12: DIRECTORY SERVICES

  • Structure of an LDAP Tree
  • Configuring 389 Directory Services
  • Managing Directory Server Users
  • Testing the Directory Server
  • Configuring the Client
  • Legacy LDAP Commands
  • Secure LDAPS with Directory Server
  • Exercise

Linux Advanced System Administration (LPI) Training Course

Course Contents – DAY 4

Session 13: COMPILING SOFTWARE FROM SOURCE

  • Installing programs from source
  • Compiling Open Source Software
  • Installing the compiled software
  • Managing shared libraries
  • Compiling from SRC (source) RPM packages
  • Exercise

Session 14: SYSTEM MONITORING & PERFORMANCE MANAGEMENT

  • System performance monitoring
  • Collecting system performance information
  • Monitoring memory usage
  • Measuring virtual memory
  • Measuring I/O performance
  • Performance Guidelines
  • Performance monitoring tools
  • Capacity planning
  • Exercise

Session 15: FIREWALL CONFIGURATION

  • Basic packets and routing
  • Netfilter (iptables)
  • Packet filtering (iptables,chains,rule targets,connection tracking)
  • Saving and restoring firewall settings
  • Network address translation (NAT)
  • Exercise

Session 16: SYSTEM SECURITY

  • Reporting security alerts
  • Applying security related patches
  • Installing and configuring a Host Intrusion Detection System (HIDS)
  • Installing and configuring fail2ban
  • Exercise

Linux Advanced System Administration (LPI) Training Course

Course Contents – DAY 5

Session 17: PLUGGABLE AUTHENTICATION MODULES (PAM)

  • Main PAM configuration files
  • Configuration file formats
  • Controlling user access using the configuration files
  • Configuring pam_listfile
  • Controlling time-based access with PAM
  • Controlling limits with PAM
  • Exercise

Session 18: POSTFIX

  • Configuring a Postfix server
  • Postfix TLS configuration
  • Configuring Dovecot
  • Managing email delivery
  • Filtering emails
  • Exercise

Session 19: THE LINUX KERNEL

  • Kernel naming conventions
  • Monolithic and Modular kernel design
  • Listing modules
  • Kernel module configuration
  • Kernel tuning
  • The GRUB2 Bootloader
  • Installing an alternate Kernel
  • Exercise

Session 20: HARDWARE CONFIGURATION

  • Hotplug system
  • Devices and Interfaces
  • sysfs filesystem and persistent names
  • Device initialisation and interface configuration
  • Hotplug and Coldplug
  • UDEV system
  • Exercise

Addendum: Reference Materials (provided within the course handbook for additional reading)

APPENDIX A – CONFIGURING APACHE FOR PHP AND TOMCAT

  • Configuring Apache Web Server to support PHP and Tomcat

APPENDIX B – BASIC OPENVPN

  • Accessing a private network with OpenVPN

APPENDIX C – RAIDTOOLS

  • Old style raidtools package

APPENDIX D – ALTERNATE BOOT LOADERS

  • An overview of SYSLINUX and ISOLINUX
  • Booting with PXELINUX

APPENDIX E – DRACUT

  • Managing the Linux boot process with dracut

APPENDIX F – APPARMOR

  • Enabling and disabling AppArmor
  • AppArmor monitoring tools
  • Building and modifying AppArmor profiles
  • Logging AppArmor
  • AppArmor Options
  • Exercise