GNU/Linux >> Tutoriels Linux >  >> Linux

Comment libérer l'utilisation d'inode ?

Ma solution :

Essayez de trouver s'il s'agit d'un problème d'inodes avec :

df -ih

Essayez de trouver des dossiers racine avec un grand nombre d'inodes :

for i in /*; do echo $i; find $i |wc -l; done

Essayez de trouver des dossiers spécifiques :

for i in /src/*; do echo $i; find $i |wc -l; done

S'il s'agit d'en-têtes Linux, essayez de supprimer les plus anciens avec :

sudo apt-get autoremove linux-headers-3.13.0-24

Personnellement, je les ai déplacés dans un dossier monté (car pour moi la dernière commande a échoué) et j'ai installé le dernier avec :

sudo apt-get autoremove -f

Cela a résolu mon problème.


Ma situation était que je n'avais plus d'inodes et que j'avais déjà supprimé tout ce que je pouvais.

$ df -i
Filesystem     Inodes  IUsed  IFree IUse% Mounted on
/dev/sda1      942080 507361     11  100% /

Je suis sur un Ubuntu 12.04LTS et je n'ai pas pu supprimer les anciens noyaux Linux qui occupaient environ 400 000 inodes car apt était cassé à cause d'un paquet manquant. Et je n'ai pas pu installer le nouveau paquet car je n'avais plus d'inodes donc j'étais bloqué.

J'ai fini par supprimer quelques anciens noyaux Linux à la main pour libérer environ 10 000 inodes

$ sudo rm -rf /usr/src/linux-headers-3.2.0-2*

Cela a suffi pour me permettre d'installer le paquet manquant et de réparer mon apt

$ sudo apt-get install linux-headers-3.2.0-76-generic-pae

puis supprimez le reste des anciens noyaux Linux avec apt

$ sudo apt-get autoremove

ça va beaucoup mieux maintenant

$ df -i
Filesystem     Inodes  IUsed  IFree IUse% Mounted on
/dev/sda1      942080 507361 434719   54% /

Il est assez facile pour un disque d'avoir un grand nombre d'inodes utilisés même si le disque n'est pas très plein.

Un inode est alloué à un fichier donc, si vous avez des milliards de fichiers, tous de 1 octet chacun, vous manquerez d'inodes bien avant de manquer de disque.

Il est également possible que la suppression de fichiers ne réduise pas le nombre d'inodes si les fichiers ont plusieurs liens physiques. Comme je l'ai dit, les inodes appartiennent au fichier, pas l'entrée du répertoire. Si un fichier a deux entrées de répertoire qui lui sont liées, en supprimer une ne libérera pas l'inode.

De plus, vous pouvez supprimer une entrée de répertoire mais, si un processus en cours a toujours le fichier ouvert, l'inode ne sera pas libéré.

Mon premier conseil serait de supprimer tous les fichiers que vous pouvez, puis de redémarrer la boîte pour vous assurer qu'aucun processus ne laisse les fichiers ouverts.

Si vous faites cela et que vous rencontrez toujours un problème, faites-le nous savoir.

Au fait, si vous recherchez les répertoires qui contiennent beaucoup de fichiers, ce script peut vous aider :

#!/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_$$

Si vous êtes très malchanceux, vous avez utilisé environ 100 % de tous les inodes et vous ne pouvez pas créer le scipt. Vous pouvez vérifier cela avec df -ih .

Alors cette commande bash peut vous aider :

sudo find . -xdev -type f | cut -d "/" -f 2 | sort | uniq -c | sort -n

Et oui, cela prendra du temps, mais vous pouvez localiser le répertoire avec le plus de fichiers.


Linux
  1. Comment renommer des fichiers sous Linux

  2. Comment compresser plusieurs fichiers sous Linux

  3. Comment trouver de l'espace disque libre et analyser l'utilisation du disque ?

  4. Comment obtenir l'utilisation du processeur

  5. Comment obtenir le pourcentage d'utilisation de la mémoire avec vmstat ?

Comment libérer de l'espace sur Ubuntu Linux

Comment interpréter l'utilisation de la mémoire Top/htop ?

Comment diminuer l'utilisation d'inode dans CPanel ?

Comment vérifier l'utilisation d'Inode à partir de cPanel et de la ligne de commande ?

Comment trouver des fichiers dans Debian

Comment nettoyer les fichiers inutiles