Linux administration for operations
Diagnose Linux services, permissions, disk, memory, networking, and scripts using evidence. Practice support and recovery decisions in production scenarios.
Objectives and progression
Twelve modules teach how to observe a Linux system, form hypotheses, and choose justified interventions. Lessons connect systemd, identity, storage, performance, networking, Bash, resource isolation, data publication, and recovery to production-support tasks. Each module includes its own questions; twenty fictional cases show constraints, consequences, and alternative decisions. The final assessment reuses path questions to consolidate learning. References identify versions and context differences: SELinux examples use RHEL 10 and do not represent every distribution.
Audience: L2/L3 support professionals, administrators, and technical managers coordinating Linux services.
Prerequisites: Familiarity with a terminal, files, and IT services. Hands-on exercises should use an authorized environment.
470 estimated study minutes
- Collect bounded evidence and distinguish symptoms from causes.
- Relate service state, permissions, and resources to functional impact.
- Interpret networking and script failures without overlooking execution context.
- Plan changes and recovery with validation, persistence, and partial-data handling.
Modules
- Start with context and preserve evidence
- Interpret services and logs with systemd
- Diagnose identity, permissions, and SELinux
- Distinguish space, inodes, and mounts
- Interpret CPU, memory, and I/O waiting
- Separate DNS, connections, TLS, and the application
- Shell: arguments, pipelines, and exit codes
- Maintenance and demonstrated recovery
- Isolate resources and establish readiness on Linux
- Recover filesystems and publish data safely
- Diagnose networking in the application context
- Automate with Bash: failures, concurrency, and delivery
Continue learning
References and version
DR Linux 2026.4; networking and Bash manuals reviewed 2026-10-01; cgroup v2 and upstream systemd manuals reviewed 2026-10-01; RHEL 10 examples; Linux man-pages 6.19; OpenSSL 3.5
- RHEL 10: system status and performance · 2026-09-29
- systemctl(1): system and service manager · 2026-09-29
- journalctl(1): query the journal · 2026-09-29
- path_resolution(7): path traversal · 2026-09-29
- unlink(2): remove a directory entry · 2026-09-29
- RHEL 10: troubleshooting SELinux · 2026-09-29
- Linux cgroup v2 administration · 2026-09-29
- proc_loadavg(5): Linux load average · 2026-09-29
- proc_meminfo(5): memory information · 2026-09-29
- ss(8): socket statistics · 2026-09-29
- getent(1): name service databases · 2026-09-29
- bash(1): shell expansion and pipelines · 2026-09-29
- df(1): filesystem space · 2026-09-29
- fstab(5): filesystem table · 2026-09-29
- OpenSSL s_client diagnostics · 2026-09-29
- systemd.resource-control(5) · 2026-10-01
- systemd.service(5) · 2026-10-01
- systemd.unit(5) · 2026-10-01
- Control Group v2 · 2026-10-01
- PSI: Pressure Stall Information · 2026-10-01
- findmnt(8) · 2026-10-01
- mount_namespaces(7) · 2026-10-01
- rename(2) · 2026-10-01
- fsync(2) · 2026-10-01
- e2fsck(8) · 2026-10-01
- xfs_repair(8) · 2026-10-01
- acl(5) · 2026-10-01
- du(1) · 2026-10-01
- Contingency Planning Guide for Federal Information Systems · 2026-10-01
- ip-route(8) · 2026-10-01
- ip-rule(8) · 2026-10-01
- ip-netns(8) · 2026-10-01
- ss(8) · 2026-10-01
- bash(1) · 2026-10-01
- flock(1) · 2026-10-01
- timeout(1) · 2026-10-01
- mktemp(1) · 2026-10-01
- connect(2) · 2026-10-01
- ip(7) · 2026-10-01
- getent(1) · 2026-10-01
- curl manual · 2026-10-01
- flock(2) · 2026-10-01
- find(1) · 2026-10-01
- IPV6_V6ONLY(2const) · 2026-10-01
- openssl-s_client · 2026-10-01
What you will explore
0 / 12Start with context and preserve evidence
Identify the system, failure window, and service before changing state.
Interpret services and logs with systemd
Distinguish current state, startup enablement, and configuration reload.
Diagnose identity, permissions, and SELinux
Investigate layered access controls without indiscriminately broadening permissions.
Distinguish space, inodes, and mounts
Explain write failures and differences between filesystem and file usage.
Interpret CPU, memory, and I/O waiting
Use metrics together to choose the next diagnostic hypothesis.
Separate DNS, connections, TLS, and the application
Locate the failure layer and prepare a change with validation and rollback.
Shell: arguments, pipelines, and exit codes
Make script intent explicit when handling paths and failures.
Maintenance and demonstrated recovery
Prepare updates, restarts, and persistence validation.
Isolate resources and establish readiness on Linux
Connect cgroup limits, resource pressure, and startup semantics to service-recovery decisions.
Recover filesystems and publish data safely
Distinguish mounts, data identity, atomicity, and durability before repairing, publishing, or accepting a restore.
Diagnose networking in the application context
Trace resolution, routing, TCP, TLS, and HTTP without confusing a local observation with service recovery.
Automate with Bash: failures, concurrency, and delivery
Preserve arguments and statuses, control concurrent jobs, and distinguish execution, publication, and effect acknowledgement.