Les 3 meilleures façons de corriger l'erreur "Aucun espace restant sur le périphérique" sous Linux

Les erreurs sans cause claire sont les problèmes les plus irritants à traiter. Et bien que Linux soit généralement spécifique dans ses messages d'erreur, c'est l'une des rares fois où il laisse tomber la balle.

L'obtention d'une erreur "Aucune place laissée sur l'appareil" n'explique très peu, surtout si votre lecteur est loin d'être plein. Pourquoi ce message d'erreur s'affiche-t-il ? Pourquoi ne pouvez-vous pas créer de nouveaux fichiers alors que vous disposez de suffisamment d'espace sur le disque ? Et surtout, comment y remédier ?

Découvrons-le.

Votre disque dur a-t-il réellement assez d'espace(Hard Drive Actually Have Enough Space) ?

Avant de vous précipiter pour trouver une solution, assurez-vous qu'il y a un problème, pour commencer. Après tout, si l'espace disque est réellement épuisé sur votre système, il n'y a pas lieu de paniquer. Vous pouvez simplement supprimer les données inutiles pour libérer plus d'espace.

Il existe deux commandes système Linux pour obtenir des informations sur l'espace disque - du et df. La commande du estime l'utilisation de l'espace disque, tandis que la commande df analyse l'espace libre présent sur le disque. Leur utilisation en conjonction avec sudo vous donne un rapport précis sur la quantité d'espace réellement disponible sur le disque.

  1. Commençons par la commande du. Sa sortie peut être assez longue et fastidieuse à parcourir, nous utiliserons donc les drapeaux -s et -h. -s résume les résultats, tandis que -h garantit qu'il est lisible par l'homme. Saisissez donc la commande sudo du -sh / où / pointe vers le répertoire de base.

  1. Ne vous inquiétez pas de tous les messages d'autorisation refusée - c'est ainsi qu'il parcourt tous les sous-répertoires du système. Selon la taille du lecteur, vous devrez peut-être le laisser fonctionner pendant un certain temps, car il parcourt tout de manière récursive.

  1. Lorsque du termine la numérisation, il affiche une simple liste de répertoires avec leurs tailles. Par exemple, il s'agit de la sortie de la commande du appliquée à un répertoire ordinaire.

Nous allons maintenant utiliser df pour voir combien d'espace libre est disponible. La commande df est beaucoup plus simple à utiliser car elle ne montre que les systèmes de fichiers montés et leurs statistiques d'utilisation. Encore une fois, nous utiliserons le drapeau -h pour rendre la sortie lisible par l'homme.

sudo df-h

L'idée est de comptabiliser les résultats des commandes du et df. Tout écart indique un espace disque qui n'est pas librement disponible bien qu'il ne soit utilisé par aucun fichier ou dossier.

Pourquoi Linux affiche(Does Linux Show) -t-il "Aucun espace restant(Space Left) sur l'appareil" ?

Si vous voyez le message d'erreur "Pas d'espace restant sur le périphérique" alors que vous disposez de suffisamment d'espace libre sur votre disque, ce n'est pas le matériel qui est en cause. Déterminer la cause exacte de l'erreur peut nécessiter un peu de dépannage.

  • Fichier récemment supprimé : la raison la plus courante pour laquelle cette erreur s'affiche est un fichier récemment supprimé. Souvent, un fichier est supprimé alors qu'un processus l'utilise encore, gardant l'espace réservé même si le fichier a déjà disparu.
  • Pas assez(Enough Inodes) d'inodes : Une autre cause fréquente est le manque d' inodes . Les inodes sont les pages d'index d'un système de fichiers Unix , contenant les métadonnées de chaque fichier sur le stockage. Cependant, les inodes ne sont pas illimités, et manquer d'inodes avant l'espace de stockage peut vous donner l'erreur "Pas d'espace disponible sur l'appareil".
  • Disque dur(Hard) défaillant : il est bien sûr possible que le disque dur soit simplement défaillant et qu'une grande partie de l'espace libre apparent soit occupée par des secteurs défectueux. Étant donné que le système ne parvient pas à écrire de fichiers dans ces emplacements, il génère une erreur.

Correctif 1 : redémarrer les processus à l' aide de fichiers supprimés(Using Deleted Files)

