Jaka jest maksymalna dozwolona liczba folderów w folderze w systemie Linux?

17

Używanie Redhat, jeśli to robi różnicę.

Czy istnieje domyślny limit? Czy można to zmienić? Jeśli nie, czy istnieją jakieś obejścia, które mogą zwiększyć liczbę folderów dozwolonych w katalogu?

Chris
źródło

Odpowiedzi:

22

To zależy od systemu plików używanego przez twoją dystrybucję. Jeśli używasz nowszej dystrybucji pulpitu (tj. Ubuntu 9.10, najnowsza wersja Fedory), prawdopodobnie używasz ext4. Jeśli używasz czegoś starszego, najprawdopodobniej jest to ext3.

Mateusz
źródło
11

W ext2, 32 768 według Wikipedii - http://en.wikipedia.org/wiki/Ext2fs#File_system_limits . Zależy od używanego systemu plików.

Pekka obsługuje GoFundMonica
źródło
3
Tak. Liczba folderów jest dołączona do systemu plików, a nie do systemu operacyjnego.
Satanicpuppy
Wygląda na nierówności ext4, które ograniczają się do twardego 64k, ale obsługuje nawet więcej poprzez
podkręcanie
4

Możesz rozważyć alternatywę dla tego, co próbujesz zrobić. Nawet jeśli pozostaniesz poniżej limitu systemu plików (np. 32k dla ext2), przechowywanie dziesiątek tysięcy plików w jednym katalogu może być co najmniej kłopotliwe.

Jedną z możliwości jest to, że próbujesz użyć systemu plików do czegoś, co byłoby bardziej odpowiednie dla bazy danych. Rozważ przechowywanie danych w bazie danych PostgreSQL, MySQL, a nawet w bazie danych sqlite. Nie ma zbyt wielu systemów plików, które dobrze poradziłyby sobie z ogromną liczbą plików - przenoszenie lub tworzenie kopii zapasowych danych będzie powolne.

Jeśli naprawdę potrzebujesz przechowywać wiele plików, rozważ alternatywne struktury katalogów. Na przykład możesz być w stanie rozdzielić pliki alfabetycznie, np .:

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

To podejście można skalować, zwiększając głębokość separacji, np .:

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

Lub jeśli wprowadzasz dzienniki lub otrzymujesz codzienne dostawy, możesz je rozdzielić według daty, np .:

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

W tym konkretnym przypadku prawdopodobnie chciałbyś również cron zadania, aby spakować stare dzienniki do spakowanych plików tar, aby zmniejszyć liczbę plików.

Ryan Bright
źródło
1

Limity folderów powodują, że systemy korporacyjne, które mają do czynienia z dowolną liczbą plików, będą przechowywane w jednym lub dwóch podkatalogach na podstawie skrótu nazwy pliku. Na przykład md5 () nazwa pliku i użyj pierwszych czterech bajtów jako podfolderu do przechowywania pliku; dla dodatkowych poziomów użyj następnych 4 dla dodatkowego podfolderu, lub kolejnych 4 potem itd. Większość systemów nigdy nie przekroczy głębokości 2 poziomów.

MightyE
źródło