MAXSYMLINKS'i nasıl artırırsınız?


10

Bir python betiğinde, birlikte zincirlenmiş bir grup sembolik bağlantı oluşturuyorum.

örnek: link1-> link2-> link3 -> .......-> somefile.txt

Maksimum sembol sayısını nasıl 20'den fazla değiştirebileceğinizi merak ediyordum.


5
Bunu neden yapmak istiyorsun? MAXSYMLINKS sistem başlıklarında (örn /usr/include/x86_64-linux-gnu/sys/param.h. Sistemimde) tanımlanmıştır ve kullanıcılar tarafından değiştirilmesi amaçlanmamıştır.
ire_and_curses

1
Gerçek bir dosyaya ulaşmak için 20 kez readlink () öğesini çağırmak performans için iyi olmayacaktır.
jordanm

5
Okulda etik bir hack dersi alıyorum, ki bu çok havalı.
grebwerd

Yanıtlar:


16

Linux'ta (en az 3.5), 40 olarak kodlanmıştır (bkz follow_link().fs/namei.c ) Ve bir yolun tüm bileşenlerini çözerken izlenen bağlantı sayısının olduğunu, yalnızca çekirdeği yeniden derleyerek değiştirebileceğinizi unutmayın.

$ 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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.