Raspbian – aucun espace disponible / no more space

Suite à la restauration de mon Jeedom sur un nouveau Raspberry Pi, je me suis retrouvé bloqué avec le message suivant à chaque rafraîchissement de la liste de packages  (apt-get update) :

W: Erreur de GPG : http://mirrordirector.raspbian.org jessie InRelease : Impossible d'exécuter « gpgv » pour contrôler la signature (veuillez vérifier si gpgv est installé).
W: Erreur de GPG : http://archive.raspberrypi.org jessie InRelease : Impossible d'exécuter « gpgv » pour contrôler la signature (veuillez vérifier si gpgv est installé).
E: Couldn't create temporary file to work with /var/lib/apt/lists/mirrordirector.raspbian.org_raspbian_dists_jessie_Release - mkstemp (28: Aucun espace disponible sur le périphérique)

De la même façon, en utilisant la touche « tab » pour faire de l’autocomplétion des commandes, j’ai le message d’erreur suivant :

-bash: impossible de créer un fichier temporaire pour le « here-document » : Aucun espace disponible sur le périphérique

D’une façon un peu plus générale, toute création d’un fichier sur le /tmp entrainait le message suivant (pas d’erreur sur les autres répertoires) :

touch /tmp/toto.log
touch: impossible de faire un touch « /tmp/toto.log »: Aucun espace disponible sur le périphérique

Pourtant, la commande « df -h », qui permet de connaitre l’espace disponible pour chaque partition, semble indiquer qu’il reste de la place sur la partition :

# df -h
Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
...
tmpfs 128M 3,5M 125M 3% /tmp
/dev/mmcblk0p1 63M 21M 42M 33% /boot

Par contre, en utilisant le paramètre ‘-i’ de la même commande, on obtient ceci :

# df -i
Sys. de fichiers Inœuds IUtil. ILibre IUti% Monté sur
...
tmpfs 110346 110343 3 100% /tmp
/dev/mmcblk0p1 0 0 0 - /boot

Ainsi, j’ai de l’espace disque disponible dans le répertoire /tmp (occupée à 3%), mais tous les inodes possibles sont déjà utilisés (100%). Cela arrive lorsque la partition contient une grande quantité de petits fichiers.

En regardant dans le répertoire /tmp, je constate que le répertoire qui a le plus de fichiers est /tmp/jeedom-cache. Je décide donc de le supprimer, après avoir arrêté le service Apache (sur lequel repose Jeedom). Immédiatement, le système redevient stable. Mais au prochain démarrage de Jeedom, le même problème se produit. En plus du système, Jeedom devient instable car l’installation des dépendances est perturbée par ce problème.

J’ai longtemps cherché avant d’arriver sur cette page : https://debian-facile.org/viewtopic.php?pid=43381#p43381

En soit, la quantité d’inodes ne peut être modifiée, donc si on a besoin de plus d’inodes, il faut augmenter la taille de la partition. Mais la partition temporaire étant au format tmpfs, elle ne se crée qu’en RAM. Donc si je veux augmenter la taille de la partition, il me faut augmenter la taille de la RAM.

Voilà, vous avez la solution. Bon courage!

 

Et très rapidement, vous vous dites : « Mais, sur un Raspberry Pi, comment on fait pour augmenter la capacité de mémoire RAM?!! Sur un PC, on rajouter une barrette de RAM, mais là ? »

–> La solution se trouve dans le logiciel de configuration du Raspberry Pi : « raspi-config« . En effet, en allant dans « Advanced Options« , puis « Memory Split« , on peut définir la part de mémoire vive et de mémoire graphique parmi toute la mémoire disponible. En diminuant la part de mémoire graphique (GPU), puis en redémarrant, on augmente la taille de mémoire RAM et j’ai retrouvé un nombre d’inodes acceptables, même avec Jeedom démarré :

# df -i
Sys. de fichiers Inœuds IUtil. ILibre IUti% Monté sur
...
tmpfs 110346 173 110173 1% /tmp
/dev/mmcblk0p1 0 0 0 - /boot

Mon problème doit sûrement provenir du fait que mon /tmp était plus volumineux sur l’ancien Raspberry Pi hébergeant Jeedom. Lors de la restauration, Jeedom s’est mis à l’aise sans regarder s’il avait autant d’espace qu’avant et a saturé toute la partition en nombre de fichiers.

J’espère que cela vous aura dépanné.

Laisser un commentaire

Votre adresse mail ne sera pas publiée. Champs requis *

Vous pouvez utiliser ces balises HTML et attributs: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Vous pourriez être intéressé par