Mezinahiya pelrêçan ne hêjayî hewldana me ye

Ev di serîlêdana pratîkî de bi tevahî bêkêr, nepêwist e, lê postek piçûk a di derbarê pelrêçan de di pergalên *nix de ye. Roja Înê ye.

Di dema hevpeyivînan de, pir caran pirsên bêzar di derbarê inodes, her tişt-e-pelan de derdikevin, ku hindik kes dikarin bi aqilmendî bersiva wan bidin. Lê heke hûn hinekî kûr bikolin, hûn dikarin tiştên balkêş bibînin.

Ji bo fêmkirina postê, çend xal:

  • her tişt pelek e. pelrêk jî pelek e
  • inode metadata ji pelê diparêze, lê navê pelê li wir nayê hilanîn
  • navê pelê di daneya pelrêçê de tê hilanîn
  • Mezinahiya pelrêça, eynî ya ku di ls-ê de tê xuyang kirin û ji hêla xwerû 4 Kb ye, bi hejmara pelên pelrêça û dirêjiya navên wan ve girêdayî ye.
  • Eşkere ye, çiqas pelan pirtir be, mezinahiya pelrêçê ew qas mezin dibe

Û niha ya balkêş: em pelrêçek bi mîlyon pelan diafirînin, mezinahiya pelrêça kontrol dikin, û paşê hemî pelan jêbirin û li mezinahiya pelrêçayê dinêrin.

$ mkdir niceDir && cd niceDir
# в зависимости от скорости носителя, следующая команда может занять 2-10 минут
$ for ((i=1;i<133700;i++)); do touch long_long_looong_man_sakeru_$i ; done
$ ls -lhd .
drwxr-xr-x 2 user user 8.1M Aug 2 13:37 .
$ find . -type f -delete
$ ls -l
total 0
$ ls -lhd .
drwxr-xr-x 2 user user 8.1M Aug  2 13:37 .

Wekî ku hûn dibînin, mezinahiya pelrêça nehatiye guhertin, her çend wusa xuya dike :)

Hûn tenê dikarin mezinahiya pelrêçekê (bêyî jêbirina wê) bi karanîna fsck (û vebijarka -D) di rewşek neçalak de rast bikin.

Lê gava ku ez çûm ku lê bigerim çima wusa bû, derket holê ku 10 sal berê tevgerek wusa jixwe hebû nîqaş kirin di lkml de. Û li gorî pêşdebiran, rastkirin ne hêjayî hewildanê ye.

Source: www.habr.com

Add a comment