Gwahaniaeth rhwng bin, sbin, usr/bin, usr/sbin

Ar 30 Tachwedd, 2010, ysgrifennodd David Collier:

Sylwais fod y dolenni yn busybox wedi'u rhannu i'r pedwar cyfeiriadur hyn.
A oes rhyw reol syml i benderfynu ym mha gyfeiriadur pa un o'r dolenni ddylai orwedd...
Er enghraifft, mae lladd yn / bin, ac mae killall yn /usr/bin... Dydw i ddim yn gweld unrhyw resymeg yn y rhaniad hwn.

Mae'n debyg eich bod yn gwybod bod Ken Thompson a Dennis Ritchie wedi creu Unix ar y PDP-7 ym 1969. Felly, tua 1971, fe wnaethant uwchraddio i PDP-11 gyda phΓ’r o ddisgiau RK05 (1,5 megabeit yr un).

Pan dyfodd y system weithredu ac nad oedd bellach yn ffitio ar y ddisg gyntaf (y mae'r gwraidd FS wedi'i leoli arno), fe wnaethant symud rhan i'r ail, lle roedd y cyfeiriaduron cartref wedi'u lleoli (felly, galwyd y pwynt gosod / usr - o'r gair defnyddiwr). Fe wnaethon nhw ddyblygu'r holl gyfeiriaduron OS angenrheidiol yno (/bin, /sbin, /lib, /tmp ...) a rhoi'r ffeiliau ar ddisg newydd, oherwydd bod yr hen un wedi rhedeg allan o le. Yna roedd ganddyn nhw drydedd ddisg, fe wnaethon nhw ei osod yn y cyfeiriadur / cartref a symud cyfeiriaduron cartref y defnyddwyr yno fel y gallai'r OS gymryd yr holl le sy'n weddill ar ddwy ddisg, a dyma oedd tri megabeit (Waw!).

Wrth gwrs, roedd yn rhaid iddynt wneud rheol "pan fydd y system weithredu yn cychwyn, mae'n rhaid iddo allu gosod ail ddisg yn / usr, felly peidiwch Γ’ rhoi rhaglenni fel gosod ar yr ail ddisg yn / usr neu bydd gennych chi problem cyw iΓ’r ac wyau." Mae mor syml Γ’ hynny. Ac roedd hynny yn Unix V6 35 mlynedd yn Γ΄l.

Mae hollti /bin a /usr/bin (a phob cyfeiriadur o’r fath) yn etifeddiaeth i’r digwyddiadau hynny, manylyn gweithredu o’r 70au sydd wedi’i gopΓ―o gan fiwrocratiaid ers degawdau bellach. Ni ofynasant y cwestiwn erioed pamdim ond fe wnaethon nhw. Peidiodd y rhaniad hwn Γ’ gwneud synnwyr hyd yn oed cyn i Linux gael ei greu, am sawl rheswm:

  1. Wrth gychwyn, defnyddir initrd neu initramfs, sy'n gofalu am broblemau fel "mae angen y ffeil hon arnom cyn yr un honno." Felly, mae gennym ni eisoes wedi system ffeiliau dros dro a ddefnyddir i lwytho popeth arall.
  2. Nid yw llyfrgelloedd a rennir (a ychwanegwyd at Unix gan y dynion yn Berkley) yn caniatΓ‘u ichi newid cynnwys /lib a /usr/lib yn annibynnol. Rhaid i'r ddwy ran hyn gyd-fynd neu ni fyddant yn gweithio. Ni ddigwyddodd hyn yn 1974 oherwydd roedd ganddynt rywfaint o annibyniaeth bryd hynny oherwydd cysylltu statig.
  3. Torrodd gyriannau caled rhad y rhwystr 100 megabeit tua 1990, a thua'r un pryd, ymddangosodd meddalwedd newid maint rhaniad (daeth hud rhaniad 3.0 allan ym 1997).

Wrth gwrs, gan fod rhaniad, mae rhai pobl wedi llunio rheolau sy'n cyfiawnhau hynny. Fel, mae angen y rhaniad gwraidd ar gyfer pob math o nodweddion OS cyffredinol, ac mae angen ichi roi eich ffeiliau lleol yn / usr. Neu rhowch / beth mae AT&T yn ei ddosbarthu, ac yn / usr beth mae'ch dosbarthiad, IBM AIX, neu Dec Ultrix, neu SGI Irix wedi'i ychwanegu, a / usr/local yn cynnwys ffeiliau sy'n benodol i'ch system. Ac yna penderfynodd rhywun nad /usr/local oedd y lle iawn i osod meddalwedd newydd, felly gadewch i ni ychwanegu / optio! Ni fyddaf yn synnu os bydd /opt/local hefyd yn ymddangos ...

Wrth gwrs, dros gyfnod o 30 mlynedd, oherwydd y gwahaniad hwn, mae pob math o reolau dosbarthu-benodol diddorol wedi mynd a dod. Er enghraifft, mae "/tmp wedi'i glirio wrth ailgychwyn, ond nid yw /usr/tmp." (Ac yn Ubuntu nid oes /usr/tmp mewn egwyddor, ac yn Gentoo /usr/tmp mae cyswllt symbolaidd i /var/tmp, sydd bellach yn ddarostyngedig i'r rheol honno, ac nid yw wedi'i glirio wrth ailgychwyn. Ydy, mae hyn Roedd y cyfan cyn Mae hefyd yn digwydd bod y gwraidd FS yn ddarllenadwy yn unig, ac yna nid oes angen i chi ysgrifennu unrhyw beth i / usr ychwaith, ond mae angen i chi ysgrifennu at /var. yn bennaf ni ellir ei ysgrifennu ac eithrio yn /etc, y ceisiwyd ei symud weithiau i /var ...)

Mae biwrocratiaid fel y Linux Foundation (a lyncodd y GrΕ΅p Safonau Rhydd yn ystod ei ehangu flynyddoedd yn Γ΄l) yn hapus i ddogfennu a chymhlethu'r rheolau hyn heb erioed geisio darganfod pam eu bod yno. Yr hyn nad ydynt yn sylweddoli yw bod Ken a Dennis newydd symud rhan o'r OS i'w cyfeiriadur cartref oherwydd bod y ddisg RK05 ar y PDP-11 yn rhy fach.

Dwi'n eitha siwr bod busybox jest yn rhoi'r ffeiliau yn yr un ffordd ag y mae wedi datblygu yn hanesyddol. Nid oes unrhyw reswm gwirioneddol i wneud hynny hyd yn hyn. Yn bersonol, dwi'n gwneud cyswllt / bin, /sbin a / lib i gyfeiriaduron tebyg yn / usr. Wedi'r cyfan, mae pobl sy'n gweithio gyda meddalwedd wedi'i fewnosod yn ceisio deall a symleiddio ...

Ffynhonnell: hab.com

Ychwanegu sylw