In einem Python-Skript erstelle ich eine Reihe von symbolischen Links, die miteinander verkettet sind.
Beispiel:link1->link2->link3->…….->somefile.txt
Ich habe mich gefragt, wie Sie die maximale Anzahl von Symlinks auf mehr als 20 ändern können?
Akzeptierte Antwort:
Unter Linux (mindestens 3.5) ist es fest auf 40 codiert (siehe follow_link()
). in fs/namei.c
) und beachten Sie, dass es sich um die Anzahl der Links handelt, denen beim Auflösen aller Komponenten eines Pfads gefolgt wird. Sie können sie nur ändern, indem Sie den Kernel neu kompilieren.
$ ln -s . 0
$ n=0; repeat 50 ln -s $((n++)) $n
$ ls -LdF 39
39/
$ ls -LdF 40
ls: cannot access 40: Too many levels of symbolic links
$ ls -LdF 20/18 10/10/10/6
10/10/10/6/ 20/18/
$ ls -LdF 20/19 10/10/10/7
ls: cannot access 20/19: Too many levels of symbolic links
ls: cannot access 10/10/10/7: Too many levels of symbolic links