Log in


Forgot your password?
prijatelji LUGoNSa
gnu.gif
linuxzasve.jpg
hulk.jpg
 
You are here: Home / members / Marko Vojvodic / Razumevanje razdvajanja /bin -a, /sbin -a, /usr/bin -a, /usr/sbin -a

Razumevanje razdvajanja /bin -a, /sbin -a, /usr/bin -a, /usr/sbin -a

by Marko Vojvodić last modified Feb 05, 2012 01:35 AM
Razlozi za razdvajanje /bin, /sbin, /usr/sbin i /usr/sbin direktorijuma na UNIX i UNIX-olikim operativnim sistemima kroz istoriju.
Razumevanje razdvajanja /bin -a, /sbin -a, /usr/bin -a, /usr/sbin -a

PDP-11

Konačno nešto vrlo interestantno za priču. Ako ste koristili UNIX ili neki od njegovih derivata, verovatno ste se zapitali zašto postoje /bin, /sbin, /usr/bin, /usr/sbin u fajl sistemu. Možda ste i izracionalizovali razlog za postojanje svakog od ovih direktorijuma. Stvar je u tome da su sve racionalizacije smišljene nakon što su direktorijumi kreirani. Kao što na kraju ispada, svako pravo rezonovanje je poprilično jednostavno.

Nikad nisam pravio tajnu od činjenice da apsolutno mrzim strukturu UNIX direktorijuma. Imena su nedeskriptivna i često vrlo proizvoljna, zahtevaju knjigu da bi ste ih pravilno shvatili i izgleda da svako ima svoje sopstvene ideje o tome gde šta ide. Čak i među Linux distribucijama ne postoji konzistentnost o tome gde šta ide.

To je totalni i potpuni košmar koji je oskrnavio čak i moj voljeni BeOS.

Rešenja za sada imaju tendenciju da budu samo slojevi na slojevima na slojevima da se sakrije nered strukture direktorijuma. Mac OS X je posebno nečuven u tom pogledu - otvori direktorijum i proveri listing direktorijuma na root-u - to je još veći haos od regularnog UNIX-a. Učitajte finder videćete potpuno drugačiju strukturu direktorijuma.

Ovo je kao kupovina lepog auta, da bi shvatili da je motor napravljen od kolača i trulog brokolija.

Kad sam se žalio na strukturu UNIX direktorijuma u prošlosti, ja (i oni koji su se složili samnom) sam uvek bio preplavljen objašnjenjima o tome zašto ima smisla, zašto je najbolje da se stvari šire preko /bin, /sbin, /usr/bin, /usr/sbin, i tako dalje. Ono što je uvek bilo smešno - ova objašnjenja nikad nisu bila preterano dosledna između sebe.

Krajem prošle nedelje, došao sam do linka na Haker vestima i intrigantnog uvida u to kako su /bin, /sbin, /usr/bin i /usr/sbin nastali. Mnogi od vas će biti iznenađeni saznanjem da ne postoji božanski plan iza svega ovog razdvajanja.

30. novembra 2010., David Collier pitao je na BusyBox mejling listi zašto je "kill u /bin, a killall u /usr/bin". On "nema saznanja o tome šta može biti logika za to". Rob Landley je odgovorio i pružio interesantan uvid u sve to.

Problem je u tome da kada su Ken Thompson i Dennis Ritchie izvršili nadogradnju sa PDP-7 (na kom su kreirali UNIX 1969.)  na PDP-11 u 1971., oni su se suočili sa ne jednim hard diskom od 1.5MB, već dva. Oni su sada imali neverovatnu količinu megabajta (čak 3). Prvi disk je sadržao operativni sistem, dok je drugi sadržao sve stvari od korisnika. Drugi disk, sa podacima korisnika, je bio nasađen na /usr (/home je kasnije izmišljen).
Centar za podatke
U nekom trenutku, operativni sistem je narastao prevelik za prvi disk i morao je da se prelije na drugi disk. Kao rezultat, Thompson i Ritchie su kopirali strukturu direktorijuma (/bin, /sbin, /lib, /tmp, i tako dalje) na drugi disk pod /usr. Kada su dobili treći disk, preselili su sve stvari od korisnika sa /usr na treći disk koji je nasađen pod /home.

Ovo ih je primoralo da dođu do niza pravila, kao što je to da komanda mount ne može biti instalirana u /usr/bin, jer je mount prevashodno bio neophodan za nasađivanje drugog diska (/usr).

"/bin protiv /usr/bin razdvajanja (i svih ostalih) je posledica sledećeg - implementacioni detalji u 1970-im koji su prenošeni decenijama od strane birokrata koji nikad nisu dovodili u pitanje zašto rade određene stvari." Landley objašnjava, "Prestalo je da ima ikakvog smisla pre nego što je Linux ikada izmišljen, i to iz više razloga."

On zatim nastavlja o detaljima ovih razloga. Prvo, Linux već ima privremeni sistem koji vodi računa o 'ovaj fajl je potreban pre onog' - problema. Drugo, deljene biblioteke su rešile probleme uzrokovane statičkim linkovanjem (što je bila norma u vreme kad je UNIX napravljen). Treće, prostor na hard disku je dostigao granicu od 100MB u 1990-tim, tako da mali diskovi više nisu problem.

"Birokratije za standarde poput Linux Fondacije srećno dokumentuju i dodaju ovoj vrsti kompleksnosti bez i jednog pokušaja da shvate zašto ona uopšte i postoji," on dodaje, "'Ken i Dennis su prelili svoj OS na ekvivalent od home-a jer je RK05 disk paket na PDP-11 bio previše mali".

To, na neki način, deluje kao opravdanje. Sve te blesave racionalizacije koje ljudi raznose - sve su one izmišljene nakon činjenice, iz razloga koji nisu imali smisla u zadnjih 30 godina - i nažalost, koji nikada nisu imali smisla u Linux svetu.

Raspravljati kako je struktura UNIX direktorijuma užasna, užasna zbrka koja prlja inače elegantan sistem je kao da pokušavate da ubedite podnu pločicu da se okrene na drugu stranu. Ljudi su toliko navikli na njihove automatske odgovore o tome kako sve to navodno ima smisla. Oni često odbijaju i da pomisle o njegovom redizajniranju za moderno doba. S obzirom da je gik (eng. geek) tvrdoglavo stvorenje, postoje male ili nikakve šanse da se ovo ikada promeni u mom životu.

"Prilično sam siguran da busybox instalacija jednostavno stavlja binarne fajlove na mesta gde su druge verzije tih fajlova išle kroz istoriju. Više ne postoji PRAVI RAZLOG za bilo šta od toga. Lično, ja simbolički linkujem /bin, /sbin i /lib na njihove /usr ekvivalente na sistemima koje stavljam zajedno, "Landley, trenutno radi na embedded Linux-u, zaključuje, "Embedded momci pokušavaju da shvate i pojednostave..."

 

Izvor: http://www.osnews.com/story/25556/Understanding_the_bin_sbin_usr_bin_usr_sbin_Split

Document Actions