Les 3 meilleures façons de corriger l'erreur « Aucun espace restant sur l'appareil » sous Linux


Les erreurs sans cause claire sont les problèmes les plus irritants à résoudre. Et même si Linux est généralement spécifique dans ses messages d'erreur, c'est l'un des rares cas où il laisse tomber la balle.

Obtenir une erreur « Il n'y a plus de place sur l'appareil » n'explique pas grand-chose, surtout si votre disque 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écouvrez-le.

Votre disque dur dispose-t-il réellement de suffisamment d'espace ?

Avant de vous précipiter pour trouver une solution, assurez-vous d'abord qu'il y a un problème. Après tout, si l’espace disque est effectivement é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 conjointement 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 plutôt longue et lourde à parcourir, nous utiliserons donc les options -s et -h. -s résume les résultats, tandis que -h garantit qu'ils sont lisibles par l'homme. Entrez donc la commande sudo du -sh //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'ils parcourent tous les sous-répertoires du système. En fonction de 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. Une fois l'analyse terminée, il affichera une simple liste de répertoires ainsi que leurs tailles. Par exemple, voici le résultat de la commande du appliquée à un répertoire ordinaire.
      2. Nous allons maintenant utiliser df pour voir combien d'espace libre est disponible. La commande df est beaucoup plus simple à utiliser puisqu'elle affiche uniquement les systèmes de fichiers montés et leurs statistiques d'utilisation. Encore une fois, nous utiliserons l'option -h pour rendre le résultat lisible par un humain.

        sudo df -h .

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

        Pourquoi Linux affiche-t-il « Aucun espace restant sur l'appareil » ?

        Si vous voyez le message d'erreur « Aucun espace restant sur l'appareil » 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, conservant l'espace réservé même si le fichier a déjà disparu.
        • Pas assez d'inodes : une autre cause fréquente est le manque de inodes. Les inodes sont les pages d'index d'un système de fichiers Unix, contenant les métadonnées de chaque fichier stocké. Cependant, les inodes ne sont pas illimités, et manquer d'inodes avant l'espace de stockage peut vous donner l'erreur « Aucun espace restant sur l'appareil ».
        • Disque dur défaillant : il est bien sûr possible que le disque dur soit simplement en panne 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 à ces emplacements, il génère une erreur.
        • Correction 1 : redémarrer les processus à l'aide de fichiers supprimés

          La cause la plus probable de l'erreur « Aucun espace restant sur l'appareil » est un processus utilisant toujours un fichier supprimé. Heureusement, corriger cette erreur est facile. Il vous suffit d'effectuer relancer le processus pour libérer l'espace de 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 pourra affiner la sélection à ceux qui sont supprimés. Alors entrez sudo lsof / | grep suppriméoù / est le répertoire de base et | un canal pour lier la sortie de lsof à grep.
            1. Vous pouvez désormais redémarrer le processus concerné avec la commande sudo systemctl restart service_name, où le nom du service est le nom du service apparu lors de la recherche.
            2. .
              1. S'il existe plusieurs processus comme celui-ci ou si vous ne souhaitez tout simplement pas vous soucier de rechercher 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 toute modification apportée au système de fichiers.
              2. 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.

                Correction 2 : vérifier les inodes

                Bien que chaque lecteur possède un grand nombre d'inodes, celui-ci 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 des fichiers volumineux plutôt que trop de petits.

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

                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 n'y a plus d'inodes libres sur votre système, c'est la source de l'erreur « Aucun espace restant sur l'appareil ».

                Comme les inodes ne sont créés qu'au premier formatage du disque, il n'existe aucun moyen de générer davantage d'inodes. Tout ce que vous pouvez faire est de supprimer tous les fichiers inutiles pour libérer des inodes pour les futurs fichiers.

                Correction 3 : marquer les blocs défectueux

                La corruption des données est le destin inévitable de tout disque dur. Même si un nouveau disque ne rencontrera pas ce problème, les disques durs plus anciens commenceront progressivement à devenir « mauvais ».

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

                Il n'existe aucun moyen réel de résoudre ce problème, car les secteurs défectueux sont le résultat 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 CD en direct, car vous ne pouvez pas effectuer de vérification du système de fichiers sur un lecteur en cours d'exécution. Une fois cela fait, 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 disque 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.

                Quelle est la meilleure façon de corriger l'erreur « Aucun espace restant sur l'appareil » ?

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

                Résoudre ce problème est également le plus simple, car il vous suffit de redémarrer le processus en question. Les autres causes de l'erreur ne sont cependant pas si faciles à résoudre.

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

                .

                Articles Similaires:


                30.08.2022