Skip to content

Linux Distros

← Back to all decks

21 cards — 🟢 4 easy | 🟡 8 medium | 🔴 3 hard

🟢 Easy (4)

1. What distros make up the Red Hat family?

Show answer Fedora (upstream) → RHEL (enterprise) → CentOS Stream (midstream)
AlmaLinux and Rocky Linux are free RHEL binary-compatible rebuilds.
All use dnf/rpm, systemd, SELinux, and firewalld.

Remember: RHEL=commercial. AlmaLinux/Rocky=free rebuilds. CentOS Stream=RHEL preview.

Fun fact: CentOS→Stream shift (2020) birthed AlmaLinux and Rocky Linux.

2. What distros make up the Debian family?

Show answer Debian (upstream) → Ubuntu (Canonical) → Linux Mint, Pop!_OS, etc.
All use apt/dpkg, systemd, AppArmor.
Ubuntu uses Netplan for networking; Debian uses ifupdown or NetworkManager.

Remember: Debian=stability. Ubuntu=Debian-based, 6-month releases, LTS every 2 years.

Fun fact: Ubuntu LTS = 5yr support (10 with Pro). Version = YY.MM.

3. How do system log locations differ between Debian and RHEL?

Show answer Debian/Ubuntu: /var/log/syslog (general), /var/log/auth.log (auth)
RHEL/Fedora: /var/log/messages (general), /var/log/secure (auth)
Both: journalctl for systemd journal, /var/log/kern.log for kernel.

Remember: Debian=stability. Ubuntu=Debian-based, 6-month releases, LTS every 2 years.

Fun fact: Ubuntu LTS = 5yr support (10 with Pro). Version = YY.MM.

4. What is the difference between rolling release and fixed release distros?

Show answer Fixed release (Debian, Ubuntu LTS, RHEL): major version with backported security fixes, predictable, stable. Upgrade between versions.
Rolling release (Arch, Tumbleweed, Fedora Rawhide): continuous updates, always latest packages, occasional breakage.
Rule: fixed for production servers, rolling for development/workstations.

Remember: Distro families: Debian(Ubuntu), Red Hat(RHEL,Fedora), SUSE, Arch, Alpine.

🟡 Medium (8)

1. How does CentOS Stream differ from the old CentOS Linux?

Show answer CentOS Linux was a downstream RHEL rebuild (binary compatible). CentOS Stream is upstream of RHEL — it's the development branch where RHEL is built from. Not a drop-in RHEL replacement. Use AlmaLinux or Rocky Linux for that.

Remember: RHEL=commercial. AlmaLinux/Rocky=free rebuilds. CentOS Stream=RHEL preview.

Fun fact: CentOS→Stream shift (2020) birthed AlmaLinux and Rocky Linux.

2. How do Linux distro support lifecycles compare?

Show answer RHEL: 10+ years (Full Support + Maintenance + ELS)
Ubuntu LTS: 5yr standard + 5yr ESM = 10yr total
Debian Stable: ~3yr regular + ~2yr LTS + ~3yr ELTS
SLES: 10+ years with LTSS
Fedora: ~13 months per release
Alpine: ~2 years per release
Arch: rolling (no EOL, you maintain it)

Remember: Distro families: Debian(Ubuntu), Red Hat(RHEL,Fedora), SUSE, Arch, Alpine.

3. When should you choose RHEL over Ubuntu?

Show answer Enterprise/regulated environments, vendor support contracts required, compliance (FIPS, STIG, Common Criteria), certified hardware/software, existing RHEL ecosystem. RHEL when you need support SLAs and compliance certifications.

Remember: Debian=stability. Ubuntu=Debian-based, 6-month releases, LTS every 2 years.

Fun fact: Ubuntu LTS = 5yr support (10 with Pro). Version = YY.MM.

4. When should you choose Ubuntu LTS over RHEL?

Show answer Cloud-native workloads (default AWS AMI), developer-friendly, strong cloud-init integration, wide third-party software support, cost-sensitive (free, or cheap ESM via Ubuntu Pro). Ubuntu when cloud-first and community support is sufficient.

