Project Oxygen & Ideo-LabIDEO LAB Dashboard 2026

🐧 Ubuntu vs 🧱 Red Hat (RHEL)

Comparatif IDEO‑Lab orientĂ© production : paquets, sĂ©curitĂ©, cycle de vie, rĂ©seau, conteneurs, cloud & commandes.

1

Écosystùme & Cibles

Origines, variantes (Ubuntu/Debian vs Fedora/RHEL), orientations Desktop/Cloud/Entreprise.

DebianFedoraRocky
2

Paquets & DépÎts

apt/dpkg vs dnf/rpm, AppStream, EPEL, PPA & Snap.

aptdnfrpm
3

Cycle de vie & Support

LTS & ESM vs Subscription 10 ans, errata, SLA, Developer Edition.

LTSESMSLA
4

Sécurité

AppArmor vs SELinux, Livepatch/kpatch, FIPS, hardening.

SELinuxAppArmor
5

Réseau

Netplan & systemd‑networkd vs NetworkManager, hostname & DNS.

nmclinetplan
6

Pare‑feu

ufw & nftables vs firewalld (zones, services, rich rules).

ufwfirewalld
7

FS & Partitionnement

ext4/Btrfs vs XFS, LVM, schémas serveur, croissance à chaud.

ext4XFSLVM
8

Services & Logs

systemd/journalctl, différences httpd vs apache2, chemins conf.

systemctljournalctl
9

Conteneurs & Orchestration

Docker/Snap vs Podman, Buildah, OpenShift/K8s.

DockerPodmanOpenShift
10

Cloud Images & CI/CD

AMI, images cloud‑init, runners, hardening cloud.

cloud-initAMI
11

Licences & Coûts

Gratuit + Ubuntu Pro vs RHEL Subscriptions, Rocky/Alma.

Ubuntu ProRHEL
12

Commandes équivalentes

Cartographie apt⇄dnf, services, rĂ©seau, firewall.

MappingCheat
1) Écosystùme & Cibles
Généalogie
Ubuntu (Canonical) <- Debian (Stable/Testing/Unstable)
  └─ Saveur Serveur/Desktop/Cloud (LTS 5 ans + ESM)
RHEL (Red Hat) <- Fedora (upstream)
  ├─ RHEL (10 ans, support commercial)
  ├─ CentOS Stream (preview rolling)
  └─ Clones 1:1 (Rocky Linux, AlmaLinux)
Ubuntu vise l’accessibilitĂ© et la rapiditĂ© d’adoption (Dev/Cloud). RHEL vise la conformitĂ©, la stabilitĂ© et les certifications (Enterprise).
Cas d’usage typiques
ContexteUbuntuRHEL / Clones
Poste Dev / CI localeTrĂšs populaire (Snap/PPAs rapide)Moins courant
Web Apps / APITrÚs répandu (Nginx/Node/Python)Fréquent en entreprise
Prod critique & conformitéUbuntu Pro/FIPS possibleStandard de fait (SLA)
Kuberneteskubeadm, MicroK8sOpenShift, RKE2, OKD
2) Paquets & DépÎts : apt/dpkg vs dnf/rpm
apt & dpkg
sudo apt update && sudo apt upgrade -y
sudo apt install nginx
sudo dpkg -i paquet.deb   # Niveau bas (dépendances non résolues)
# PPAs & Snaps pour versions récentes
sudo add-apt-repository ppa:ondrej/php -y && sudo apt update
sudo snap install node --classic
dnf & rpm
sudo dnf update -y
sudo dnf install nginx
sudo dnf install -y epel-release   # EPEL indispensable
sudo rpm -q nginx && rpm -ql nginx # Interroger/vérifier des RPM
AppStream, Modules & EPEL (RHEL) / PPAs & Snaps (Ubuntu)
# RHEL - versions multiples (PHP ex.)
sudo dnf module list php
sudo dnf module enable php:8.2 -y && sudo dnf install php

# Ubuntu - canaux alternatifs
sudo add-apt-repository ppa:deadsnakes/ppa -y # Python récents
sudo snap info lxd && sudo snap install lxd
3) Cycle de vie, Support & Mises Ă  jour
Ubuntu
  • LTS: 5 ans + ESM (jusqu’à 10 ans).
  • Livepatch kernel (sans reboot) via Ubuntu Pro.
  • RapiditĂ© des versions pour stacks Dev.
RHEL
  • Support 10 ans (5 + 5), errata & backports testĂ©s.
  • kpatch (live kernel), Red Hat Insights, Satellite.
  • RHEL Developer (gratuit non‑prod) pour tests.
Tableau synthĂšse
AspectUbuntuRHEL
Durée support5 + 5 (ESM)10 ans
CertificationsOption FIPS / CISFIPS, CC, DoD (large)
Gestion de parcLandscape, MAAS, Canonical UASatellite, Insights
4) Sécurité : AppArmor vs SELinux, durcissement
# Statut AppArmor
sudo aa-status
# Profils enforcing/complain & gestion
sudo aa-enforce /etc/apparmor.d/usr.sbin.nginx
sudo aa-complain /etc/apparmor.d/usr.sbin.nginx
# Statut SELinux
sestatus && getenforce
# Logs et correction
sudo ausearch -m AVC -ts recent | audit2allow -M fix_httpd
sudo semodule -i fix_httpd.pp
# Comptes & sudo
sudo useradd -m -s /bin/bash dev && sudo usermod -aG sudo dev   # Ubuntu
sudo usermod -aG wheel dev                                      # RHEL
# SSH
sudo sed -i 's/^#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo systemctl restart sshd
5) Réseau : Netplan vs NetworkManager
# /etc/netplan/01-netcfg.yaml
network:
  version: 2
  ethernets:
    ens160:
      dhcp4: no
      addresses: [192.168.1.50/24]
      routes:
        - to: default
          via: 192.168.1.1
      nameservers:
        addresses: [1.1.1.1,8.8.8.8]
