Recherche de site Web

Dépannage Linux : 5 problèmes courants et comment les résoudre


Linux est un système d’exploitation puissant et fiable, mais même les utilisateurs chevronnés rencontrent des problèmes inattendus. Qu’il s’agisse d’un fichier supprimé, d’un mot de passe root oublié ou d’un système lent, il est essentiel de savoir comment dépanner efficacement pour devenir un véritable expert Linux.

Ce guide présente des scénarios réels de résolution de problèmes Linux ainsi que des solutions étape par étape, qui sont courantes chez les administrateurs système, les développeurs et les utilisateurs quotidiens de Linux.

Scénario 1 : Vous avez accidentellement supprimé un fichier important

Vous avez accidentellement supprimé un fichier important à l’aide de la commande rm et vous devez maintenant le récupérer. Contrairement à Windows et macOS, Linux ne dispose pas d’une « corbeille » intégrée pour les fichiers supprimés du terminal.

Vos options de récupération dépendent du système de fichiers utilisé.

Pour les systèmes de fichiers EXT3/EXT4

Utilisez extundelete, qui est un utilitaire open source conçu pour récupérer des fichiers supprimés des systèmes de fichiers ext3 et ext4 sous Linux.

sudo apt install extundelete  # Debian-based  
sudo yum install extundelete  # RHEL-based  

Avant de tenter la récupération, démontez la partition pour empêcher d’autres écritures qui pourraient écraser les données supprimées :

sudo umount /dev/sdX

Ensuite, exécutez la commande suivante pour récupérer le fichier supprimé et assurez-vous de remplacer /dev/sdX par la partition réelle où le fichier a été supprimé.

sudo extundelete /dev/sdX --restore-all

Pour les systèmes de fichiers XFS, BTRFS ou NTFS

Si votre système utilise XFS, Btrfs ou NTFS, l’outil testdisk est une meilleure option.

sudo apt install testdisk  # Debian-based  
sudo yum install testdisk  # RHEL-based  

Exécutez testdisk et suivez les invites interactives pour restaurer les fichiers perdus.

sudo testdisk

Conseils de prévention :

    • Utilisez trash-cli : Au lieu de rm, utilisez trash-cli pour envoyer des fichiers dans une corbeille récupérable.
sudo apt install trash-cli  
trash-put myfile.txt  
  • Activez les sauvegardes régulières : Configurez rsync ou Timeshift pour sauvegarder automatiquement les fichiers importants.

Scénario 2 : Récupération d’un mot de passe root oublié

Vous avez oublié votre mot de passe root et vous ne pouvez pas effectuer de tâches administratives, ce qui signifie que vous ne pouvez pas installer de logiciels, modifier les paramètres système ou accéder aux fichiers critiques.

Vous pouvez réinitialiser le mot de passe root en démarrant en mode de récupération ou en modifiant le chargeur de démarrage GRUB.

Utilisation du mode de récupération (Ubuntu/Debian)

Tout d’abord, redémarrez votre système et maintenez la touche Maj enfoncée pendant le démarrage pour accéder au menu GRUB, puis sélectionnez « Options avancées » → « Mode de récupération » et choisissez « Déposer à l’invite du shell racine ».

Ici, remontez le système de fichiers racine en écriture et réinitialisez le mot de passe root.

mount -o remount,rw /
passwd root

Redémarrez le système.

reboot

Utilisation de rd.break (RHEL/CentOS/Fedora)

Tout d’abord, redémarrez votre système, appuyez sur e dans le menu GRUB et trouvez la ligne commençant par linux et ajoutez rd.break à la fin.

Ensuite, montez le système de fichiers racine et réinitialisez le mot de passe root.

mount -o remount,rw /sysroot  
chroot /sysroot  
passwd root  

Enfin, quittez et redémarrez.

exit  
reboot  

Conseils de prévention :

  • Créez un utilisateur sudo sans mot de passe pour éviter d’être bloqué sans accès root.
  • Utilisez des clés SSH au lieu de mots de passe pour l’authentification.

Scénario 3 : vous avez installé un package, mais il ne fonctionne pas

Vous avez installé un paquet, mais il indique « commande introuvable » lorsque vous essayez de l’exécuter, ce qui se produit généralement lorsque le binaire n’est pas dans le chemin d’accès de votre système, que le paquet n’est pas installé correctement ou qu’il manque une dépendance.

La solution est que vous devez d’abord vérifier que le paquet est installé ou non.

dpkg -l | grep package-name  # Debian-based  
rpm -qa | grep package-name  # RHEL-based  

S’il est manquant, réinstallez-le :

sudo apt install package-name  
sudo yum install package-name  

Ensuite, vérifiez si la commande se trouve dans le PATH de votre système.

which package-name  
echo $PATH

Si le binaire se trouve dans un emplacement non standard, ajoutez-le à PATH :

export PATH=$PATH:/usr/local/bin  

Conseils de prévention :

  • Redémarrez le terminal ou exécutez hash -r après avoir installé de nouveaux packages.
  • Utilisez des gestionnaires de paquets comme Snap ou Flatpak, qui gèrent mieux les dépendances.

Scénario 4 : Votre système manque d’espace disque

Votre système affiche une erreur « Aucun espace laissé sur l’appareil », ce qui empêche les mises à jour logicielles, la journalisation et les opérations normales.

