W skrypcie Pythona tworzę wiązkę dowiązań symbolicznych połączonych razem.
przykład: link1-> link2-> link3 -> .......-> somefile.txt
Zastanawiałem się, jak możesz zmienić maksymalną liczbę dowiązań symbolicznych na większą niż 20?
W skrypcie Pythona tworzę wiązkę dowiązań symbolicznych połączonych razem.
przykład: link1-> link2-> link3 -> .......-> somefile.txt
Zastanawiałem się, jak możesz zmienić maksymalną liczbę dowiązań symbolicznych na większą niż 20?
Odpowiedzi:
W Linuksie (przynajmniej 3.5) jest on na stałe zakodowany na 40 (patrz follow_link()
wfs/namei.c
) i zauważ, że jest to liczba linków użytych podczas rozwiązywania wszystkich składników ścieżki, możesz to zmienić tylko poprzez rekompilację jądra.
$ 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
/usr/include/x86_64-linux-gnu/sys/param.h
moim systemie) i nie jest przeznaczony do modyfikacji przez użytkowników.