في Fedora 40، من المقرر أن يتم توحيد المجلدين /usr/bin و/usr/sbin

فيدورا

مشروع فيدورا هو مشروع مفتوح برعاية Red Hat وبدعم من المجتمع.

في القوائم البريدية لفيدورا لقد تم الإعلان عن اقتراح مثيرة للاهتمام للغاية، وهذا هو تم النظر في إمكانية دمج محتويات المجلدين /usr/biny و/usr/sbin، مع استبدال الدليل /usr/sbin برابط رمزي يشير إلى /usr/bin.

وعلى الرغم من أن هذا الاقتراح قد لا يمثل تغييرا كبيرا، فمن الجدير بالذكر أن رلديها بعض الآثار المثيرة للاهتمام. لكل من المستخدمين والمطورين، حيث تم تحويل /bin و/sbin إلى روابط رمزية إلى /usr/bin و/usr/sbin في Fedora 17.

فصل تم تقديم bin وsbin في الأصل للتمييز بين البرامج مخصص للمستخدمين البرامج القياسية والإدارية. ومع ذلك، من الناحية العملية، أصبح هذا التمييز أقل أهمية، خاصة عندما تضع التوزيعات المختلفة الملفات القابلة للتنفيذ بشكل مختلف بين مجلدي bin وsbin.

كان من المفترض أن يحتوي الانقسام الأصلي على ثنائيات "مهمة" مرتبطة بشكل ثابت في /sbin والتي يمكن استخدامها بعد ذلك في عمليات الطوارئ والإنقاذ. من الواضح أننا لم نعد نقوم بإنشاء روابط ثابتة بعد الآن. تمت إعادة استخدام التقسيم لاحقًا لعزل الثنائيات "المهمة" التي لن يستخدمها إلا المسؤول. على الرغم من أن هذا يبدو جذابًا من الناحية النظرية، إلا أنه من الصعب جدًا تصنيف برامج كهذه من الناحية العملية، ويقوم المستخدمون العاديون باستدعاء البرامج بشكل روتيني من /sbin.

نلاحظ أن يعد فصل الملفات القابلة للتنفيذ في مجلدات bin وsbin ممارسة قديمة فقدت معناها في التوزيعات الحديثة في البداية، كان من المفهوم أن usr/bin يستضيف البرامج الأساسية القابلة للتنفيذ من قبل المستخدم، بينما يحتوي /usr/sbin على أهم الملفات القابلة للتنفيذ، المرتبطة بإدارة النظام، والتي تتطلب عادةً امتيازات الجذر.

اقتراح توحيد الدلائل /usr/bin و/usr/sbin داخل النظام وهو تغيير كبير يسعى إلى تبسيط هيكل النظام وجعله أكثر تماسكا. على مر السنين، أصبح التمييز بين /usr/bin و/usr/sbin أقل وضوحًا، حيث يتضمن متغير بيئة PATH كلا الدليلين افتراضيًا في العديد من التوزيعات.

يتم أيضًا استخدام معظم البرامج التي تتطلب امتيازات الجذر لعمليات "معينة" عند التشغيل بدون امتيازات. وحتى عندما تكون الامتيازات مطلوبة، غالبًا ما يتم الحصول عليها ديناميكيًا، على سبيل المثال باستخدام polkit.

 مع ظهور systemd، أصبح هذا الأمر أكثر تنظيمًا: يقوم systemd بتعيين `$PATH` مع كلا الدليلين لجميع المستخدمين والخدمات. لذلك بشكل عام، سيواجه كافة المستخدمين والبرامج كلا المجموعتين من الثنائيات. 

ويذكر أن مقترح توحيد هذه الدلائل له فوائد عديدة، منها تبسيط عمل المشرفين الحزم عن طريق إلغاء الحاجة إلى تحديد الدليل الذي سيتم وضع الملف القابل للتنفيذ فيه (على سبيل المثال، في Fedora كانت أداة IP المساعدة موجودة في sbin وفي Debian في bin؛ بعد التوحيد، سيعمل مسار Debian المميز في Fedora).

وهذا سيجعل النظام أكثر قابلية للتنبؤ به وفهمه للمستخدمين. وسيزيد التوافق بين التوزيعات المختلفة. بالإضافة إلى ذلك، فإنه سيعمل على تبسيط سجلات البحث وتحليل مخرجات الأدوات المساعدة مثل strace، مما يقلل من التعقيد التشغيلي، بالإضافة إلى أنه سيقلل أيضًا من عدد عمليات فحص الدليل عند تشغيل execvp() واستدعاءات مماثلة.

يتوافق التوحيد أيضًا مع ممارسات Arch Linux، التي دمجت sbin وbin في عام 2013، ولديها القدرة على جعل Fedora أكثر توافقًا مع التوزيعات الأخرى. تعد إزالة المرجع إلى الدليل /usr/sbin من متغير بيئة PATH بمجرد دمج كافة الملفات القابلة للتنفيذ في مكان واحد جزءًا لا يتجزأ من هذا الاقتراح.

رغم أن لا يزال الاقتراح قيد المناقشة ولم تتم مراجعته من قبل FESCo (لجنة التوجيه والهندسة فيدورا)، المسؤولة عن الجزء الفني من تطوير توزيعة فيدورا، يبدو أن توحيد bin و sbin له مزايا كبيرة من حيث البساطة وإمكانية التنبؤ والتوافق، لذلك من الممكن أن يكون هذا الاقتراح يصبح أحد التغييرات التي سنجدها في فيدورا 40.

وأخيرا، إذا كنت مهتمًا بمعرفة المزيد عنها، يمكنك التحقق من التفاصيل في الرابط التالي.


أضف كمصدر مفضل