Bedane antarane bin, sbin, usr / bin, usr / sbin

Tanggal 30 November 2010, David Collier nyerat:

Aku weruh yen ing busybox pranala dipérang dadi papat direktori iki.
Apa ana sawetara aturan prasaja kanggo nemtokake direktori endi pranala sing kudu ana ...
Contone, mateni ana ing / bin, lan killall ana ing / usr / bin ... Aku ora weruh logika ing divisi iki.

Sampeyan bisa uga ngerti yen Ken Thompson lan Dennis Ritchie nggawe Unix ing PDP-7 ing taun 1969. Dadi, watara 1971, padha nganyarke menyang PDP-11 karo pasangan RK05 disk (1,5 megabyte saben).

Nalika sistem operasi tansaya lan ora pas ing disk pisanan (ing ngendi ROOT FS dumunung), padha dipindhah bagean liya, ngendi direktori ngarep dumunung (mulane, titik gunung diarani / usr - saka tembung pangguna). Dheweke duplikat kabeh direktori OS sing dibutuhake ing kana (/ bin, / sbin, / lib, / tmp ...) lan sijine file ing disk anyar, amarga sing lawas kehabisan ruang. Banjur dheweke duwe disk katelu, dipasang ing direktori / ngarep lan mindhah direktori ngarep pangguna ing kana supaya OS bisa njupuk kabeh ruang sing isih ana ing rong disk, lan iki padha. telung megabyte (wau!).

Mesthine, dheweke kudu nggawe aturan yen "nalika sistem operasi boot, kudu bisa masang disk kapindho ing / usr, supaya ora sijine program kaya mount ing disk kapindho ing / usr utawa sampeyan bakal duwe. masalah pitik lan endhog." Iku sing prasaja. Lan sing ana ing Unix V6 35 taun kepungkur.

Pemisahan / bin lan / usr / bin (lan kabeh direktori kasebut) minangka warisan saka acara kasebut, rincian implementasine saka taun 70-an sing wis disalin dening birokrat nganti pirang-pirang dekade saiki. Dheweke ora nate takon ngapapadha mung nindakake. Divisi iki ora ana gunane sanajan sadurunge Linux digawe, amarga sawetara alasan:

  1. Nalika booting, initrd utawa initramfs digunakake, sing ngurus masalah kaya "kita butuh file iki sadurunge." Mangkono, kita duwe wis sistem file sauntara sing digunakake kanggo mbukak kabeh liyane.
  2. Pustaka sing dienggo bareng (sing ditambahake menyang Unix dening wong lanang ing Berkley) ora ngidini sampeyan ngganti isi / lib lan / usr / lib kanthi mandiri. Loro bagean kasebut kudu cocog utawa ora bakal bisa digunakake. Iki ora kelakon ing taun 1974 amarga padha duwe kamardikan nalika iku amarga link statis.
  3. Hard drive murah nyuwil alangi 100 megabyte watara 1990, lan ing wektu sing padha, piranti lunak ngowahi ukuran partisi muncul (Piandel partisi 3.0 metu ing 1997).

Mesthi wae, amarga ana pembagian, sawetara wong nggawe aturan sing mbenerake. Kaya, partisi ROOT dibutuhake kanggo kabeh jinis fitur OS umum, lan sampeyan kudu nyelehake file lokal ing / usr. Utawa lebokake / apa sing disebarake AT&T, lan ing /usr apa distribusi sampeyan, IBM AIX, utawa Dec Ultrix, utawa SGI Irix ditambahake, lan /usr/local ngemot file khusus kanggo sistem sampeyan. Banjur ana sing mutusake /usr/local dudu papan sing cocog kanggo nginstal piranti lunak anyar, mula ayo tambahake /opt! Aku ora bakal kaget yen /opt/local uga katon ...

Mesthine, sajrone 30 taun, amarga pemisahan iki, kabeh aturan khusus distribusi sing menarik wis teka lan ilang. Contone, "/ tmp wis dibusak nalika urip maneh, nanging / usr / tmp ora." (Lan ing Ubuntu ora ana / usr / tmp ing prinsip, lan ing Gentoo / usr / tmp minangka link simbolis menyang / var / tmp, sing saiki tundhuk karo aturan kasebut, lan ora dibuwang nalika urip maneh. Ya, iki ana kabeh sadurunge Uga kedadeyan yen root FS mung diwaca, banjur sampeyan ora perlu nulis apa-apa menyang / usr, nanging sampeyan kudu nulis menyang / var. utamane ora bisa ditulis kajaba ing /etc, sing kadhangkala dicoba dipindhah menyang /var ...)

Birokrat kaya Linux Foundation (sing nguntal Free Standards Group sajrone ekspansi taun kepungkur) seneng nyathet lan nggawe rumit aturan kasebut tanpa nyoba ngerteni kenapa dheweke ana ing kana. Apa padha ora éling iku Ken lan Dennis mung dipindhah bagéan saka OS kanggo direktori ngarep amarga disk RK05 ing PDP-11 cilik banget.

Aku cukup manawa busybox mung nempatno file ing cara sing padha wis historis. Ora ana alesan nyata kanggo nglakoni nganti saiki. Secara pribadi, aku mung nggawe / bin, / sbin lan / lib link menyang direktori sing padha ing / usr. Sawise kabeh, wong sing nggarap piranti lunak sing dipasang nyoba ngerti lan nyederhanakake ...

Source: www.habr.com

Add a comment