د بن، sbin، usr/bin، usr/sbin ترمنځ توپیر

د نومبر په 30، 2010، ډیویډ کولیر لیکلي:

ما ولیدل چې په مصروف بکس کې لینکونه په دې څلورو لارښودونو ویشل شوي.
ایا یو ساده قواعد شتون لري ترڅو معلومه کړي چې په کوم لارښود کې کوم لینکونه باید پروت وي ...
د مثال په توګه، قتل په /bin کې دی، او killall په /usr/bin کې دی... زه په دې ویش کې کوم منطق نه وینم.

تاسو شاید پوهیږئ چې کین تامپسن او ډینس ریچي په 7 کې په PDP-1969 کې یونیکس رامینځته کړ. نو، د 1971 په شاوخوا کې، دوی د RK11 ډیسکونو (هر یو 05 میګابایټ) سره PDP-1,5 ته لوړ کړل.

کله چې عملیاتي سیسټم وده وکړه او نور په لومړي ډیسک کې فټ نه شو (په کوم کې چې ریښه FS موقعیت لري) ، دوی یوې برخې ته لاړ ، چیرې چې د کور لارښودونه موقعیت لري (له همدې امله ، د ماونټ پوائنټ ته ویل کیږي /usr - له کلمې څخه کارن). دوی هلته د OS ټول اړین لارښودونه نقل کړل (/bin، /sbin، /lib، /tmp ...) او فایلونه یې په نوي ډیسک کې ځای په ځای کړل، ځکه چې زاړه د ځای څخه وتلي. بیا دوی دریم ډیسک درلود ، دوی دا په / کور ډایرکټر کې نصب کړل او د کاروونکو کور لارښودونه یې هلته لیږدول ترڅو OS وکولی شي په دوه ډیسکونو کې پاتې ټول ځای ونیسي ، او دا وو. درې میګابایټ (وا!).

البته، دوی باید یو قاعده جوړه کړي چې "کله چې عملیاتي سیسټم بوټ شي، دا باید وړتیا ولري چې په /usr کې دویم ډیسک نصب کړي، نو داسې پروګرامونه مه کوئ لکه په دویم ډیسک کې د /usr په څیر نصب کړئ یا تاسو به ولرئ. د چرګ او هګۍ ستونزه." دا دومره ساده ده. او دا 6 کاله دمخه په یونیکس V35 کې و.

د /bin او /usr/bin (او دا ډول ټولو لارښودونو) ویشل د دې پیښو میراث دی، د 70 لسیزې څخه د پلي کولو توضیحات چې د لسیزو راهیسې د بیوروکراټانو لخوا کاپي شوي. دوی هیڅکله پوښتنه نه ده کړې ولېدوی یوازې دا وکړل. دا څانګه حتی د لینوکس رامینځته کیدو دمخه د ډیری دلایلو له مخې معنی نه لري:

  1. کله چې بوټ کول، یو initrd یا initramfs کارول کیږي، کوم چې د ستونزو پاملرنه کوي لکه "موږ دې فایل ته اړتیا لرو." په دې توګه، موږ لرو مخکې لري لنډمهاله فایل سیسټم چې د هر څه د پورته کولو لپاره کارول کیږي.
  2. شریک کتابتونونه (کوم چې په برکلي کې د هلکانو لخوا په یونیکس کې اضافه شوي) تاسو ته اجازه نه ورکوي چې د /lib او /usr/lib مینځپانګې په خپلواکه توګه بدل کړئ. دا دوه برخې باید سره سمون ولري یا دوی به کار ونکړي. دا په 1974 کې نه و پیښ شوي ځکه چې دوی وروسته د جامد اړیکو له امله یو څه خپلواکي درلوده.
  3. ارزانه هارډ ډرایو د 100 په شاوخوا کې د 1990 میګابایټ خنډ مات کړ، او په ورته وخت کې، د ویشلو سافټویر راڅرګند شو (د پارشن جادو 3.0 په 1997 کې خپور شو).

البته، له هغه ځایه چې ویش شتون لري، ځینې خلک د قواعدو سره راغلي چې دا توجیه کوي. لکه، د روټ ویش د هر ډول عمومي OS ځانګړتیاو لپاره اړین دی، او تاسو اړتیا لرئ چې خپل محلي فایلونه په / usr کې واچوئ. یا داخل کړئ / څه AT&T توزیع کوي، او په /usr کې ستاسو ویش، IBM AIX، یا Dec Ultrix، یا SGI Irix اضافه کړي، او /usr/local ستاسو سیسټم ته ځانګړي فایلونه لري. او بیا یو چا پریکړه وکړه /usr/local د نوي سافټویر نصبولو لپاره سم ځای نه و، نو راځئ چې اضافه / غوره کړو! زه به حیران نه شم که /opt/local هم څرګند شي ...

البته، د 30 کلونو په اوږدو کې، د دې جلا کولو له امله، ټول ډوله په زړه پورې ویش ځانګړي مقررات راغلي او تللي دي. د مثال په توګه، "/tmp په ریبوټ کې پاک شوی، مګر /usr/tmp ندی." (او په اوبنټو کې په اصولو کې /usr/tmp نشته، او په Gentoo کې /usr/tmp د /var/tmp سره سمبولیک لینک دی، کوم چې اوس د دې قاعدې تابع دی، او دا په ریبوټ کې پاک شوی نه دی. دا هم پیښیږي چې روټ FS یوازې د لوستلو وړ دی ، او بیا تاسو اړتیا نلرئ /usr ته څه ولیکئ ، مګر تاسو اړتیا لرئ چې /var ته ولیکئ. په لومړي سر کې نشي لیکل کیدی پرته له /etc، کوم چې ځینې وختونه هڅه شوې وه چې /var ته ولیږدول شي ...)

بیوروکراټان لکه د لینکس فاونډیشن (چې کلونه دمخه یې د پراختیا په جریان کې د وړیا سټنډرډ ګروپ تیر کړ) خوښ دي چې دا مقررات مستند او پیچلي کړي پرته لدې چې دا معلومه کړي چې ولې هلته شتون لري. هغه څه چې دوی نه پوهیږي دا دي چې کین او ډینس یوازې د OS برخه د دوی کور لارښود ته لیږدولې ځکه چې په PDP-05 کې RK11 ډیسک خورا کوچنی و.

زه ډاډه یم چې مصروف بکس یوازې فایلونه په ورته ډول ساتي لکه څنګه چې دا په تاریخي ډول وده کړې. تر دې دمه د داسې کولو لپاره هیڅ ریښتینی دلیل شتون نلري. په شخصي توګه، زه یوازې په /usr کې ورته لارښودونو ته /bin، /sbin او /lib لینک جوړوم. په هرصورت، هغه خلک چې د ایمبیډ شوي سافټویر سره کار کوي هڅه کوي پوه شي او ساده کړي ...

سرچینه: www.habr.com

Add a comment