27 votes

Nombre maximal d'inodes dans un répertoire ?

Existe-t-il un nombre maximal d'inodes dans un même répertoire ?

J'ai un répertoire de plus de 2 millions de fichiers et je ne parviens pas à obtenir l'autorisation d'accès. ls pour travailler dans ce répertoire. Je me demande donc si je n'ai pas dépassé une limite d'inodes sous Linux. Y a-t-il une limite avant une limite numérique de 2^64 ?

39voto

tonylo Points 2058

df -i devrait vous indiquer le nombre d'inodes utilisés et libres sur le système de fichiers.

15voto

Robᵩ Points 50501

Essayer ls -U o ls -f .

ls Par défaut, les fichiers sont triés par ordre alphabétique. Si vous avez 2 millions de fichiers, ce tri peut prendre beaucoup de temps. Si ls -U (ou peut-être ls -f ), les noms de fichiers sont imprimés immédiatement.

9voto

Jordi Bunster Points 3840

Non. Les limites d'inodes sont fixées par système de fichiers et décidées au moment de la création du système de fichiers. Il se peut que vous atteigniez une autre limite, ou que "ls" ne fonctionne pas aussi bien.

Essayez ceci :

tune2fs -l /dev/DEVICE | grep -i inode

Il devrait vous donner toutes sortes d'informations sur les inodes.

4voto

DragonTux Points 144

Il s'agit d'une limite interne de ls. Voici un article qui l'explique assez bien : http://www.olark.com/spw/2011/08/you-can-list-a-directory-with-8-million-files-but-not-with-ls/

3voto

Charles Duffy Points 34134

La taille maximale des répertoires dépend du système de fichiers et la limite exacte varie donc. Toutefois, il est déconseillé d'avoir des répertoires très volumineux.

Vous devriez envisager de réduire la taille de vos répertoires en classant les fichiers dans des sous-répertoires. Une méthode courante consiste à utiliser les deux premiers caractères pour un sous-répertoire de premier niveau, comme suit :

${topdir}/aa/aardvark
${topdir}/ai/airplane

Cela fonctionne particulièrement bien si l'on utilise des UUID, des GUID ou des valeurs de hachage de contenu pour le nommage.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X