Break · Linux Troubleshooting Lab
Diagnostique et corrige des pannes réelles dans un terminal bash simulé. Chaque scénario se valide automatiquement dès que le problème est résolu.
Linux / Bash
Disk full
Réduire l’occupation de `/var/log` en supprimant les logs volumineux non essentiels.
Permission denied
Donner la permission d’exécution au script `/opt/app/deploy.sh`.
Process zombie
Éliminer le processus zombie en tuant son parent.
Cron broken
Rendre le script de sauvegarde exécutable pour que la tâche cron fonctionne à nouveau.
Docker
Container crash loop
Démarrer la dépendance `db` puis stabiliser `web` (les deux doivent tourner).
Port already in use
Arrêter `legacy` (pour libérer 8080) puis démarrer `app`.
Volume mount fail
Créer le répertoire hôte `/data/postgres` et obtenir `db` en état `running`.
Network unreachable
Connecter le conteneur `api` au réseau `backend`.
Nginx / Traefik
502 Bad Gateway
Redémarrer le conteneur backend pour que nginx serve à nouveau l’application.
SSL cert expired
Remplacer le certificat expiré par le renouvelé, puis recharger nginx.
Config syntax error
Corriger la syntaxe de `/etc/nginx/sites-enabled/app.conf` jusqu’à ce que `nginx -t` passe.
Systemd / Services
Logs & Debugging
Find the intruder
Identifier l’intrusion et supprimer le cron malveillant `/etc/cron.d/backdoor`.
Memory leak
Tuer le processus qui fuit la mémoire (aucun process ne doit dépasser ~50% de RAM).
Silent failure
Lire le log compressé, comprendre l’échec silencieux et créer le répertoire manquant `/opt/app/data`.