Note: This guide does not promise exam coverage. It teaches the real-world skills that those certifications measure.
Welcome. This guide takes you from your very first login on a RHEL 10 system all the way through the skills expected of a Red Hat Certified Architect (RHCA) on the RHEL infrastructure track — with hands-on labs every step of the way.
- Who this guide is for
- How the guide is structured
- Full table of contents
- Lab environment
- Conventions at a glance
- License
| You are … | Start here |
|---|---|
| Completely new to Linux | Install a RHEL 10 Lab VM |
| Comfortable with Linux basics, learning RHEL admin | Packages and Repos |
| Preparing for RHCE or wanting automation skills | Automation Mindset |
| Going deep on RHEL infrastructure / RHCA | Troubleshooting Playbook |
The guide is split into four progressive tracks:
Onramp → RHCSA → RHCE → RHCA
You can read start-to-finish or jump directly to any chapter. Each chapter is self-contained and lists its prerequisites up front.
| Track | Covers |
|---|---|
| Onramp | Terminal, files, permissions, editors, help system |
| RHCSA | Storage, users, systemd, networking, firewall, SSH, SELinux |
| RHCE | Bash, Ansible, roles, patching workflows |
| RHCA | SELinux deep dive, advanced systemd, networking, Podman ops, performance |
- Install a RHEL 10 Lab VM
- First Boot Checklist
- Accounts, sudo, and Updates
- Getting Help (man, --help, apropos)
- Shell Basics (pwd, ls, cd)
- Files and Text (cp, mv, rm, less)
- Pipes and Redirection
- Editing Files (nano + vim intro)
- Users, Groups, Permissions
- ACLs (When and How)
- Lab — Shared Team Directory
- Packages and Repos (dnf)
- Storage Overview (lsblk, blkid, mounts)
- Filesystems and fstab (XFS)
- LVM (Create, Extend, Reduce Safely)
- systemd Essentials
- Logs and journalctl
- Scheduling (timers + cron)
- Networking Basics (ip, ss)
- NetworkManager (nmcli)
- DNS and Name Resolution
- Firewalling (firewalld)
- SSH (Keys, Server Basics)
- SELinux Fundamentals (Contexts, Booleans)
- SELinux Troubleshooting (AVCs)
- Lab — Static IP + DNS Validation
- Lab — Create a systemd Service
- Lab — LVM + XFS Grow
- Lab — Fix a SELinux Label Issue
- Automation Mindset (Idempotence)
- Bash Scripting Fundamentals
- Ansible Setup and Inventory
- Ansible Playbooks (Tasks, Handlers)
- Variables, Templates, and Files
- Roles and Collections
- Deploy a Service with Ansible (Firewall + SELinux)
- Patch Workflow + Reporting
- Lab — Write Your First Playbook
- Lab — Role-Based Web Service Deploy
- Troubleshooting Playbook (First 10 Minutes)
- Advanced systemd (Dependencies, Drop-ins)
- systemd Hardening (Service Sandboxing)
- Journald Retention and Forwarding
SELinux Deep Dive
- Fix Taxonomy (Label vs Boolean vs Port vs Policy)
- semanage (fcontext, port, boolean)
- Audit Workflow (ausearch, audit2why cautions)
- Lab — Non-Default Port (Correct SELinux Fix)
Networking Deep Dive
- nmcli Profiles at Scale
- Routing + Troubleshooting Method
- tcpdump Guided Debugging
- VLAN, Bridge, Bond Concepts
- Lab — Debug DNS vs Routing vs Firewall
Containers with Podman
- Container Fundamentals (RHEL view)
- Rootless Podman (Storage, Networking)
- Volumes and Persistent Data
- Podman Secrets (Create, Use, Rotate)
- systemd-Managed Containers (Quadlet)
- Container SELinux Gotchas (Volumes, Labels)
- Lab — Run Rootless Web App + Persistent Data
- Lab — Inject + Rotate a Podman Secret
Performance and Resilience
All labs target a single fresh RHEL 10 VM unless explicitly marked
(Multi-VM). Every lab tells you exactly:
- what packages to install first
- the step-by-step commands with expected results
- how to verify success
- how to clean up and reset
Read the Lab Workflow page before starting your first lab.
$— command runs as a regular user#— command runs as root (prefersudounless told otherwise)sudo command— escalate a single command (safe default)
⚠️ Do NOT do this A pattern you should avoid, with a short explanation and the correct alternative.
💡 Pro tip Useful shortcut or context that helps you understand the "why".
Full details in Conventions.
This project is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0).
https://creativecommons.org/licenses/by-nc-sa/4.0/
© 2026 UncleJS — Licensed under CC BY-NC-SA 4.0