web-dev-qa-db-fra.com

À court d'inodes

Je ne peux pas mettre à jour Ubuntu car mon taux d’utilisation d’inodes est de 99%. Quel est le moyen le plus simple pour moi d’atténuer ce problème?

Merci de votre aide.

26
xaav

Le nombre d'inodes est défini au moment où la partition est formatée. Normalement, le nombre d’inodes créés est suffisant pour presque tous les besoins. Cependant, si vous avez un grand nombre de très petits fichiers, vous pouvez utiliser les inodes avant que le disque ne soit plein.

Vous devez rechercher les milliers de petits fichiers sur le système qui utilisent des inodes et les supprimer ou les déplacer vers une partition spécialement configurée avec un très grand nombre d'inodes disponibles. Il n'est pas possible de changer le nombre d'inodes disponibles sur une partition après le formatage.

Le script écrit par paxdiablo sur stackoverflow peut constituer un moyen pratique de vérifier l’utilisation excessive de petits fichiers dont vous n’êtes peut-être pas au courant. Le voici encore:

#!/bin/bash
# count_em - count files in all subdirectories under current directory.
echo 'echo $(ls -a "$1" | wc -l) $1' >/tmp/count_em_$$
chmod 700 /tmp/count_em_$$
find . -mount -type d -print0 | xargs -0 -n1 /tmp/count_em_$$ | sort -n
rm -f /tmp/count_em_$$

Placez ce script dans le fichier texte ~/bin/count_em puis lancez la commande

chmod +x ~/bin/count_em

pour le rendre exécutable. Si vous deviez créer le répertoire ~/bin, il ne figurerait pas encore dans le chemin de l'exécutable. Déconnectez-vous puis reconnectez-vous.

Pour exécuter le programme, il vous suffit de taper

count_em

et il listera les numéros de tous les fichiers du répertoire en cours et des sous-répertoires par répertoire, avec le nombre le plus élevé en dernier. Très utile!

24
fabricator4

Vous pouvez également afficher une liste triée de répertoires par nombre d'inodes, à l'aide de la commande suivante: du --inodes -d 3 / | sort -n | tail

À partir de là, vous pouvez déterminer les répertoires à supprimer.

8
johnL

J'ai constaté que l'utilisation de l'inode provenait de /root/.local et j'ai supprimé ce dossier.

2
xaav