Mit Redhat, wenn das einen Unterschied macht.
Gibt es ein Standardlimit? Kann es geändert werden? Wenn nicht, gibt es Problemumgehungen, um die Anzahl der in einem Verzeichnis zulässigen Ordner zu erhöhen?
Es hängt davon ab, welches Dateisystem Ihre Distribution verwendet. Wenn Sie eine neuere Desktop-Distribution verwenden (z. B. Ubuntu 9.10, eine neuere Version von Fedora), verwenden Sie wahrscheinlich ext4. Wenn Sie etwas älteres verwenden, ist es höchstwahrscheinlich ext3.
In ext2 32.768 laut Wikipedia - http://en.wikipedia.org/wiki/Ext2fs#File_system_limits . Hängt davon ab, welches Dateisystem Sie verwenden.
Möglicherweise möchten Sie Alternativen zu dem in Betracht ziehen, was Sie tun möchten. Selbst wenn Sie unter dem Dateisystemlimit bleiben (z. B. 32 KB für ext2), kann das Speichern von Zehntausenden von Dateien in einem einzigen Verzeichnis, gelinde gesagt, umständlich sein.
Eine Möglichkeit besteht darin, dass Sie versuchen, das Dateisystem für etwas zu verwenden, das besser für eine Datenbank geeignet ist. Ziehen Sie in Betracht, Ihre Daten in einer PostgreSQL-, MySQL- oder sogar einer SQLite-Datenbank zu speichern. Es gibt nicht viele Dateisysteme, die mit einer großen Anzahl von Dateien gut zurechtkommen - das Verschieben oder Sichern Ihrer Daten ist langsam.
Wenn Sie wirklich viele Dateien speichern müssen, ziehen Sie alternative Verzeichnisstrukturen in Betracht. Beispielsweise können Sie Ihre Dateien möglicherweise alphabetisch trennen, z.
Dieser Ansatz kann skaliert werden, indem die Tiefe Ihrer Trennung erhöht wird, z. B .:
Wenn Sie tägliche Protokolldateien eingeben oder tägliche Lieferungen erhalten, können Sie diese nach Datum sortieren, z.
In diesem speziellen Fall möchten Sie wahrscheinlich auch einen Job zum Packen alter Protokolle in komprimierte Tarballs erstellen, um die Anzahl der Dateien zu verringern.
quelle
Ordnergrenzen sind, warum Unternehmenssysteme, die mit einer beliebigen Anzahl von Dateien umgehen müssen, in einem oder zwei Unterverzeichnissen basierend auf einem Hash des Dateinamens speichern. Beispiel: Geben Sie md5 () den Dateinamen ein und verwenden Sie die ersten vier Bytes als Unterordner, in dem die Datei gespeichert wird. Verwenden Sie für zusätzliche Ebenen die nächsten 4 für einen zusätzlichen Unterordner oder die nächsten 4 danach usw. Die meisten Systeme würden niemals mehr als 2 Ebenen tief sein.
quelle