حقائق رئيسية
- تم تقسيم الدلائل /bin و /sbin و /usr/bin و /usr/sbin بناءً على قرارات تصميم يونكس التاريخية.
- تم وضع أدوات الاسترداد الأساسية في /bin و /sbin لتكون متاحة عندما لم يتم تركيب /usr.
- BusyBox هو مشروع يوفر أدوات يونكس مبسطة ويجب عليه التنقل في هذه التمايزات للدلائل.
- توزيعات لينكس الحديثة تتجه بشكل متزايد نحو دمج هذه الدلائل حيث تصبح قيود الأجهزة أقل أهمية.
ملخص سريع
التقسيم بين الدلائل مثل /bin و /sbin و /usr/bin و /usr/sbin في أنظمة لينكس متجذر في قرارات تصميم يونكس التاريخية التي اتخذت في عصر كان يعاني من قيود مادية كبيرة. تم فصل هذه الدلائل في الأصل بناءً على الأهمية الحرجة للثنائيات التي تحتويها وما إذا كانت ضرورية لاسترداد النظام عندما لم يتم تركيب نظام الملفات /usr.
تم وضع أدوات الاسترداد الأساسية في /bin و /sbin لضمان إمكانية إصلاح النظام باستخدام نظام الملفات الجذر فقط. تم تخزين التطبيقات المستخدمة والأدوات الأقل أهمية في /usr/bin. كان يجب على مشروع BusyBox، الذي يجمع العديد من أدوات يونكس في تنفيذ واحد، معالجة هذه التمايزات للدلائل في تنفيذه. تتجه توزيعات لينكس الحديثة بشكل متزايد نحو دمج هذه الدلائل حيث تقل القيود المادية، لكن فهم المنطق الأصلي لا يزال ذا قيمة لإدارة النظام.
السياق التاريخي للدلائل الثنائية
يعود فصل الدلائل الثنائية في الأنظمة المشابهة ليونكس إلى عصر كانت المساحة على الأقراص فيه محدودة للغاية وكان استرداد النظام هو الاهتمام الأساسي. في أنظمة يونكس المبكرة، كان يتم الاحتفاظ بنظام الملفات الجذر (/) صغيراً ومنفصلاً عن نظام الملفات /usr، الذي كان يحتوي على معظم برامج المستندات والتوثيق. كان هذا الفصل عملياً لأن نظام الملفات الجذر يجب أن يتم تركيبه أولاً لتشغيل النظام، وكان يجب أن يحتوي على جميع الأدوات اللازمة لإصلاح أو استرداد النظام إذا أصبح نظام الملفات /usr الأكبر تالفاً أو لم يتمكن من التركيب.
وبالتالي، تم وضع أكثر الأدوات النظامية أهمية - تلك المطلوبة للصيانة الأساسية للنظام والاسترداد الطارئ - في /bin (للثنائيات) و /sbin (للثنائيات النظامية). كانت هذه الدلائل جزءاً من نظام الملفات الجذر. في الوقت نفسه، تم تخزين التطبيقات والأوامر الأقل أهمية في /usr/bin. أدى هذا القرار المعماري إلى ضمان قدرة المسؤولين على تشغيل نظام بسيط وإجراء إصلاحات حتى عندما يكون دليل التطبيقات الرئيسي غير متاح.
دور BusyBox
BusyBox هو حزمة برمجية توفر العديد من أدوات يونكس في تنفيذ واحد مدمج. يُستخدم على نطاق واسع في الأنظمة المدمجة، وبيئات الاسترداد، وصور الحاويات حيث تكون كفاءة المساحة حاسمة. لأن BusyBox يهدف إلى استبدال أدوات يونكس القياسية، يجب عليه التعامل مع هيكل الدلائل التاريخي بشكل صحيح. عند استدعائه، يفحص BusyBox اسمه أو وسائطه لتحديد الوظيفة التي يجب توفيرها، ويجب أن يضع روابطه الرمزية في الدلائل المناسبة - سواء كان ذلك /bin أو /sbin أو /usr/bin - للحفاظ على التوافق مع السكربتات وتوقعات النظام.
واجه المشروع قرارات حول مكان تثبيت هذه الروابط افتراضياً. في العديد من الأنظمة الحديثة، خاصة المدمجة، غالباً ما يكون التمييز بين نظامي الملفات الجذر و /usr ضبابياً أو ملغياً تماماً. ومع ذلك، يجب على BusyBox أن يدعم الإعدادات التقليدية حيث يتم فرض الفصل. وهذا يعني ضمان توفر الأدوات الأساسية في /bin و /sbin لأغراض الاسترداد، بينما قد يتم وضع الأدوات الاختيارية أو التي تُستخدم أقل تردد في /usr/bin.
الاتجاهات الحديثة ودمج الدلائل
مع نمو قدرات الأجهزة، أصبح الفصل الصارم بين أنظمة الملفات أقل ضرورة. عادةً ما تحتوي الأنظمة الحديثة على مساحة تخزين وفيرة، والعقوبة الأداءية لتركيب نظام ملفات /usr منفصل أصبحت غير ملحوظة. اتجهت العديد من توزيعات لينكس المعاصرة نحو دمج الدلائل التقليدية. على سبيل المثال، أصبح شائعاً بشكل متزايد العثور على /bin و /usr/bin يشيران إلى نفس الموقع، مما يلغي التكرار ويُبسّط تسلسل هرمية نظام الملفات.
يُبسّط هذا الاتجاه بالدمج إدارة النظام ويقلل من الحيرة للمستخدمين والمطورين. إنه يعترف بأن الأسباب الأصلية للتقسيم - الحفاظ على مساحة القرص بشكل أساسي وال الحاجة إلى بيئة استرداد بسيطة - أصبحت قديمة بشكل كبير على الأجهزة الحديثة. ومع ذلك، يPersist الهيكل التاريخي في التوثيق وفي تصميم العديد من الأدوات، مما يجعل من المهم فهم السياق القديم.
الدلائل لإدارة النظام
لا يزال فهم التقسيم التاريخي ذا صلة لـ مسؤولي النظام والمطورين العاملين في بيئات متنوعة. عند استكشاف مشاكل التشغيل أو العمل مع بيئات الاسترداد، يمكن أن يكون معرفة أي الأدوات متوقعة في /bin مقابل /usr/bin أمراً حاسماً. قد تفترض السكربتات المكتوبة للأنظمة الأقدم أن أوامر معينة متاحة في مواقع محددة، ويجب على طبقات التوافق احترام هذه الاتفاقيات.
علاوة على ذلك، يسلط النقاش حول هذه الدلائل الضوء على أسئلة أوسع حول معيار تسلسل هرمية نظام ملفات لينكس (FHS). بينما يوفر FHS إرشادات، تختلف التنفيذات الفعلية. يعكس التطور المستمر لهذه المعايير احتياجات بيئات الحوسبة المتغيرة، من الأجهزة المدمجة الصغيرة إلى الخوادم الضخمة، والموازنة بين التوافقية الخلفية والبساطة الحديثة.




