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.
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.
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é.
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.
.