¿Cuál es el número máximo de carpetas permitidas en una carpeta en Linux?


17

Usando Redhat, si eso hace la diferencia.

¿Hay un límite predeterminado? ¿Se puede cambiar? Si no, ¿hay alguna solución para aumentar la cantidad de carpetas permitidas en un directorio?

Respuestas:


22

Depende de qué sistema de archivos use su distribución. Si usa una distribución de escritorio más nueva (es decir, Ubuntu 9.10, una versión reciente de Fedora), probablemente use ext4. Si usa algo más antiguo, lo más probable es que ext3.



4

Es posible que desee considerar alternativas a lo que sea que esté tratando de hacer. Incluso si permanece por debajo del límite del sistema de archivos (por ejemplo, 32k para ext2), almacenar decenas de miles de archivos en un solo directorio puede ser engorroso, por decir lo menos.

Una posibilidad es que intente utilizar el sistema de archivos para algo que sea más adecuado para una base de datos. Considere almacenar sus datos en PostgreSQL, MySQL o incluso en una base de datos sqlite. No hay demasiados sistemas de archivos que se adapten bien a una gran cantidad de archivos; mover o hacer una copia de seguridad de sus datos será lento.

Si realmente necesita almacenar muchos archivos, considere estructuras de directorios alternativas. Por ejemplo, puede separar sus archivos alfabéticamente, por ejemplo:

a/aaron.dat
a/alex.dat
a/alan.dat
b/bill.dat
b/brian.dat

Este enfoque puede escalar aumentando la profundidad de su separación, por ejemplo:

a/a/aaron.dat
a/l/alex.dat
a/l/alan.dat

O si ingresa archivos de registro diarios o recibe entregas diarias, puede separarlos por fecha, por ejemplo:

2009-10-04/logfile-01.txt
2009-10-05/logfile-01.txt
2009-10-05/logfile-02.txt

En este caso particular, es probable que también desee cron un trabajo para empaquetar registros antiguos en tarballs comprimidos para reducir el recuento de archivos.


1

Los límites de las carpetas son la razón por la cual los sistemas empresariales que tienen que lidiar con un número arbitrario de archivos se almacenarán en uno o dos subdirectorios basados ​​en un hash del nombre del archivo. Por ejemplo, md5 () el nombre del archivo y use los primeros cuatro bytes como una subcarpeta para almacenar el archivo; para niveles adicionales, use los siguientes 4 para una subcarpeta adicional, o los siguientes 4 después de eso, etc. La mayoría de los sistemas nunca superarían los 2 niveles de profundidad.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.