# Appliquer
sudo netplan apply
# Profil statique
sudo nmcli connection modify eth0 ipv4.method manual \
  ipv4.addresses 192.168.1.60/24 ipv4.gateway 192.168.1.1 \
  ipv4.dns "1.1.1.1 8.8.8.8"
sudo nmcli connection up eth0
6) Pare‑feu : UFW vs firewalld
sudo ufw default deny incoming
sudo ufw allow OpenSSH
sudo ufw allow 80,443/tcp
sudo ufw enable && sudo ufw status verbose
sudo systemctl enable --now firewalld
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --reload && sudo firewall-cmd --list-all
7) FS & Partitionnement : ext4/Btrfs vs XFS (LVM)
Schémas conseillés
Point de montageUbuntuRHEL
/bootext4 ~1GXFS ~1G
root (/)ext4 ou BtrfsXFS (LVM)
swapswapfile possibleLV swap
XFS ne se rétrécit pas. Prévoir LVM et marges. Btrfs offre snapshots, utile en dev.
Opérations
# Agrandir LV + FS (RHEL)
sudo lvextend -r -L +20G /dev/rl/root   # -r = resize FS (xfs_growfs)
# Vérifier
sudo lvs && sudo xfs_info /
8) Services & Logs : systemd, chemins et noms
# Démarrer/activer
sudo systemctl enable --now nginx
# Statut + logs récents
sudo systemctl status nginx
sudo journalctl -u nginx -n 50 -f
# Apache
# Ubuntu : paquet 'apache2', conf /etc/apache2/
# RHEL   : paquet 'httpd',   conf /etc/httpd/
# PHP (FPM)
# Ubuntu : php-fpm service = php8.2-fpm
# RHEL   : php-fpm service = php-fpm (via module AppStream)
9) Conteneurs & Orchestration
# Docker CE
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
# MicroK8s (Snap)
sudo snap install microk8s --classic
microk8s status && microk8s enable dns ingress
# Podman (rootless) & Buildah
sudo dnf install -y podman buildah
podman run --rm -it alpine:latest sh
# OpenShift (OKD pour tests)
# Installer oc & utiliser CRC (CodeReady Containers) pour dev
10) Cloud Images, cloud-init & CI/CD
# cloud-init user-data (extrait)
#cloud-config
users:
  - name: devops
    groups: [sudo]
    ssh-authorized-keys:
      - ssh-ed25519 AAAA...
packages: [nginx, git]
runcmd:
  - [systemctl, enable, --now, nginx]
# CI/CD self‑hosted runner (ex: GitHub)
sudo useradd -m runner && sudo -iu runner bash
# Télécharger binaire runner, enregistrer avec token
./run.sh
# Installez dépendances selon distro (apt vs dnf)
11) Licences & Coûts
ÉlĂ©mentUbuntuRHEL / Clones
LicenceGratuite (open source)Abonnement (SLA), clones gratuits (Rocky/Alma)
SupportCanonical (Ubuntu Pro)Red Hat (contrats), communautés clones
ConformitéFIPS en optionFIPS/CC/DoD fréquents
12) Commandes équivalentes (Mapping)
Paquets & SystĂšme
# Installer paquet
Ubuntu : sudo apt install nginx
RHEL   : sudo dnf install nginx

# Services
Ubuntu : sudo systemctl restart apache2
RHEL   : sudo systemctl restart httpd

# Logs service
Ubuntu/RHEL : sudo journalctl -u nginx -n 100 -f
RĂ©seau & Pare‑feu
# IP statique
Ubuntu : sudoedit /etc/netplan/*.yaml && sudo netplan apply
RHEL   : nmcli con mod eth0 ipv4.method manual ... && nmcli con up eth0

# Firewall HTTP
Ubuntu : sudo ufw allow 80,443/tcp && sudo ufw enable
RHEL   : sudo firewall-cmd --zone=public --add-service=http --permanent && sudo firewall-cmd --reload
Dual Cheat‑Sheet (Ubuntu ⇄ RHEL)
# Mises Ă  jour
Ubuntu : sudo apt update && sudo apt upgrade -y
RHEL   : sudo dnf update -y

# Nginx
Ubuntu : sudo apt install nginx && sudo systemctl enable --now nginx
RHEL   : sudo dnf install nginx && sudo systemctl enable --now nginx

# PHP-FPM
Ubuntu : sudo apt install php8.2-fpm && sudo systemctl enable --now php8.2-fpm
RHEL   : sudo dnf module enable php:8.2 -y && sudo dnf install php-fpm && sudo systemctl enable --now php-fpm
Tips de Migration (Ubuntu ↔ RHEL)
  • Chemins & noms : /etc/apache2 ↔ /etc/httpd, service apache2 ↔ httpd.
  • Modules : activer AppStream (RHEL) pour versions langages (PHP, Node, etc.).
  • Firewall : traduire rĂšgles UFW → services/ports firewalld (zones).
  • SĂ©curitĂ© : vĂ©rifier AppArmor/SELinux ; en cas de 403, valider contextes (SELinux) ou profils (AppArmor).
  • CI/CD : runners et paquets build‑essentials ↔ groupinstall "Development Tools".