Ubuntu/Debian fundamentals: shell proficiency, systemd, filesystem navigation, and essential scripting.
Selecting the right edition, partitioning strategies, and post-installation first steps.
GRUB, initramfs, kernel modules, and what to do when things go wrong.
A user reports their Ubuntu laptop won't boot past GRUB after a power outage. They've never used the terminal. Walk through recovering the system without losing user data.
Understanding /bin, /etc, /var, /tmp, /proc, and why every directory matters.
pwd, cd, ls, find, locate — the daily driver toolkit for any sysadmin.
Q: What does `ls -la` show that `ls -l` does not? A: The dot-files (hidden files like .bashrc, .ssh).
Q: Where would you find network interface configuration? A: /etc/netplan/ or /etc/network/interfaces depending on distro.
nano is the friendly choice for beginners: intuitive, on-screen shortcuts, perfect for quick config changes.
vim is indispensable for professionals. Learn the modes and essential movements now.
A user's SSH authorized_keys file got corrupted. You must edit it over the terminal using only vim. Fix the formatting so each key is on its own line with correct key-type prefix.
chmod, chown, and the numeric/octal permission system.
ACLs, capabilities, and SELinux/AppArmor context awareness.
Q: What do the permissions `rwsr-xr-x` indicate? A: setuid bit is set on the owner execute bit.
Q: Why can't you chmod /etc/shadow for regular users? A: Only root can modify it; shadow perms should be 640 owned by root:shadow.
useradd, usermod, userdel, passwd — managing identities in /etc/passwd and /etc/shadow.
groupadd, gpasswd, supplementary groups, and the principle of least privilege.
An ex-employee still has active SSH keys on three production servers. You need to remove their primary account, purge all authorized_keys references, and rotate shared service passwords they may have known.
apt-get and apt commands for installing, removing, and maintaining software.
Managing repositories, adding PPAs, and handling vendor-specific apt sources.
Q: What is the difference between apt upgrade and apt full-upgrade? A: full-upgrade allows removing currently installed packages if needed for the upgrade (like apt-get dist-upgrade).
Q: How do you find which package owns /etc/nginx/nginx.conf? A: dpkg -S /etc/nginx/nginx.conf
Starting, stopping, enabling, and monitoring services on modern Linux.
Writing and deploying custom systemd units for applications.
A web app crashes every night at 2 AM during a database backup window. It's managed by systemd but doesn't restart automatically. Diagnose, configure proper restart behavior, and set up a systemd timer instead of cron for more reliable scheduling.
* * * * * — minute, hour, day, month, weekday explained with real examples.
When to prefer timers over cron for reliability and logging.
Variables, conditionals, loops, and input/output redirection basics.
Scripts that solve real problems: disk monitoring, user auditing, log rotation helpers.
Your boss asks you to generate a weekly report listing: number of user accounts, top 5 disk-using directories in /home, and count of failed SSH login attempts last week. All from a single script running on five servers.
sshd_config hardening, key generation, and trust relationships.
SSH tunnels, X11 forwarding, port knocking, and bastion hosts.
Q: How do you connect to a server through a bastion host? A: `ssh -J bastion.example.com user@internal-server`.
Q: What's in ~/.ssh/known_hosts? A: Host keys of previously connected servers to prevent MITM attacks.