Voici comment récupérer de l’espace disque et assurer le bon fonctionnement de votre système.

Étape 1 : Vérifier l’utilisation du disque

La solution est que vous devez d’abord vérifier combien d’espace est utilisé sur chaque partition de votre système à l’aide de la commande df.

df -h

Étape 2 : Trouver et supprimer des fichiers volumineux

Ensuite, localisez les fichiers consommant le plus d’espace en exécutant la commande du, qui analysera votre système et répertoriera les 10 fichiers ou répertoires les plus volumineux. Supprimez les fichiers inutiles à l’aide de rm ou déplacez-les vers un disque externe.

du -ah / | sort -rh | head -10

Étape 3 : Supprimez les journaux inutiles

Les journaux sont essentiels pour le dépannage et la surveillance de l’activité du système, mais ils peuvent croître rapidement et consommer une quantité importante d’espace disque.

Au fil du temps, les vieilles bûches peuvent ne plus être nécessaires, ce qui en fait des candidates de choix pour le nettoyage.

sudo journalctl --vacuum-time=2d  # Deletes logs older than 2 days  
sudo apt autoclean                # Removes outdated package files  

Étape 4 : Supprimer les anciens noyaux (ubuntu/debian)

Lorsque vous mettez à jour votre système, en particulier sur les distributions basées sur Ubuntu ou Debian, de nouvelles versions du noyau Linux sont souvent installées.

Cependant, les anciens noyaux ne sont pas automatiquement supprimés et, au fil du temps, ces anciens noyaux peuvent s’accumuler et occuper une quantité importante d’espace disque.

Leur suppression est un moyen sûr et efficace de libérer de l’espace sans affecter les fonctionnalités de votre système.

sudo apt autoremove --purge  

Conseils de prévention :

  • Configurer la rotation des journaux : utilisez logrotate pour gérer automatiquement la taille des fichiers journaux et les périodes de rétention.
  • Surveillez l’utilisation du disque : Installez des outils tels que ncdu pour suivre l’utilisation du disque et identifier les gourmands en espace.
  • Nettoyages réguliers : planifiez des nettoyages périodiques pour supprimer les fichiers temporaires, les caches et les packages inutilisés.

Scénario 5 : Votre serveur ne répond soudainement plus

Vous gérez un serveur Linux, et soudain, il ne répond plus et vous essayez de vous connecter via SSH, mais la connexion expire ou refuse de s’établir. Vous remarquerez peut-être même que le serveur est toujours sous tension, mais qu’il ne réagit à aucune commande.

Cette situation peut être causée par divers problèmes, notamment :

  • Utilisation élevée du processeur ou de la mémoire en raison de processus incontrôlés.
  • Goulots d’étranglement d’E/S de disque, où le système est surchargé d’opérations de lecture/écriture.
  • Paniques du noyau ou plantages du système.
  • Défaillances du réseau, empêchant l’accès à distance.

Pour rétablir le contrôle, suivez ces étapes de dépannage.

Étape 1 : Accéder au serveur localement ou via un ATS

Si SSH ne fonctionne pas, essayez d’accéder au serveur directement ou via une session TTY :

  • Sur une machine physique, utilisez la console locale.
  • Sur une machine virtuelle, utilisez la console de l’hyperviseur.
  • Pour les systèmes Linux, basculez vers une autre session TTY à l’aide de Ctrl + Alt + F2 (ou F3, F4, etc.).

Étape 2 : Vérifier la charge du système

Une fois connecté, vérifiez la charge du système et l’utilisation des ressources, qui afficheront les moyennes de charge du système sur 1, 5 et 15 minutes. Une valeur de charge supérieure au nombre de cœurs de processeur indique une forte demande.

uptime  

Ensuite, utilisez top ou htop pour surveiller les processus en temps réel :

top  
Or
htop

Recherchez les processus qui consomment trop de processeur ou de mémoire.

Étape 3 : Identifier et tuer les processus incontrôlables

Pour identifier les processus les plus gourmands en ressources, exécutez :

ps aux --sort=-%cpu | head  

Cette liste répertorie les processus les plus consommateurs de CPU, où vous pouvez trouver un processus problématique et l’arrêter à l’aide de :

kill -9 PID  

Remplacez PID par l’ID de processus de l’application problématique.

Étape 4 : Vérifiez les journaux système

Si le système est toujours réactif, vérifiez les erreurs dans les journaux :

sudo tail -f /var/log/syslog  
Or
sudo dmesg | tail  

Ces commandes affichent des messages système récents et des journaux du noyau, qui peuvent aider à identifier les problèmes matériels ou logiciels.

Étape 5 : Redémarrez en toute sécurité à l’aide de SysRq

Si le système est complètement gelé, utilisez la combinaison de touches SysRq pour redémarrer en toute sécurité :

echo b > /proc/sysrq-trigger  

Cela déclenche un redémarrage en toute sécurité, garantissant l’intégrité des données en synchronisant les disques et en démontant les systèmes de fichiers.

Conclusion

Le dépannage est une compétence essentielle pour tout utilisateur de Linux. Qu’il s’agisse de récupérer des fichiers supprimés, de réinitialiser des mots de passe ou de corriger des erreurs système, connaître les bonnes commandes peut vous faire gagner du temps et éviter les frustrations.

Avez-vous vos propres conseils de dépannage ? Partagez-les dans les commentaires ! Construisons ensemble une communauté Linux utile.