
Advance enterprise linux administration by mastering file system partitioning, logical volumes, selinux, firewalls, and containers, and prepare for the rhcsa exam through red hat system administration parts one and two.
Create a Red Hat account, download RHEL 9.4 from the Red Hat site, install Oracle VirtualBox, and create a RHEL 9.4 virtual machine accessible from Windows.
Learn to create a Red Hat Network account and verify your Red Hat login ID, choose between corporate and personal profiles, and access certifications and knowledge management content.
Download the latest Red Hat Enterprise Linux 9.4 iso for server and workstations, selecting the dvd iso for x86_64 and a 10.3 gb download with login.
Download the latest version of Oracle VirtualBox on a Windows host, then install it to create a virtual machine.
Install Oracle VirtualBox on a Windows host, explore the dashboard, and manage virtual machines and settings. Preview the next lecture on creating a template of our rail line.
Create a RHEL 9 virtual machine template in VirtualBox by setting the name, location, and ISO image, then allocate 2 GB memory and 2 processors and a 20 GB disk.
Adjust the rhel9 template by configuring general and system options, set memory to 2 gb, boot from the rhel9 iso, and prepare storage for installation.
Install Red Hat Enterprise Linux 9.4 by selecting the install option, configuring language and keyboard, setting root and user accounts, choosing server with GUI, and beginning installation.
Complete the installation, reboot, and log in with the user created during setup. In Oracle VirtualBox, change the boot order to boot from the hard disk instead of the ISO.
Access RHEL 9 from a Windows machine by configuring a bridge network adapter, setting the IP to 10.0.2.15, and booting from hard disk.
Install and set up MobaXterm to access a Red Hat VM from a Windows host using SSH; enter the system IP, username, and password to establish remote access.
Enable a non-root user to run administrative commands by editing the sudoers file with visudo. Add an entry for Tech Start user and use sudo for tasks like dnf install.
Configure a user with sudoers access to perform administrative tasks via sudo, and set up a local system to install packages from the ISO image.
Learn to build a local yum/dnf server by mounting the RHEL 9 ISO, creating a .repo file, enabling repositories, and installing vsftpd with sudo on a configured local server.
Improve command line productivity by writing simple bash scripts, creating and executing shell scripts, and using loops, conditionals, and regular expressions.
Grant execute permissions to a bash script with chmod +x, verify with ls -ltr, then run it as ./script or as sh script for successful execution.
Learn how to handle code special characters in shell scripts by escaping them with backslashes, single quotes, or double quotes, and print literal characters and variable values using echo.
Explore bash basics by defining a variable named user, printing it with echo, and comparing single and double quotes. Apply backslash escaping to include double quotes and other special characters.
Master the Linux echo command to display text from arguments, using -e, -b, -n, and -t to control escapes, spacing, new lines, and tabs in shell scripts.
Learn to use the echo command inside a shell script, include a shebang line with bash, make the script executable, and redirect output to a log file using greater-than operator.
Redirect the useful output of a script to a log file using the > operator, and learn how to capture errors with a separate redirection operator.
Master redirecting std error to a file using 2> and append with >>, and understand the greater than sign for error and output redirection.
Use for and while loops to iterate commands across multiple servers or a file of server names, and learn bash loop syntax to automate server tasks.
Learn how bash assigns exit codes to each command, with zero indicating success and non-zero signaling errors. Use the exit command with codes 0–225 in scripts to control flow.
Practice checking exit status with pwd and echo $?. Learn common exit codes 0, 1, 126, and 127 for permission denied and command not found.
Explore test logic for strings, directories, and value comparisons using the test command and the extended [[ condition ]] syntax, and interpret exit codes 0 vs non-zero.
Practice lab on bash test logic using a variable abc with empty and nonempty values, exploring -z and -n checks and exit status outcomes (zero for true, nonzero for false).
Master bash conditional structures by learning if, else, and elif syntax. Use test logic to execute actions based on file presence and multiple conditions.
Master if and else conditional logic in shell scripting by evaluating simple comparisons and checking file existence with resolv.conf, printing presence or absence messages.
Explore the if elif else syntax to handle multiple conditions, using a num variable to classify a number as positive, negative, or zero and print the corresponding message.
Learn to use grep to search files for text patterns with regular expressions, print lines with matches, and pipe command output for combined searches.
Regular expressions help you find specific patterns of text within larger bodies of text. Practice shows grep matching exact strings on test.txt and printing lines containing cat, dog, or chili.
Apply regular expressions to match the start and end of lines using the caret and dollar signs. Practice filtering lines that begin with specific characters and end with chosen letters.
Learn to schedule deferred user tasks with the at command on Red Hat Enterprise Linux, using atd, ATI, and ATK to run scripts later.
Inspect and manage deferred user jobs on a Red Hat system using at and atq to view pending jobs, their unique job numbers, execution dates, queues, and owners.
Practice lab on the at command demonstrates scheduling a job, setting execution time, and redirecting its output to a file. Verify with atq or at -l.
Learn to use the at command to schedule future one-time tasks, with crontab used for regular schedules, and practice scheduling events like tomorrow at 10 am, or after 1 hour.
Explore recurring user jobs with cron on red hat systems, using crontab to schedule per-user crontab files via the five fields (minutes, hours, day of month, month, day of week).
Explore recurring user jobs with cron syntax: every five minutes from 9 to 16 on Fridays in July, sending hello world by email to the job owner.
Learn how to manage recurring user jobs with crontab in Linux, including viewing, editing, and scheduling per-user crontab entries, and understanding the five cron fields.
Create a bash script, make it executable, and run it; schedule it with crontab to run every two minutes using crontab -e and */2.
Learn to schedule a script with crontab, use two greater-than signs to append output and errors to separate files, and verify results via manual runs.
Schedule recurring system jobs from system accounts using systemwide crontab files, such as /etc/crontab or /etc/cron.d, with the extra user field and hourly, daily, weekly, and monthly directories.
Explore how Anacron schedules daily, weekly, and monthly tasks via its configuration file, ensuring execution after system downtime, and compare it with cron through crontab, cron.daily, and cron.d directories.
Learn how systemd timer units trigger services and collect system statistics every ten minutes with the sysstat stat collect timer, logging activity to the system journals for performance insights.
Explore how systemd timer runs a script every ten minutes to collect sar data and update a data file with cpu and i/o statistics; view with sar -u -f.
Discover how linux manages temporary files with systemd-tmpfiles and the systemd-tmpfiles-setup service. Reads configuration files to create and purge /run directories and cleans up with a systemd timer.
Clean temporary files with a systemd timer that drives the systemd temp files service to purge unused temp files and directories after boot and every 24 hours.
Configure systemd tmpfiles to delete unused temporary files by editing a copied default configuration, set a four-day retention, and execute the systemd-tmpfiles clean command to apply the changes.
Configure systemd tmpfiles to purge idle files after 15 seconds, using ABC.conf. Create directory ABC and test purging with the systemd-tmpfiles -f command.
Optimize Linux system performance by selecting tune daemon–managed tuning profiles and adjusting process scheduling priorities, including static and dynamic options and profiles for storage and network.
Learn to manage tuning profiles from command line on a Red Hat Enterprise Linux system using the tuned package. List active profile and switch profiles with tuneadm to optimize performance.
Enable cockpit and access the web console on port 9090, switch to administrative access, and change the system performance profile, such as powersave, then verify with the command line.
Explore linux process scheduling and multitasking, from memory admission to cpu allocation via short term scheduling policies. Understand how niceness sets priority, with niceness values ranging from -20 to 19.
Manage SELinux security by changing enforcement mode, controlling file contexts, and adjusting booleans, while understanding mandatory vs discretionary access controls.
Enforce SELinux mandatory access control to limit the Apache process to specific files and ports. Without SELinux, a compromised daemon could access broader data; with policy, exploits stay contained.
Discover selinux context and the type context, the security rules that determine which processes access files and ports. Learn to check contexts with ls -Z and view file permissions.
Practice examining SELinux context to see how Apache access is restricted by httpd_t and httpd_content_t. Verify directory and process contexts, such as httpd_t and httpd_content_t, to understand access limits.
Demonstrate SELinux security by showing how Apache and MariaDB processes cannot access each other's directories due to different context types, clarifying the concept of epsilon x.
Explore the three selinux modes—enforcing, permissive, and disable—and how each governs policy enforcement and audit logging on red hat enterprise linux 8/9.
Toggle SELinux modes temporarily using the set and force command, or by echoing 0 or 1 into the pseudo file, where 0 is permissive and 1 is enforcing.
Learn to check current SELinux status with a command to see enforcing or permissive, then make the mode permanent by editing the SELinux config (default policy targeted) and rebooting.
Master SELinux by checking current status with getenforce and sestatus, understand enforcing, permissive, and disable modes, and review targeted and MLS policies.
Learn to install and start apache, set SELinux to enforcing, and verify that the apache process with httpd_t context can only access /var/www/html, illustrating restricted web access.
Create the my web data directory for a website, update Apache configuration to include it with allow override none and require all granted, fix a syntax error, and restart Apache.
SELinux contexts affect Apache access, illustrating how httpd_t versus default_t policies cause a forbidden error, and how to adjust aliases and restart httpd to verify access.
Learn how SELinux policies block a website and how switching from enforcing to permissive with setenforce 0 allows access and records audit logs. Restoring enforcing mode yields a forbidden error.
Practice SELinux security by checking contexts, creating files, and comparing copy versus move operations. Copying changes the file context, while moving preserves it.
Copying a file into the www directory changes its SELinux context to the www directory, while moving preserves the file's original user_temp_t context.
Learn how to change the SELinux context to httpd_content_t for a web directory using chcon -R. Confirm the context updates and that the website becomes accessible.
Learn how to define permanent SELinux default file context policies using semanage fcontext, so directories get httpd_sys_content_t across relabeling, unlike temporary chcon changes.
Create a file context policy with semanage fcontext, then apply the specified context to the file with restorecon to relabel easily and ensure the changes persist after reboot.
Learn to tune the SELinux policy with booleans by listing, viewing, and toggling specific rules, and applying temporary or permanent changes to /sys/fs/selinux/booleans.
Install and start httpd, enable user dir in the apache config, and modify the selinux boolean to allow apache to access users' home directories for web content in public_html.
Enable the httpd_enable_home_dir SELinux boolean to let Apache publish web content from a user's home directory, using getsebool -a to identify booleans and setsebool -P to make it permanent.
Learn basic storage management through disk partitioning, adding partitions, file systems, and persistent mounts, plus swap space management and practical guided exercises.
Understand the MBR partition scheme, the BIOS-based standard since 1982. Discover its four-partition limit, the role of primary and extended partitions, and the use of logical partitions for data.
learn how the master boot record governs bootable disks, with reserved sectors starting the first partition at 2048 bytes, and how it stores the partition table and boot signature.
Examine how the MBR scheme limits to four primary partitions and how to overcome with an extended partition containing logical partitions, noting reserved boot sectors.
The GPT partition scheme supersedes MBR, supports up to 128 partitions with 64-bit addressing under UEFI, and you can identify it via fdisk l by the disk label type.
Practice lab demonstrates managing partitions with the parted command, identifying /dev/sda as a 40 GB boot disk, and viewing its MBR partition table with print in sectors, bytes, or MB.
learn how to add a fresh disk to a system, initialize its partition table with parted, set the ms-dos label, and create a primary partition using mk part with zfs.
Create a partition on an attached disk with a single command and verify the /dev device file; use parted mkpart and mk label for GPT, then rm 1 to delete.
Learn to create a partition and apply a ZFS file system to a block device using parted, mkpart, and mkfs.zfs, then mount it and verify with df -h.
Learn how to make a file system persist across reboots by configuring /etc/fstab with device, mount point, filesystem type, defaults, dump, and fsck settings, then apply with mount -a.
learn to identify block device UUIDs with lsblk --fs, edit fstab for persistent mounts using UUIDs, and apply changes by reloading the systemd daemon and running mount -a.
Explore how swap space on disk supplements RAM under memory pressure, managed by the Linux kernel's memory management subsystem, forming virtual memory.
Create a swap partition on a new disk with the part command, set its type to linux swap, format with the mk swap command, and activate the swap space.
Activate the swap space with the swap on command, referencing the block device file and fstab; verify with free -m as swap grows from 2 GB to 7 GB.
Learn to persist swap space across reboots by adding its UUID to /etc/fstab, reloading systemd, and enabling swap with swapon -a.
Set the swap space priority by editing the fstab file and assigning per-swap priorities. The kernel uses the highest priority first, with a default of minus two.
Learn how logical volume management creates a volume group from multiple disks to form logical volumes, enabling online resizing and flexible storage beyond traditional fdisk partitions.
Master LVM to pool multiple disks into a volume group, allocate logical volumes, and resize or extend file systems online with no downtime.
Explore the architectural overview of LVM and learn how physical volumes form a volume group to pool disk space for creating and extending logical volumes.
Explore Alvium architecture from raw disks to a mounted file system, detailing fdisk partitioning, physical volumes, volume groups, logical volumes, and creating ext4 or xfs file systems.
Learn to build LVM storage by creating partitions on disks, forming physical volumes, creating a volume group and logical volume, then format and mount the storage.
Use pv create to label physical partitions as lvm physical volumes and then assemble them into a volume group (e.g., dd1 and sd1) to prepare for logical volumes.
Create a logical volume from a volume group with lv create, naming and sizing it within the VG, while PVs, physical extents, and p size map to the LV.
Learn to create a file system on a logical volume, format with mkfs for ext4 or zfs, create a mount point, and persistently mount via fstab on Red Hat Linux.
Learn to display LVM component status using pv display, vg display, and lv display, and interpret outputs for physical volumes, volume groups, and logical volumes, including their paths.
discover how to extend and reduce LVM storage by adding physical volumes to a volume group, enabling you to extend logical volumes and the file system.
Extend a volume group by adding a new physical volume to vg zero one, using /dev/sdf1 and pvcreate, then vg extend to increase from about 5 GB to 5.94 GB.
Extend a logical volume with lvextend -L +size (for example +500 MB) to grow capacity without downtime, then extend the file system: zfs_grow_fs for zfs or resize_to_fs for ext4.
Create a new logical volume, format it with ZFS, and mount it; then extend the logical volume by 200 MB and grow the ZFS file system to the new size.
Extend the ext4 file system by first extending the logical volume with the extend command, then use the resize to FS command to occupy the new space.
Extend swap space using logical volumes by creating and formatting a swap LV. Deactivate swap to take the LV offline, extend it, reformat with mkswap, and re-enable swap.
Reduce a volume group by moving data with pv move, shrink the vg with vg reduce, and remove the physical volume using pv remove, as shown with pvs checks.
Remove a logical volume by unmounting its file system, clearing the fstab entry, and running lv remove. Proceed to remove the volume group, pv remove, and other LVM components.
Remove a volume group by unmounting and deleting its logical volume, then removing the volume group and the physical volume.
Explore Stratis storage management, a Red Hat tool that builds pools from block devices, creates file systems, and uses thin provisioning with device mapper and ZFS.
Install status CLI and status D packages, enable and start the status D service, verify disks with fdisk -l, and prepare to create the status pool from three disks.
Create a Stratis pool from three disks, monitor with pool list, add disks to the pool, and verify block devices to manage pool size and storage.
Create and manage Stratis file systems from a pool, naming the new system and verifying it with the space list. The lecture also shows linking and snapshot basics.
Create a Stratis file system snapshot for FS1 in pool one using the status file system snapshot command. Observe that snapshots are independent and allocate space, starting with 560 MB.
teach how to mount a Stratis file system (default xfs) and make it persist across reboots via fstab using uuid and mount point /dir1, with verification by df -h.
Create a thin provisioned Stratis file system from a storage pool, verify dynamic growth of status volumes, and access data from a snapshot.
Create a mount point, mount Stratus disk file system, verify with df -h, create a file in the mount, and obtain its UUID to set up persistent mounting in fstab.
Modify the fstab to mount a filesystem persistently using its UUID at the specified directory, with defaults and x-systemd.requires=statusd.service, then run mount -a and reboot.
Verify status file system, create a 2 GB file with dd in the status mount, and observe thin provisioning dynamically expanding used space to a snapshot in the next lab.
Create a file system snapshot in status pool one, verify the backup with the status file system list, and mount the snapshot to retrieve files.
Unmount the Stratus and Stratus-snap file systems, then destroy the Stratus pool and its main and snapshot file systems, confirming deletion.
Explore network attached storage with NFS in Linux, including how NFS shares files via an NFS server and client, auto mounts, and compare it with Samba for Windows sharing.
Configure and access exported NFS directories by mounting server exports on the client, either manually or via fstab, and understand NFS v3 and v4 differences in transport options.
Query a server's exported NFS directories using showmount -e for NFS v3, then mount the export tree for NFS v4 and list the mounted paths to reveal all exports.
This lecture shows how to set up yum repository from Red Hat OS media and install NFS utils and rpcbind to configure an NFS server with exports on RHEL 9.
Install nfs-utils with dnf, which pulls in rpcbind, then enable and start the NFS disk server and rpcbind services to allow clients to access an NFS shared directory.
Create and mount an NFS share by provisioning a 1 GB logical volume, formatting with ZFS, setting full permissions, and adding sample files, in preparation to export.
Edit the main exports file to specify the file system and client network, set read/write and no_root_squash options, then run exportfs -r -v and verify with showmount -e localhost.
Configure the NFS client to access the shared file system by installing NFS utilities, checking exports with showmount -e, mounting the export, and verifying with df -h.
Learn how to persist an nfs share by editing /etc/fstab, configuring the nfs server ip and exported file system with defaults, and mounting it at the correct client mount point.
Unmount the NFS file system on the client, verify removal, edit the server's exports to remove the share, and refresh with exportfs -rv to confirm no exports.
Configure the autofs service to auto-mount an NFS share on demand, exporting a ZFS-based filesystem and mounting it via an indirect map to the client path /important/data.
Install autofs, create a master map in /etc/auto.master.d with a .fs extension, define base directory /linux, and configure an indirect map with a 90s timeout to auto mount on access.
Configure autofs with a master map and indirect map to mount an NFS export on demand, then start and enable the autofs service and verify mounting.
Access the NFS client mount point at /linux/data to see auto NFS mount the exported file system, then the system unmounts after about 90 seconds of inactivity.
Learn how Autofs automatically mounts file systems on demand and unmounts them after inactivity, demonstrated by the unmounted state and rapid re-mount when accessing the data directory in Linux.
Explain indirect wildcard maps in automounts by auto mounting NFS subdirectories (east, west, central) with a single indirect map to /promo/west, /east, and /central.
Create a 400 MB logical volume named wildcard, format and mount it at /database/docs, make west, central, and east directories with files, and export the NFS share.
Export the created file system at /database/docs with read/write and no_root_squash options, verify exports with showmount, then log in to the client and configure the indirect mapping for this lab.
Log in to the NFS client, verify exports with showmount -e, create a master map under auto.master.d, and configure indirect maps with a wildcard under /promo, then restart autofs.
Demonstrate indirect wildcard maps by mounting the exported subdirectories west, east, and central as separate file systems on demand, using an NFS server and client and verification with df.
This training module is not authorized or affiliated with Red Hat, Inc. It is an independent educational resource designed to help learners prepare for the Red Hat Certified System Administrator (RHCSA) exam.
This course is part of the Red Hat Certified System Administrator (RHCSA) learning path and corresponds to RH134 – Red Hat System Administration II.
The Red Hat System Administration II (RH134) course focuses on essential tasks required to become a full-time Linux administrator and to validate those skills through the Red Hat Certified System Administrator exam.
This course goes deeper into Enterprise Linux administration, including file systems, partitioning, logical volumes, SELinux, firewalls, and troubleshooting.
Part 1: Newly added lectures based on Red Hat Enterprise Linux 9 (RH134)
Part 2: Original lectures based on Red Hat Enterprise Linux 8 (RH134)
Part 1: Course Content
Red Hat Training and Certification - RHEL 9 (RH134)
Section 1: Introduction to Red Hat Training and Certification – RHEL 9 (RH134)
Introduction about the course module
Section 2: Lab Setup for Practice - RHCSA
Standard Installation of RHEL 9
Create a Red Hat Network (RHN) account - Red Hat Login ID
Download the Latest Version of RHEL 9.4
Download and Install Oracle VirtualBox
Overview of Oracle VirtualBox
Create a template of RHEL9 VM
Create a template for a RHEL 9 virtual machine
Adjust Settings using the RHEL9 Template
Install Red Hat Enterprise Linux 9.4
Continue - Installation of RHEL 9
Access RHEL 9 from a Windows machine
Install and set up MobaXterm software
Allow a user to execute any commands using visudo.
sudo access
Set up a local Yum server
Section 2: Improve command-line productivity
Write simple bash scripts
Execute a bash shell script
Quote special characters
Lab- variable & special characters
echo command
Lab- echo command
Lab- redirection operator ">"
Lab- redirection stderr, append "2>", ">>"
Loops to iterate commands
Exit codes in bash script
Lab- exit code number
Lab- exit code in bash script
Test logic
Conditional structure-if, else, elif..
Lab- if, else
Lab- if, elif
Grep command
Regular expressions
Lab- Match the start and end of a line using "^" & "$"
Section 3:Schedule future tasks
Schedule deferred user tasks
Inspect and manage deferred user jobs
Lab1- at command
Lab2- at command
Recurring user jobs
Examples- Recurring user jobs
Lab- crontab(Recurring user jobs)
Lab 1- Schedule a script via crontab
Lab 2- Schedule a script via crontab
Recurring system jobs
Run periodic commands with Anacron
System timer
Lab- system timer
Managing temporary files
Cleaning temporary files with a systemd timer
Lab 1- Managing temp files
Lab 2- Managing temp files
Section 4: Tune system performance
Adjust tuning profiles
Managing Profiles from the command line
Manage profile with the command line
Linux process scheduling
Section 5: Managing SElinux security
SELinux security concepts
SELinux protection (DAC vs MAC)
SELinux context
Lab- SELinux context
Practical approach to understand SELinux security
SELinux modes
Toggling the SELinux modes temporarily
Toggling the SELinux modes permanently
Lab- SELinux security
Industrial project on SELinux security-1
Industrial project on SELinux security-2
Industrial project on SELinux security-3
Industrial project on SELinux security-4
Lab- change the SELinux context
Define SELinux default file context policies
Lab- SELinux default file context policies
SELinux Booleans
Lab 1- SELinux Booleans
Lab 2- SELinux Booleans
Section 6: Manage basic storage
Overview of partition disk
MBR partition scheme
MBR- Master Boot Record
Limitation of MBR partition scheme
GPT partition scheme
Manage partitions
Lab- create partition using parted command
Lab- create partition using single command
Lab- create file systems
Lab- persistently mount file system
lsblk command to scan the block devices
Swap space concepts
Create a swap partition
Activate swap space
Activate swap space persistently
Set swap space priority
Section 7: Manage storage stack-LVM
Overview of LVM- Logical volume manager
Features of LVM
Architectural overview of LVM
Architectural overview via diagram
Lab- create PV(Physical Volume)
Lab- create VG(Volume Group)
Lab- create LV(Logical Volume)
Lab- create a FS and LV
Lab- Display information about PV,VG, and LV
Extend a volume Group size
Lab- Extend a volume Group size
Extend a logical volume size
Lab- Extend an XFS file system
Lab- Extend an EXT4 file system
Extend swap space logical volumes
Reduce volume group storage
Remove a logical volume
Remove the volume group
Section 8: Manage layered storage
Overview of stratis storage management
Install and enable stratis
Create stratis pools
Manage stratis file system
Create a stratis file system snapshot
Persistently mount stratis file systems
Industrial Project- Lab 1
Industrial Project- Lab 2
Industrial Project- Lab 3
Industrial Project- Lab 4
Industrial Project- Lab 5
Industrial Project- Lab 6
Section 9: Access network-attached storage
Overview of NFS in Linux
Accessing exported NFS directories
Query a server's exported NFS directories
Create local yum server to install NFS package
Lab- Install NFS package
Lab- Create a NFS file system
Lab- Export the file system
Lab- Configure NFS client
Lab- Mount the exported FS on client
Lab- Unmount the exported FS
Mount NFS exports with the Automounter
Lab 1- Setup automount using Indirect Map
Lab 2- Setup automount using Indirect Map
Lab 3- Check the Autofs working
Lab 4- Automatically unmount the file system if it is not being accessed.
Lab 1- Industrial project on Indirect Wildcard Maps
Lab 2- Industrial project on Indirect Wildcard Maps
Lab 3- Industrial project on Indirect Wildcard Maps
Lab 4- Industrial project on Indirect Wildcard Maps
Lab 5- Industrial project on Indirect Wildcard Maps
Section 10: Control the boot process
Booting process of RHEL 9 system
Reboot and Shutdown
System Target
Select a target at runtime
Set a default target
Select a target at boot time
Reset the root passwd using Rd.Break
Reset the root password using RHEL9 ISO
Repairing System boot Issues- Rescue mode
Boot RHEL 9 into Emergency mode
Enabling the early debug Shell
Repair file system issues at boot
Repair file system- Misconfiguration in the /etc/fstab
Repair file system- Root FS corruption
Section 11: Run Containers
Introducing container technology
Container images and registries
Authenticate to registry- Podman login
Conf file of container registries
Container files to Build container Images
The Podman Utility
Install Container Utilities
Search a container Image
Examine container image- skopeo inspect
Create a container image using containerfile
Inspect the container image
Run containers
Create and start container
Run a container from a remote repository
Run a ubuntu container
Run an Apache webserver container on port 8080
Environment isolation in containers
Podman exec- executes a command inside a running container
Remove containers and images
Manage container resources
Environment variable for containers
Run a MariaDB container while passing environment variables
Ephemeral nature of container storage
Container Persistent storage
Attach the persistent storage to a container
Assign a port mapping to containers
Map the container host port on the container (MariaDB)
Part 2: Course Content
Red Hat Training and Certification - RHEL 8 (RH134)
Introduction
Overview about the Course Module
Scheduling Future Tasks
Overview of Scheduling Tasks
Scheduling a Deferred User Job
Controlling Nice Values with Queue Designations
Scheduling Recurring User Jobs
Scheduling a job for a specific time - 1
Scheduling a job for a specific time - 2
Practice Lab Session - Scheduling a Recurring User Jobs
Scheduling Recurring System Jobs
Practice Lab Session - System Jobs
Scheduling tasks with Systemd Timer
Practice Lab Session - Systemd Timer
Managing Temporary Files
Cleaning Temporary Files with a Systemd Timer
Lab - Configure systemd-tmpfiles to remove unused temporary files from /tmp
Lab - Configure systemd-tmpfiles to periodically purge files from another directory
Adjusting Tuning Profiles
Overview about tuning profiles
Managing profiles from the command line
Lab Session - Tune a server’s performance by activating the tuned service and apply a tuning profile to powersave.
Process Scheduling & Multitasking
Displaying Nice Levels from the Command Line
Changing the Nice Level of an Existing Process
Lab Session: Influencing Process Scheduling
Controlling Access to files with ACLs
Access Control List Concepts
Set ACLs on files
Default ACLs
Viewing and Interpreting ACL Permissions
Lab - set acl on files
Lab - set acl on directories
Lab - Mask to limit the set of permissions
Lab - default acl
Guided Exercise on ACL
Managing SELinux Security
SELinux Security Concepts
SELinux Context
SELinux Modes
Apache service without SELinux Protection (DAC)
Apache service with SELinux Protection (MAC)
Practical approach to understand SELinux
Lab - Change context temporary
Lab - Change context permanently
Lab - SELinux inheritance and its pitfalls
SELinux Booleans
Lab - SELinux Booleans
Audit logs & Troubleshooting SELinux
Adding Partitions, File Systems, and Persistent mounts
Partitioning a Disk
Benefits of disk partitioning
MBR Partitioning Scheme
Primary & Extended Partitions
GPT Partitioning Scheme
How to identify what partitioning standard is used
Managing Partitions with Parted
Creating a file system
Swap Space Concepts
Create a Swap Partitions
Setting the Swap Space Priority
Creating Logical Volumes
The LVM Logical Volume Manager
Features of LVM
LVM Architecture Overview
Architectural Overview via Diagram
LVM Components - PV, VG, LV
Lab 1 - Creation of PV, VG, LV
Lab 2 - Create File System, Mount Point
Lab 3 - Remove a Logical Volume
Lab 4 - Extending and Reducing a Volume Group
Lab 5 - Extending a LV and xfs & ext4 FS
Lab 6 - Extend a swap space
Advanced Storage Features
About Stratis
Lab - Installing & Configuring Stratis
Lab - Managing Stratis File Systems
Lab - Persistently Mounting Stratis File Systems
Lab - Stratis filesystem snapshot
Guided Exercise - Create a thin-provisioned file system
Guided Exercise - Verify file system grows dynamically
Guided Exercise - Create & access data from Snapshot
VDO - Virtual Data Optimizer
Lab - Installation VDO
Lab - Create & format a VDO Volume
Lab - Testing Deduplication:
Recap - Lab
Lab - Extend & Remove VDO Volume
Controlling the Boot Process
Booting Process of a RHEL 8 System
Selecting a systemd target, rebooting & shutting
Lab Exercise - Determine the default target and change the target into running system.
Lab - Selecting a rescue mode at boot time
Resetting a root password
Repairing Systemd Boot Issues
Booting RHEL 8 into Rescue Mode
Booting RHEL 8 into Emergency Mode
Enabling the Early Debug Shell
Repair a File System Issues at boot
Lab - Repair a File System
Managing Network Security
Firewall Concepts
Features and advantages of firewalld
Pre-defined Zones
Packet flow via firewalld
Add, remove services from firewall server - Lab Session
Add http service to allow access the website - Lab Session
Port Forwarding - allow access a website running on 12345 port
masquerading, network address translation
Lab Session - masquerading, port forwarding
rich rules
Lab Session - rich rules
Automating Installation with Kickstart
Overview Kickstart Server
Architectural Overview
Lab 1 - Configure dhcp server
Lab 2 - Configure tftp, pxe boot server
Lec 3 - Configure httpd, kick start configuration file
Lab 4 - Configure http repository, start services
Lab 5 - Boot the Client from Network
Network File System
Overview of NFS
nfsconf tool
Lab - Accessing Network-Attached Storage
Exercise - NFS Share
Mounting NFS Shares with Automounter
Automounter Benefits
Lab - Automounter using indirect map
Lab Session on Indirect Wildcard Maps
Lab Session on Direct maps
KVM Virtualization
Overview of Linux Virtualization
Hypervisor Concept - type 1 & type 2
Types of Virtualization
KVM, QEMU & Libvirt Architecture
virsh command to manager vm's
Lab Session
Introducing Containers
Introducing Container Technology
Planning for containers
Lab - configure a basic container
Lab - mapping container host ports to the container
Lab - stop, restart & remove container
Improving Command-line Productivity
Writing Simple Bash Scripts
Lab - Writing Simple Bash Scripts
Simple Commands in Linux
Variable, single and double quote, backslash
Redirection output
Redirection output - Lab
Last lecture