k1.2 — What Differs Across Distros (and Why It Matters) 🔎 Even though Linux systems feel similar, the pain points usually come from a handful of predictable differences. Learn these once, and you’ll be able to “translate” smoothly between Debian/Ubuntu and RHEL-like systems (Rocky/Alma). 1) Package management (how you install/update software) This is the #1 day-to-day difference . Debian/Ubuntu: apt (packages are typically .deb ) RHEL family: dnf (packages are typically .rpm ) Why you care: Commands differ ( apt install vs dnf install ). Package names sometimes differ (e.g., dev headers, utilities, service names). Default repo contents and versions can vary a lot (important for PHP/Node). 2) Release cadence & “stability vs freshness” Distros make different tradeoffs: Debian stable / RHEL-like: prioritize predictability and long support windows. Ubuntu LTS: also stable, but often ships newer versions than Debian stable. Why you care: You might not get the newest PHP/Node from default repos on a “stable” distro. You’ll frequently choose between: distro packages (stable, integrated), vs vendor repos / language version managers (newer, more moving parts) 3) Security frameworks & defaults (MAC systems) Two common “why is this blocked?” systems: SELinux (very common/enforced on RHEL family) AppArmor (common on Ubuntu) Why you care: Your config can look correct, permissions can look correct, and it still fails. Troubleshooting often means: service logs + system logs + security policy (not just “chmod it”) 4) Firewall tooling (same concept, different interface) The concept is universal: allow only what you need. But tooling differs: Ubuntu commonly: UFW (friendly frontend) RHEL family commonly: firewalld Why you care: Opening ports (like 80/443) is expressed differently. Guides online often assume one tool; you’ll learn the underlying idea so you can adapt. 5) Defaults, layout conventions, and “where is the config?” Most Linux systems follow similar standards (especially for /etc , /var , logs), but defaults still vary: Different default config paths per service Different default module layouts (e.g., Nginx includes, PHP-FPM pool configs) Different service names in systemd Why you care: You’ll learn to locate configuration and logs reliably, rather than memorize one distro’s exact path. A useful “translation mindset” ✅ When moving between distros, ask the same questions every time: How do I install it here? (APT vs DNF, package names) What’s the service name? ( systemctl status … ) Where are the config + logs? ( /etc/... , /var/log/... , journalctl ) Is a security framework blocking it? (SELinux/AppArmor indicators) Tiny practice prompt (optional) Tell me which family you want to start with in examples later: Debian/Ubuntu RHEL-like (Rocky/Alma) Keep everything dual-written (both), whenever it matters