Remember: Debian=stability. Ubuntu=Debian-based, 6-month releases, LTS every 2 years.

Fun fact: Ubuntu LTS = 5yr support (10 with Pro). Version = YY.MM.

5. How do package management commands differ across distros?

Show answer Install: apt install (Debian) / dnf install (RHEL) / zypper install (SUSE) / apk add (Alpine) / pacman -S (Arch)
Update index: apt update / dnf check-update / zypper refresh / apk update / pacman -Sy
Upgrade all: apt upgrade / dnf upgrade / zypper update / apk upgrade / pacman -Su
File owner: dpkg -S / rpm -qf / apk info -W / pacman -Qo

Remember: Debian=apt(.deb), RHEL=dnf(.rpm), Alpine=apk, Arch=pacman.

6. How do networking stacks differ across Linux distros?

Show answer RHEL/Fedora: NetworkManager (nmcli), /etc/NetworkManager/
Ubuntu: Netplan → NetworkManager or systemd-networkd, /etc/netplan/
Debian: ifupdown or NM, /etc/network/interfaces
SUSE: wicked or NM, /etc/sysconfig/network/
Firewall: RHEL=firewalld, Ubuntu=ufw, Debian=raw nftables

Remember: Distro families: Debian(Ubuntu), Red Hat(RHEL,Fedora), SUSE, Arch, Alpine.

7. What automated provisioning tools do different distro families use?

Show answer RHEL: Kickstart (.ks files)
Debian: Preseed (debconf key=value)
SUSE: AutoYaST (XML profiles)
Universal: cloud-init (YAML, works on all cloud distros)
Fedora CoreOS: Ignition (JSON)

Note: Packer is an image-building tool (not distro-specific) that can target any distro.

Remember: Distro families: Debian(Ubuntu), Red Hat(RHEL,Fedora), SUSE, Arch, Alpine.

8. What are common package name differences between Debian and RHEL?

Show answer Apache: apache2 (Debian) vs httpd (RHEL)
Dev tools: build-essential (Debian) vs @"Development Tools" (RHEL)
Vim: vim (Debian) vs vim-enhanced (RHEL)
MySQL client: mysql-client vs mysql
Apache enable: a2ensite (Debian) vs symlink in conf.d/ (RHEL)
Config dir: sites-available/ (Debian) vs conf.d/ (RHEL)

Remember: Debian=stability. Ubuntu=Debian-based, 6-month releases, LTS every 2 years.

Fun fact: Ubuntu LTS = 5yr support (10 with Pro). Version = YY.MM.

🔴 Hard (3)

1. What problems does Alpine's musl libc cause compared to glibc?

Show answer Binaries compiled on glibc distros won't run on Alpine.
Python C extensions may fail to compile or behave differently.
DNS resolution differs (no nsswitch.conf).
Thread handling differs.
Go with CGO has linking issues.
Locale support is limited.
Fix: use CGO_ENABLED=0 for Go, or use Debian-slim instead.

Remember: Alpine ~5MB. musl libc + BusyBox. Perfect for containers. Package: `apk`.

Gotcha: musl can cause glibc compatibility issues. DNS and Python packages may behave differently.

2. How do SELinux and AppArmor compare?

Show answer SELinux (RHEL): label-based, covers ALL processes, steeper learning curve, stronger coverage, semanage/restorecon/setsebool.
AppArmor (Debian/Ubuntu/SUSE): path-based, only covers profiled binaries, simpler, per-profile enforcement, aa-enforce/aa-complain.
Key difference: unconfined AppArmor processes have zero MAC protection.

Remember: Distro families: Debian(Ubuntu), Red Hat(RHEL,Fedora), SUSE, Arch, Alpine.

3. How do you handle mixed-distro fleets in Ansible?

Show answer Use ansible_os_family fact for conditionals:
when: ansible_os_family == "Debian" or "RedHat"
Use ansible.builtin.package (generic) instead of apt/dnf.
Use variables for package names (httpd vs apache2).
Best practice: standardize on ONE distro per environment role.

Remember: Distro families: Debian(Ubuntu), Red Hat(RHEL,Fedora), SUSE, Arch, Alpine.