Linux est un système d’exploitation puissant et fiable, mais même les utilisateurs expérimenté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, savoir comment dépanner efficacement est essentiel pour devenir un véritable expert Linux.
Ce guide présente des scénarios de résolution de problèmes Linux réels ainsi que des solutions étape par étape, qui sont courantes parmi les administrateurs système, les développeurs et les utilisateurs Linux quotidiens.
Scénario 1 : Vous avez Supprimé Accidentellement un Fichier Important
Vous avez accidentellement supprimé un fichier important en utilisant la commande rm, et maintenant vous devez le récupérer. Contrairement à Windows et macOS, Linux ne dispose pas d’une « Corbeille » intégrée pour les fichiers supprimés depuis le 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 éviter d’écrire davantage et d’écraser des 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 les 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 certaines tâches administratives, ce qui signifie que vous ne pouvez pas installer de logiciels, modifier les paramètres du système ou accéder à des 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 d’amorçage GRUB.
Utilisation du mode de récupération (Ubuntu/Debian)
Tout d’abord, redémarrez votre système et maintenez Shift
pendant le démarrage pour accéder au menu GRUB, puis sélectionnez “Options avancées” → “Mode de récupération” et choisissez “Passer à l’invite de commande root”.
Ici, remontez le système de fichiers racine en mode é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 verrouillé hors de l’accès root.
- Utilisez des clés SSH au lieu de mots de passe pour l’authentification.
Scénario 3 : Vous avez installé un paquet, mais il ne fonctionne pas
Vous avez installé un paquet, mais il dit “commande introuvable
” lorsque vous essayez de l’exécuter, ce qui se produit généralement lorsque le binaire n’est pas dans le PATH de votre système, que le paquet n’est pas installé correctement ou qu’il y a une dépendance manquante.
La solution consiste d’abord à vérifier si le paquet est installé ou non.
dpkg -l | grep package-name # Debian-based rpm -qa | grep package-name # RHEL-based
s’il manque, réinstallez-le :
sudo apt install package-name sudo yum install package-name
Ensuite, vérifiez si la commande se trouve dans votre PATH système.
which package-name echo $PATH
Si le binaire se trouve dans un emplacement non standard, ajoutez-le à votre PATH:
export PATH=$PATH:/usr/local/bin
Astuces de prévention:
- Redémarrez le terminal ou exécutez
hash -r
après l’installation 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 « No space left on device« , empêchant les mises à jour de logiciels, l’enregistrement et les opérations normales.
Voici comment récupérer de l’espace disque et maintenir le bon fonctionnement de votre système.
Étape 1: Vérifier l’utilisation du disque
La solution consiste à vérifier d’abord 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 les fichiers volumineux
Ensuite, localisez les plus gros fichiers consommant de l’espace en exécutant la commande du, qui analysera votre système et listera les 10 plus gros fichiers ou répertoires. Supprimez les fichiers inutiles en utilisant la commande rm
ou déplacez-les vers un lecteur externe.
du -ah / | sort -rh | head -10
Étape 3 : Supprimer 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é significative d’espace disque.
Au fil du temps, les anciens journaux peuvent ne plus être nécessaires, ce qui en fait des candidats idéaux 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, surtout sur les distributions Ubuntu ou basées sur Debian, de nouvelles versions du noyau Linux sont souvent installées.
Cependant, les anciens noyaux ne sont pas automatiquement supprimés et avec le temps, ces anciens noyaux peuvent s’accumuler et occuper une quantité significative d’espace disque.
Les supprimer est un moyen sûr et efficace de libérer de l’espace sans affecter la fonctionnalité de votre système.
sudo apt autoremove --purge
Conseils de prévention:
- Configurer la rotation des journaux: Utilisez logrotate pour gérer automatiquement les tailles de fichiers journaux et les périodes de rétention.
- Suivi de l’utilisation du disque: Installez des outils tels que ncdu pour suivre l’utilisation du disque et identifier les gouffres d’espace.
- Nettoyages réguliers: Planifiez des nettoyages périodiques pour supprimer les fichiers temporaires, les caches et les paquets inutilisés.
Scénario 5: Votre serveur devient soudainement non réactif
Vous gérez un serveur Linux et soudain, il cesse de répondre et vous essayez de vous connecter via SSH, mais la connexion expire ou refuse de s’établir. Vous pourriez même remarquer que le serveur est toujours sous tension, mais 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 due à des processus défectueux.
- Goulots d’étranglement E/S disque, où le système est surchargé d’opérations de lecture/écriture.
- Kernel panics ou plantages système.
- Pannes réseau, empêchant l’accès à distance.
Pour reprendre le contrôle, suivez ces étapes de dépannage.
Étape 1 : Accéder au serveur localement ou via TTY
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, passez à une autre session TTY en utilisant
Ctrl + Alt + F2
(ouF3
,F4
, etc.).
Étape 2 : Vérifiez la charge système
Une fois connecté, vérifiez la charge et l’utilisation des ressources du système, qui affichera les moyennes de charge du système sur 1, 5 et 15 minutes. Une valeur de charge supérieure au nombre de cœurs CPU indique une forte demande.
uptime
Ensuite, utilisez top ou htop pour surveiller les processus en temps réel :
top Or htop
Cherchez les processus consommant une quantité excessive de CPU ou de mémoire.
Étape 3 : Identifier et tuer les processus errants
Pour identifier les processus les plus gourmands en ressources, exécutez :
ps aux --sort=-%cpu | head
Cela liste les principaux processus consommateurs de CPU, où vous pouvez trouver un processus problématique et le terminer en utilisant :
kill -9 PID
Remplacez PID
par l’identifiant 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 journaux pour des erreurs :
sudo tail -f /var/log/syslog Or sudo dmesg | tail
Ces commandes affichent les messages récents du système et les journaux du noyau, ce qui peut aider à identifier des problèmes matériels ou logiciels.
Étape 5 : Redémarrer en toute sécurité en utilisant 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 sécurisé, 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 chaque utilisateur de Linux. Que ce soit pour récupérer des fichiers supprimés, réinitialiser des mots de passe ou corriger des erreurs système, connaître les bonnes commandes peut faire gagner du temps et éviter la frustration.
Avez-vous vos propres conseils de dépannage ? Partagez-les dans les commentaires ! Construisons ensemble une communauté Linux utile.