Aller au contenu
Administration Linux medium

Premiers gestes de dépannage Linux

8 min de lecture

Face à un problème Linux, la méthode est toujours la même : vérifier le service, lire les logs, tester le réseau, contrôler les ressources. Ces quatre étapes résolvent la grande majorité des incidents. Ce guide vous donne les réflexes essentiels pour diagnostiquer un problème de manière structurée.

  • Appliquer une méthode de diagnostic en 4 étapes
  • Vérifier l’état d’un service avec systemctl et lire ses logs
  • Diagnostiquer un problème réseau de base
  • Identifier un manque d’espace disque ou de mémoire
  • Adopter les bons réflexes face à un incident

Quand quelque chose ne fonctionne pas, suivez toujours cet ordre :

  1. Vérifier le service : est-il démarré ? a-t-il planté ?
  2. Lire les logs : que disent les journaux ?
  3. Tester le réseau : la machine est-elle joignable ? le port écoute-t-il ?
  4. Contrôler les ressources : reste-t-il de l’espace disque et de la mémoire ?
Fenêtre de terminal
systemctl status nginx

Trois résultats possibles :

ÉtatSignificationAction
active (running)Le service fonctionneProblème ailleurs (réseau, config…)
inactive (dead)Le service est arrêtéLe démarrer : sudo systemctl start nginx
failedLe service a plantéLire les logs (étape 2)
Fenêtre de terminal
systemctl --failed

Si un service que vous attendez apparaît ici, c’est votre piste principale.

Fenêtre de terminal
journalctl -u nginx -n 30
Fenêtre de terminal
journalctl -p err -b

Cela affiche uniquement les erreurs (et plus grave) du boot actuel.

Ouvrez un terminal dédié pendant que vous tentez un redémarrage :

Fenêtre de terminal
journalctl -u nginx -f

Puis dans un autre terminal :

Fenêtre de terminal
sudo systemctl restart nginx

Vous verrez le message d’erreur apparaître en direct.

Message dans les logsSignification
Address already in useLe port est déjà occupé par un autre processus
Permission deniedLe service n’a pas les droits nécessaires
No such file or directoryUn fichier de configuration ou un binaire manque
Failed to parseErreur de syntaxe dans la configuration
Connection refusedLe service distant n’écoute pas
Fenêtre de terminal
ping -c 4 8.8.8.8

Si ça fonctionne, la connectivité de base est bonne.

Fenêtre de terminal
ping -c 4 google.com

Si ping 8.8.8.8 passe mais pas ping google.com, le problème est DNS. Vérifiez /etc/resolv.conf.

Fenêtre de terminal
ss -tlnp | grep :80

Si aucun résultat, le service n’écoute pas sur ce port. Revenez à l’étape 1.

Depuis une autre machine, le port est-il accessible ?

Section intitulée « Depuis une autre machine, le port est-il accessible ? »
Fenêtre de terminal
curl -I http://192.168.1.10

Si le service écoute localement (ss le confirme) mais n’est pas joignable depuis l’extérieur, un pare-feu bloque probablement le trafic.

Fenêtre de terminal
sudo ufw status
sudo ufw allow 80/tcp
Fenêtre de terminal
df -h
Résultat (extrait)
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 50G 47G 3.0G 94% /

Un système de fichiers à 100% empêche l’écriture de logs, de fichiers temporaires et peut bloquer des services.

Fenêtre de terminal
free -h
Résultat
total used free shared buff/cache available
Mem: 3.8Gi 2.1Gi 200Mi 50Mi 1.5Gi 1.4Gi
Swap: 2.0Gi 500Mi 1.5Gi
  • available indique la mémoire réellement disponible pour les applications.
  • Si available est proche de zéro et le swap très utilisé, la machine manque de RAM.
Fenêtre de terminal
top

Dans top, appuyez sur M pour trier par mémoire, ou P pour trier par CPU. Appuyez sur q pour quitter.

ÉtapeCommandeCe que vous vérifiez
1systemctl status serviceLe service est-il actif ?
1systemctl --failedY a-t-il des services en échec ?
2journalctl -u service -n 30Que disent les logs du service ?
2journalctl -p err -bY a-t-il des erreurs système ?
3ping -c 4 8.8.8.8La connectivité réseau fonctionne ?
3ss -tlnp | grep :portLe port du service est-il ouvert ?
4df -hLe disque est-il plein ?
4free -hLa mémoire est-elle suffisante ?
SymptômeVérificationSolution
Le site web ne répond passystemctl status nginx + ss -tlnp | grep :80Redémarrer le service ou débloquer le port dans le pare-feu
Impossible de se connecter en SSHsystemctl status sshd + ss -tlnp | grep :22Démarrer sshd et vérifier le pare-feu
Le serveur est très lenttop + free -h + df -hIdentifier le processus gourmand, libérer de l’espace disque
Un service redémarre en bouclejournalctl -u service -fLire le message d’erreur et corriger la configuration
Erreur « No space left on device »df -hSupprimer des fichiers ou des vieux logs : sudo journalctl --vacuum-time=3d
Le réseau fonctionne en IP mais pas en nomcat /etc/resolv.confAjouter un serveur DNS valide (ex : nameserver 8.8.8.8)
  • Toujours suivre l’ordre : service → logs → réseau → ressources.
  • systemctl status et journalctl -u forment le duo de base du diagnostic.
  • Testez le réseau d’abord en IP, puis en nom de domaine pour isoler un problème DNS.
  • Un disque plein est une cause fréquente et parfois invisible de pannes.
  • Ne modifiez rien avant d’avoir identifié la cause : diagnostiquez d’abord, corrigez ensuite.

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn