Manque d'inodes


26

Je ne peux pas mettre à jour Ubuntu car j'ai 99% d'utilisation d'inodes. Quelle est la façon la plus simple pour moi de résoudre ce problème?

Merci de votre aide.


2
Une question très similaire a été posée sur StackOverlow. Peut-être que cela aidera stackoverflow.com/questions/653096/howto-free-inode-usage


Également similaire ici sur AskUbuntu .
Pablo A

Réponses:


24

Le nombre d'inodes est défini au moment du formatage de la partition. Normalement, le nombre d'inodes créés est suffisant pour presque tous les usages; 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 trouver les milliers de petits fichiers que vous avez sur le système qui utilisent des inodes et les supprimer ou les déplacer vers une partition qui a été spécifiquement configurée avec un très grand nombre d'inodes disponibles. Il n'est pas possible de modifier le nombre d'inodes disponibles sur une partition après son formatage.

Le script écrit par paxdiablo sur stackoverflow peut être un moyen pratique de vérifier l'utilisation excessive de petits fichiers que vous ignorez peut-être. Le voici à nouveau:

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

Mettez 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 sera pas encore dans le chemin exécutable, alors déconnectez-vous et reconnectez-vous.

Pour exécuter le programme, vous tapez simplement

count_em

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


CETTE LIGNE> chmode + x ~ / bin / count_em est en fait> chmod + x ~ / bin / count_em

1
est-il nécessaire de supprimer tous ces fichiers créés par l'utilisateur, ou les déplacer dans l'archive tar fera-t-il l'affaire?
amc

Les archiver est un excellent moyen de les traiter, il ne supprime pas les données des utilisateurs mais leur fait prendre conscience que leur comportement n'est pas satisfaisant car ils ne pourront pas utiliser les fichiers comme ils l'étaient auparavant. Il y a de fortes chances que le grand nombre de fichiers soit généré par quelque chose que personne n'utilise et qu'ils puissent être supprimés en toute sécurité, mais c'est un risque.
LovesTha

Une bonne alternative sur une seule ligne à votre script pourrait êtresudo du -a -d 1 --inodes . | sort -nr | head -20
Charles Green

1
Bien sûr, cela ne fonctionne pas si vous êtes complètement à court d'inodes car il crée des fichiers temporaires :(
Molomby

8

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

De là, vous pouvez déterminer les répertoires à supprimer


1
unrecognized option '--inodes'sur Ubuntu 14.04, fyi
Molomby

Pourquoi utilisez-vous Ubundu 14.04 en 2019? Je vois qu'il a des coreutils 8.21 de février 2013, l' --inodesoption a été ajoutée juil 2013 lmao
ZN13

2

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


2
Rien de plus ne devrait utiliser /root/.local et ce n'est là que pour des raisons de compatibilité. Vous devez savoir ce qui écrivait de nombreux petits fichiers dans ce répertoire.
fabricator4
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.