La cause la plus probable de l'erreur "Pas d'espace disponible sur l'appareil" est un processus utilisant toujours un fichier supprimé. Heureusement, la correction de cette erreur est facile. Il vous suffit de redémarrer le processus(restart the process) pour libérer le stockage réservé.

  1. Pour trouver le processus problématique, vous devez utiliser les commandes lsof et grep. La commande lsof vous donnera une liste de tous les fichiers ouverts utilisés par les processus en cours d'exécution, et grep peut réduire la sélection à ceux qui sont supprimés. Entrez donc sudo lsof / | grep supprimé où / est le répertoire de base et | un tube pour relier la sortie de lsof à grep.

  1. Vous pouvez maintenant redémarrer le processus affecté avec la commande sudo systemctl restart service_name, où le nom du service est le nom du service qui est apparu dans la recherche.

  1. S'il existe plusieurs processus comme celui-ci ou si vous ne voulez pas vous soucier de trouver des services spécifiques, vous pouvez simplement les réinitialiser tous avec la commande sudo systemctl daemon-reload. Cela régénère toutes les dépendances, en tenant compte de tout changement dans le système de fichiers.

Après cela, l'espace de stockage retenu par le processus devrait être à nouveau disponible, vous permettant d'écrire des fichiers sans rencontrer d'erreurs.

Correctif 2 : vérifier les inodes

Bien que chaque lecteur ait un grand nombre d'inodes, il est fini. Et si votre système est jonché d'un nombre incroyable de fichiers, il est possible d'atteindre cette limite avant d'épuiser la capacité de stockage du disque. C'est pourquoi il est préférable d'avoir de gros fichiers plutôt que trop de petits fichiers.

Vous pouvez facilement vérifier la disponibilité des inodes en utilisant l'indicateur -i avec la commande df. Comme ça:

sudo df -i

Cela indiquera clairement le nombre total d'inodes présents dans le système de fichiers, ainsi que la quantité actuellement utilisée. S'il ne reste plus d'inodes libres sur votre système, c'est la source de l'erreur "Pas d'espace disponible sur l'appareil".

Comme les inodes ne sont créés que lors du premier formatage du lecteur, il n'y a aucun moyen de générer plus d'inodes. Tout ce que vous pouvez faire est de supprimer tous les fichiers inutiles pour libérer des inodes pour les futurs fichiers.

Correctif 3 : marquer les blocs défectueux

La corruption des données(Data) est le destin inévitable de tout disque dur. Alors qu'un nouveau disque ne rencontrera pas ce problème, les anciens disques durs commenceront progressivement à devenir "mauvais".

Cela signifie que des parties du disque dur sont rendues inutilisables, même si le système de fichiers les considère toujours fonctionnelles. Ces blocs défectueux gonflent à tort l'espace libre apparent sur le disque, alors qu'en réalité aucun fichier ne peut y être écrit. Cela conduit à une erreur "Pas d'espace restant sur l'appareil", car le système d'exploitation essaie et échoue à stocker des données sur ces emplacements.

Il n'existe aucun moyen réel de résoudre ce problème, car les secteurs défectueux résultent de l'usure physique d'un disque dur. La seule chose que vous pouvez faire est de marquer les secteurs défectueux afin qu'ils ne soient plus référencés par le système de fichiers.

Pour ce faire, vous devez démarrer à partir d'un Live CD , car vous ne pouvez pas effectuer de vérification du système de fichiers(File System Check) dans un lecteur en cours d'exécution. Une fois que vous avez fait cela, utilisez simplement la commande suivante :

sudo fsck -vcck /dev/sda

Cela remplace /dev/sda par le chemin du lecteur que vous souhaitez réparer. Cela détectera automatiquement tous les blocs défectueux sur le lecteur et les marquera comme inutilisables. Cependant, cela ne vous donnera aucune capacité de stockage supplémentaire, alors soyez prêt à nettoyer certains fichiers inutiles pour libérer de l'espace sur le disque.

Quel est le meilleur moyen de corriger l'erreur "Aucun espace restant sur l'appareil" ?

La raison habituelle pour voir une erreur "Pas d'espace restant sur l'appareil" sur Ubuntu ou toute autre distribution Linux est un fichier supprimé toujours utilisé par un processus en cours d'exécution. Cela réserve le stockage qui était occupé par le fichier, empêchant d'autres opérations d'écrire des données dans cet espace.

La résolution de ce problème est également la plus simple, car tout ce que vous avez à faire est de redémarrer le processus en question. Les autres causes de l'erreur, cependant, ne sont pas si faciles à résoudre.

Que votre disque soit en proie à des blocs de données défectueux ou à court d'inodes, il n'existe aucun moyen direct de résoudre ces problèmes. Vous devez supprimer les fichiers existants pour faire de la place pour l'écriture de nouvelles données.



About the author

Je suis un ingénieur logiciel expérimenté, avec plus de 10 ans d'expérience dans le développement et la maintenance d'applications Microsoft Office. J'ai une forte passion pour aider les autres à atteindre leurs objectifs, à la fois par mon travail d'ingénieur logiciel et par mes compétences en prise de parole en public et en réseautage. Je suis également extrêmement compétent en matière de pilotes de matériel et de clavier, ayant développé et testé plusieurs d'entre eux moi-même.



Related posts