30. gada 2010. novembrī Deivids Koljers rakstīja:
Es pamanÄ«ju, ka busybox saites ir sadalÄ«tas Å”ajos Äetros direktorijos.
Vai ir kÄds vienkÄrÅ”s noteikums, lai noteiktu, kurÄ direktorijÄ ir jÄatrodas saitÄm?
PiemÄram, kill ir /bin, un killall ir /usr/bin... Neredzu nekÄdu loÄ£iku Å”ajÄ sadalÄ«jumÄ.
JÅ«s droÅ”i vien zinÄt, ka Kens Tompsons un Deniss RiÄijs izveidoja Unix uz PDP-7 1969. gadÄ. TÄtad, ap 1971. gadu viÅi jauninÄja uz PDP-11 ar pÄris RK05 diskiem (katrs 1,5 megabaiti).
Kad operÄtÄjsistÄma pieauga un vairs neietilpa pirmajÄ diskÄ (kurÄ atradÄs saknes FS), viÅi daļu pÄrcÄla uz otro, kur atradÄs mÄjas direktoriji (tÄpÄc pievienoÅ”anas punkts tika saukts par / usr - no vÄrda lietotÄjs). ViÅi tur dublÄja visus nepiecieÅ”amos OS direktorijus (/bin, /sbin, /lib, /tmp ...) un ielika failus jaunÄ diskÄ, jo vecajÄ pietrÅ«ka vietas. Tad viÅiem bija treÅ”ais disks, viÅi to uzstÄdÄ«ja /home direktorijÄ un tur pÄrvietoja lietotÄju mÄjas direktorijus, lai OS varÄtu aizÅemt visu atlikuÅ”o vietu divos diskos, un tie bija pat trÄ«s megabaiti (wow!).
Protams, viÅiem bija jÄizstrÄdÄ noteikums, ka "operÄtÄjsistÄmas sÄknÄÅ”anas laikÄ tai ir jÄspÄj uzstÄdÄ«t otru disku mapÄ /usr, tÄpÄc nelieciet tÄdas programmas kÄ mount otrajÄ diskÄ mapÄ /usr, pretÄjÄ gadÄ«jumÄ jums bÅ«s vistas un olu problÄma." Tas ir tik vienkÄrÅ”i. Un tas bija Unix V6 pirms 35 gadiem.
/bin un /usr/bin (un visu Å”Ädu direktoriju) sadalÄ«Å”ana ir Å”o notikumu mantojums, 70. gadu ievieÅ”anas detaļa, ko birokrÄti ir kopÄjuÅ”i jau vairÄkus gadu desmitus. ViÅi nekad nav uzdevuÅ”i jautÄjumu kÄpÄcviÅi vienkÄrÅ”i to izdarÄ«ja. Å im sadalÄ«jumam vairs nebija jÄgas pat pirms Linux izveides vairÄku iemeslu dÄļ:
- SÄknÄÅ”anas laikÄ tiek izmantots initrd vai initramfs, kas novÄrÅ” tÄdas problÄmas kÄ "mums ir nepiecieÅ”ams Å”is fails pirms Ŕī." TÄdÄjÄdi mums ir jau ir pagaidu failu sistÄma, kas tiek izmantota, lai ielÄdÄtu visu pÄrÄjo.
- KoplietotÄs bibliotÄkas (kuras Unix pievienoja Berklija puiÅ”i) neļauj atseviŔķi mainÄ«t /lib un /usr/lib saturu. Å Ä«m divÄm daļÄm ir jÄsakrÄ«t, pretÄjÄ gadÄ«jumÄ tÄs nedarbosies. Tas nenotika 1974. gadÄ, jo viÅiem toreiz bija zinÄma neatkarÄ«ba, pateicoties statiskajai saitei.
- Ap 100. gadu lÄti cietie diski pÄrkÄpa 1990 megabaitu barjeru, un aptuveni tajÄ paÅ”Ä laikÄ parÄdÄ«jÄs nodalÄ«jumu izmÄru maiÅas programmatÅ«ra (partition Magic 3.0 iznÄca 1997. gadÄ).
Protams, tÄ kÄ ir dalÄ«jums, daži cilvÄki ir izdomÄjuÅ”i noteikumus, kas to attaisno. TÄpat kÄ saknes nodalÄ«jums ir nepiecieÅ”ams visu veidu vispÄrÄ«gajÄm OS funkcijÄm, un vietÄjie faili ir jÄievieto mapÄ / usr. Vai arÄ« ievietojiet / ko AT&T izplata, un /usr, ko jÅ«su izplatÄ«Å”ana, IBM AIX vai Dec Ultrix vai SGI Irix pievienoja, un /usr/local satur jÅ«su sistÄmai raksturÄ«gus failus. Un tad kÄds nolÄma, ka /usr/local nav Ä«stÄ vieta jaunas programmatÅ«ras instalÄÅ”anai, tÄpÄc pievienosim /opt! Es nebrÄ«nÄ«Å”os, ja parÄdÄ«sies arÄ« /opt/local ...
Protams, 30 gadu laikÄ Å”Ä«s atdalÄ«Å”anas dÄļ ir raduÅ”ies un aizgÄjuÅ”i visÄdi interesanti izplatÄ«Å”anai specifiski noteikumi. PiemÄram, "/tmp tiek notÄ«rÄ«ts atsÄknÄÅ”anas laikÄ, bet /usr/tmp nav." (Un Ubuntu principÄ nav /usr/tmp, un Gentoo /usr/tmp ir simboliska saite uz /var/tmp, uz kuru tagad attiecas Å”is noteikums, un tÄ netiek notÄ«rÄ«ta pÄrstartÄÅ”anas laikÄ. JÄ, Ŕī bija viss pirms GadÄs arÄ« tÄ, ka saknes FS ir tikai lasÄma, un tad arÄ« /usr nekas nav jÄraksta, bet jÄraksta uz /var. bÅ«tÄ«bÄ nevar rakstÄ«t, izÅemot /etc, kuru dažreiz mÄÄ£inÄja pÄrvietot uz /var ...)
BirokrÄti, piemÄram, Linux fonds (kas aprija BrÄ«vo standartu grupu savas paplaÅ”inÄÅ”anÄs laikÄ pirms gadiem), labprÄt dokumentÄ un sarežģī Å”os noteikumus, nekad nemÄÄ£inot noskaidrot, kÄpÄc tie tur bija. ViÅi neapzinÄs, ka Kens un Deniss tikko pÄrvietoja daļu OS uz savu mÄjas direktoriju, jo PDP-05 RK11 disks bija pÄrÄk mazs.
Esmu diezgan pÄrliecinÄts, ka Busybox vienkÄrÅ”i ievieto failus tÄdÄ paÅ”Ä veidÄ, kÄ tas ir bijis vÄsturiski. LÄ«dz Å”im nav Ä«sta iemesla to darÄ«t. PersonÄ«gi es vienkÄrÅ”i izveidoju /bin, /sbin un /lib saiti uz lÄ«dzÄ«giem direktorijiem /usr. Galu galÄ cilvÄki, kas strÄdÄ ar iegulto programmatÅ«ru, cenÅ”as saprast un vienkÄrÅ”ot ...
Avots: www.habr.com