Maximale Dateinamenlänge erweitern (Linux)?

3 Antworten

Hallo

Gibt es eine Möglichkeit die Maximale Dateinamenlänge in Linux, ähnlich wie es auch in Windows möglich ist, zu erhöhen?

Auf was willst Du denn die Dateinamenlänge noch erhöhen, sind 255 Zeichen nicht mehr genug, so wie hier?

touch 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890.txt

Damit habe ich eine Datei mit 250 Zeichen(inkl. Punkt und Erweiterung erzeugt:

rw-r--r-- 1 linuxhase linuxhase 0  7. Dez 19:50 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890.txt

Je länger die Dateinamenendung ist umso kürzer muss der Dateiname sein, also insgesamt "nur" 250 Zeichen; abhängig vom Dateisystem.

Kann ich das also irgendwie manuell ändern?

Die Längenbegrenzung wird im Kernel definiert. Du müsstest also den Kernel neu kompilieren. Aber dann müssen auch alle Programme, die mit Dateien arbeiten, neu compiliert werden. Wenn sich aber einige Programme nicht an die eingestellten Limits halten wird es Probleme mit Buffer-Overflows geben. Und das einspielen neuer Updates kannst du dann auch nicht mehr durchführen und musst immer alles selbst compilieren. LINK

Wie es aktuell bei Dir eingestellt ist siehst Du hiermit:

egrep 'NAME|PATH' /usr/include/linux/limits.h

Linuxhase

Woher ich das weiß:eigene Erfahrung – Ich benutze seit 2007 Linux und habe LPIC101 und LPIC102
barnim  08.12.2019, 11:38

Kleine Anmerkung: Das Limit ist 255 Byte, nicht Zeichen. Wenn man z.B. UTF-8 Foo in seine Dateinamen kloppt, ist das Limit auch gern mal viel frueher erreicht; z.B. nach 100 "Zeichen"

1

Kurze Antwort: Geht nicht*

Pfade koennen laenger sein, d.h. du kannst versuchen deine Dateinamen auf mehrere Pfadnamen zu splitten.

*) Geht technisch schon, aber man moechte weder Filesyteme noch Kernel umschreiben fuer "nur" lange Dateinamen.

Du kannst Dir das natürlich im Kernel umhacken, wenn Du viel Muße hast.

Aber das ist doch auch ziemlich unsinning, warum will man Metadaten aus der Datei replizieren? Und wenn, warum in den Dateiname und nicht in die XAs?

Nur am Rande, die Dateinamenlänge ist bei Windows genauso auf 255 Zeichen beschränkt.