The Complete Linux Learning Roadmap — From Zero to SRE
A step-by-step roadmap to go from Linux beginner to production-ready SRE. No hand-waving, no "just practice more" -- a concrete month-by-month plan with specific skills, projects, and checkpoints. This roadmap is built from real hiring patterns at companies that run Linux in production.
Who This Roadmap Is For
This is for you if:
- You want to break into DevOps, SRE, or Cloud Engineering
- You know basic programming but Linux feels like a black box
- You've used Linux casually but never managed production servers
- You're preparing for LFCS, RHCSA, or RHCE certification
The 6-Month Plan
Month 1: Foundations — Navigate Linux Like You Own It
Goal: Be comfortable on the command line. Navigate the filesystem, manage files, understand permissions, and write basic commands without Googling.
| Week | Focus Area | Key Skills |
|---|---|---|
| 1 | Command line basics | cd, ls, cp, mv, rm, mkdir, find, grep, cat, less |
| 2 | File permissions & ownership | chmod, chown, umask, sticky bit, SUID/SGID |
| 3 | Users, groups & sudo | useradd, usermod, groupadd, /etc/passwd, /etc/shadow, sudoers |
| 4 | Text processing | awk, sed, cut, sort, uniq, wc, pipes, redirection |
Project: Set up an Ubuntu Server VM, create 3 users with different permission levels, and write a script that generates a daily report of system resource usage.
# Month 1 self-check: can you do all of these without looking them up?
find /var/log -name "*.log" -mtime -7 -size +1M
chmod 2750 /opt/shared
awk -F: '$3 >= 1000 {print $1}' /etc/passwd
grep -rn "error" /var/log/ --include="*.log" | sort -t: -k1,1 | uniq -c | sort -rn | head
Further reading from this series:
- Linux Essentials for DevOps Engineers
- Linux File Permissions Explained
- Linux Users & Groups Management
- Linux Text Processing — awk, sed, cut, and Beyond
Month 2: System Administration — Keep Servers Running
Goal: Manage packages, services, storage, and scheduled tasks. Understand how a Linux system boots and runs.
| Week | Focus Area | Key Skills |
|---|---|---|
| 1 | Package management | apt/dnf, repositories, pinning, building from source |
| 2 | systemd & services | systemctl, unit files, targets, journalctl, timers |
| 3 | Disk & storage | partitioning, LVM, filesystems, mount/fstab, disk quotas |
| 4 | Process management & cron | ps, top, kill, signals, nice, cron, at, systemd timers |
Project: Set up a web server (Nginx), configure it as a systemd service with automatic restart, set up log rotation, and schedule a nightly backup cron job.
# Month 2 self-check
systemctl list-dependencies multi-user.target
journalctl -u nginx --since "2 hours ago" -p warning
lsblk -f
lvextend -l +100%FREE /dev/vg0/lv_data && resize2fs /dev/vg0/lv_data
crontab -l
Further reading from this series:
- Linux Package Managers — apt, dnf, and Beyond
- Linux systemd Services — Complete Guide
- Linux Disk & Storage Management
- Linux Process Management
- Linux Cron Jobs — Scheduling Made Simple
Month 3: Networking & Security — Production Essentials
Goal: Configure networking, manage firewalls, harden SSH, and understand how data flows between servers.
| Week | Focus Area | Key Skills |
|---|---|---|
| 1 | Networking fundamentals | IP, DNS, routing, ip, ss, dig, traceroute, /etc/hosts |
| 2 | Advanced networking | bonding, VLANs, bridges, network namespaces, tc |
| 3 | Firewalls | iptables/nftables chains, UFW, zones, NAT, port forwarding |
| 4 | SSH & security hardening | key auth, tunnels, jump hosts, fail2ban, CIS benchmarks |
Project: Set up two VMs that communicate over a private network. Configure iptables to allow only SSH and HTTP. Set up SSH key-based auth with jump host access.
# Month 3 self-check
ip route show
ss -tlnp
sudo iptables -L -n -v
ssh -J jumphost user@internal-server
fail2ban-client status sshd
Further reading from this series:
- Linux Networking Basics
- Linux Advanced Networking — Bonding, VLANs, and Traffic Control
- Linux Firewall with iptables & nftables
- SSH Mastery — Keys, Tunnels, and Proxies
- Linux Security Hardening — Production Checklist
- SELinux & AppArmor — Mandatory Access Control
Month 4: Shell Scripting & Automation — Stop Doing Things Manually
Goal: Write production-quality shell scripts. Automate common tasks. Understand when to use bash vs. a real programming language.
| Week | Focus Area | Key Skills |
|---|---|---|
| 1 | Bash fundamentals | variables, conditionals, loops, functions, exit codes |
| 2 | Advanced scripting | arrays, string manipulation, subshells, process substitution |
| 3 | Production scripts | error handling (set -euo pipefail), logging, argument parsing |
| 4 | Automation tools | Ansible basics, cron-based automation, monitoring scripts |
Project: Write a deployment script that: pulls code from git, runs tests, creates a backup of the current version, deploys the new version, and rolls back automatically if the health check fails.
# Month 4 self-check: write each of these from scratch
# 1. Script that monitors a log file and alerts on ERROR patterns
# 2. Backup script with rotation and remote sync
# 3. User provisioning script that reads from a CSV
# 4. System health check that outputs a report
Further reading from this series:
- Shell Scripting Part 1 — Fundamentals
- Shell Scripting Part 2 — Advanced Techniques
- Shell Scripting Part 3 — Production Patterns
- Automate Linux Server Management with Ansible
- Linux Backup & Disaster Recovery
Month 5: Performance, Containers & Troubleshooting — Think Like an SRE
Goal: Diagnose performance issues, understand containers at the Linux level, and develop a systematic troubleshooting methodology.
| Week | Focus Area | Key Skills |
|---|---|---|
| 1 | Performance tuning | perf, strace, sar, sysctl tuning, I/O scheduling |
| 2 | Kernel parameters | /proc/sys, sysctl, module management, resource limits |
| 3 | Containers from scratch | namespaces, cgroups, overlay filesystems, building containers manually |
| 4 | Troubleshooting | systematic methodology, log analysis, filesystem forensics |
Project: Take a deliberately misconfigured server (high load, memory leak, disk full, network issues) and systematically diagnose and fix every problem. Document your process.
# Month 5 self-check
perf stat -p <PID> sleep 10
strace -c -p <PID>
cat /proc/sys/vm/swappiness
unshare --pid --mount --net --fork /bin/bash
dmesg | tail -50
Further reading from this series:
- Linux Performance Tuning — CPU, Memory, I/O
- Linux Kernel Parameters — sysctl Deep Dive
- Linux Containers from Scratch — Namespaces & Cgroups
- Linux Troubleshooting Guide — Systematic Debugging
- Linux Log Analysis — journalctl, syslog, and Beyond
- Linux Filesystem Deep Dive — ext4, XFS, and Btrfs
Month 6: Production Infrastructure — Put It All Together
Goal: Build and operate production-grade Linux infrastructure. Monitoring, high availability, and disaster recovery.
| Week | Focus Area | Key Skills |
|---|---|---|
| 1 | Monitoring | Prometheus, node_exporter, Grafana, alerting rules |
| 2 | High availability | Keepalived, HAProxy, load balancing, failover |
| 3 | Disaster recovery | Backup strategies, restore testing, runbooks |
| 4 | Interview prep & certification | Mock interviews, practice exams, lab scenarios |
Project: Build a complete production environment: 2 HAProxy nodes with Keepalived, 3 web servers, 1 database server, Prometheus monitoring, automated backups, and documented runbooks.
# Month 6 self-check
curl -s http://localhost:9090/api/v1/targets | python3 -m json.tool
echo "show stat" | socat stdio /var/run/haproxy.sock
ip addr show | grep "secondary"
rsync -avhn --delete /var/www/ /backup/www/
ansible all -m ping
Further reading from this series:
- Monitor Linux Servers with Prometheus and Grafana
- Linux High Availability — Keepalived, HAProxy, and Clustering
- Linux Backup & Disaster Recovery
- Top 50 Linux Interview Questions for DevOps & SRE Roles
Certification Guide
Certifications validate your skills and open doors. Here's the recommended progression:
| Certification | Organization | Focus | When to Take |
|---|---|---|---|
| LFCS | Linux Foundation | General Linux sysadmin | After Month 3 |
| RHCSA | Red Hat | Red Hat system administration | After Month 4 |
| RHCE | Red Hat | Advanced automation (Ansible) | After Month 5 |
| CKA | CNCF | Kubernetes administration | After Month 6 + K8s study |
All of these are performance-based exams -- you're given a live Linux system and must complete tasks. No multiple choice. This is why hands-on practice matters more than reading.
# Practice environment: spin up VMs for exam prep
# Use Vagrant for quick lab environments
vagrant init generic/rhel9
vagrant up
vagrant ssh
# Or use cloud free tiers
# AWS: t2.micro (750 hrs/month free)
# Azure: B1s (750 hrs/month free)
# GCP: e2-micro (always free)
Skills Checklist
Use this as a self-assessment. Be honest -- can you do each of these without Googling?
Fundamentals:
- Navigate the filesystem and manage files confidently
- Set and troubleshoot file permissions and ownership
- Manage users, groups, and sudo access
- Process text with grep, awk, sed, and pipes
System Administration:
- Install, update, and manage packages
- Create and manage systemd services
- Partition disks, create filesystems, configure LVM
- Schedule tasks with cron and systemd timers
Networking & Security:
- Configure network interfaces and routing
- Set up and troubleshoot firewall rules
- Configure SSH key-based authentication
- Harden a server following CIS benchmarks
Scripting & Automation:
- Write production shell scripts with error handling
- Automate server configuration with Ansible
- Build automated backup and restore workflows
Production Operations:
- Set up monitoring with Prometheus and Grafana
- Configure high availability with Keepalived/HAProxy
- Troubleshoot CPU, memory, disk, and network issues
- Understand containers at the Linux kernel level
How Linux Connects to Your Career
Linux is not a career by itself -- it's the foundation for every infrastructure career path:
| Career Path | Linux Importance | Additional Skills Needed |
|---|---|---|
| DevOps Engineer | Core skill | CI/CD, IaC (Terraform), scripting |
| Site Reliability Engineer | Core skill | Monitoring, incident response, SLOs |
| Cloud Engineer | High | AWS/Azure/GCP, networking, security |
| Platform Engineer | High | Kubernetes, service mesh, developer tools |
| Security Engineer | High | Hardening, compliance, forensics |
Every container runs Linux. Every cloud VM defaults to Linux. Every CI/CD pipeline runs on Linux. Mastering Linux doesn't just get you one job -- it makes you effective at any infrastructure role.
Recommended Practice Environment
# Option 1: Local VMs with VirtualBox + Vagrant
sudo apt install virtualbox vagrant
mkdir ~/linux-lab && cd ~/linux-lab
vagrant init ubuntu/jammy64
vagrant up && vagrant ssh
# Option 2: Cloud free tier (real production experience)
# AWS CLI
aws ec2 run-instances --image-id ami-0c55b159cbfafe1f0 \
--instance-type t2.micro --key-name mykey
# Option 3: WSL2 on Windows (quick start)
wsl --install -d Ubuntu-22.04
What to Do Next
You now have the complete roadmap and 29 posts covering every topic in depth. Here's how to use them:
- Start with Month 1 even if you think you know the basics. Fill gaps.
- Build something every week. Reading without doing is useless.
- Break things on purpose. Misconfigure a server, then fix it.
- Document everything. Write runbooks as you learn -- future you will thank you.
- Join communities. r/linuxadmin, Linux Foundation forums, local meetups.
The difference between someone who "knows Linux" and someone who gets hired as an SRE is hands-on production experience. This roadmap gives you the structure -- you provide the discipline.
This is the final post in the 30-part Linux series on Goel Academy. Go back to the beginning with Linux Essentials for DevOps Engineers and work through every post systematically. Each one is a building block for the next.
