Skip to main content

The Complete Linux Learning Roadmap — From Zero to SRE

· 10 min read
Goel Academy
DevOps & Cloud Learning Hub

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.

WeekFocus AreaKey Skills
1Command line basicscd, ls, cp, mv, rm, mkdir, find, grep, cat, less
2File permissions & ownershipchmod, chown, umask, sticky bit, SUID/SGID
3Users, groups & sudouseradd, usermod, groupadd, /etc/passwd, /etc/shadow, sudoers
4Text processingawk, 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:

Month 2: System Administration — Keep Servers Running

Goal: Manage packages, services, storage, and scheduled tasks. Understand how a Linux system boots and runs.

WeekFocus AreaKey Skills
1Package managementapt/dnf, repositories, pinning, building from source
2systemd & servicessystemctl, unit files, targets, journalctl, timers
3Disk & storagepartitioning, LVM, filesystems, mount/fstab, disk quotas
4Process management & cronps, 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:

Month 3: Networking & Security — Production Essentials

Goal: Configure networking, manage firewalls, harden SSH, and understand how data flows between servers.

WeekFocus AreaKey Skills
1Networking fundamentalsIP, DNS, routing, ip, ss, dig, traceroute, /etc/hosts
2Advanced networkingbonding, VLANs, bridges, network namespaces, tc
3Firewallsiptables/nftables chains, UFW, zones, NAT, port forwarding
4SSH & security hardeningkey 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:

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.

WeekFocus AreaKey Skills
1Bash fundamentalsvariables, conditionals, loops, functions, exit codes
2Advanced scriptingarrays, string manipulation, subshells, process substitution
3Production scriptserror handling (set -euo pipefail), logging, argument parsing
4Automation toolsAnsible 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:

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.

WeekFocus AreaKey Skills
1Performance tuningperf, strace, sar, sysctl tuning, I/O scheduling
2Kernel parameters/proc/sys, sysctl, module management, resource limits
3Containers from scratchnamespaces, cgroups, overlay filesystems, building containers manually
4Troubleshootingsystematic 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:

Month 6: Production Infrastructure — Put It All Together

Goal: Build and operate production-grade Linux infrastructure. Monitoring, high availability, and disaster recovery.

WeekFocus AreaKey Skills
1MonitoringPrometheus, node_exporter, Grafana, alerting rules
2High availabilityKeepalived, HAProxy, load balancing, failover
3Disaster recoveryBackup strategies, restore testing, runbooks
4Interview prep & certificationMock 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:

Certification Guide

Certifications validate your skills and open doors. Here's the recommended progression:

CertificationOrganizationFocusWhen to Take
LFCSLinux FoundationGeneral Linux sysadminAfter Month 3
RHCSARed HatRed Hat system administrationAfter Month 4
RHCERed HatAdvanced automation (Ansible)After Month 5
CKACNCFKubernetes administrationAfter 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 PathLinux ImportanceAdditional Skills Needed
DevOps EngineerCore skillCI/CD, IaC (Terraform), scripting
Site Reliability EngineerCore skillMonitoring, incident response, SLOs
Cloud EngineerHighAWS/Azure/GCP, networking, security
Platform EngineerHighKubernetes, service mesh, developer tools
Security EngineerHighHardening, 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.

# 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:

  1. Start with Month 1 even if you think you know the basics. Fill gaps.
  2. Build something every week. Reading without doing is useless.
  3. Break things on purpose. Misconfigure a server, then fix it.
  4. Document everything. Write runbooks as you learn -- future you will thank you.
  5. 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.