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
, utiliseztrash-cli
pour envoyer des fichiers dans une corbeille récupérable.
- Utilisez trash-cli : Au lieu de
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
(ouF3
,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.