Distri عبارة عن مجموعة توزيع لاختبار تقنيات إدارة الحزم السريعة

مايكل ستابيلبيرج ، مؤلف i3wm tiled window manager ومطور دبيان النشط السابق (حافظ على حوالي 170 حزمة) ، تطور التوزيع التجريبي توزيعة ومدير الحزم الذي يحمل نفس الاسم. يتم وضع المشروع كدراسة للطرق الممكنة لزيادة أداء أنظمة إدارة الحزم ويجسد بعض الأفكار الجديدة لبناء التوزيعات. تمت كتابة كود مدير الحزم في Go و وزعت من خلال تحت رخصة BSD.

الميزة الرئيسية لتنسيق الحزمة المقترح للتوزيع هي أن الحزمة يتم تسليمها في شكل صور SquashFS ، بدلاً من أرشيفات tar مضغوطة. يتيح لك استخدام SquashFS ، على غرار تنسيقات AppImage و Snap ، "تركيب" حزمة دون الحاجة إلى التفريغ ، مما يوفر مساحة على القرص ، ويسمح بإجراء تغييرات ذرية ، ويجعل محتويات الحزمة متاحة على الفور. في الوقت نفسه ، تحتوي حزم التوزيعات ، كما هو الحال في تنسيق "deb" الكلاسيكي ، على مكونات فردية فقط تعتمد على حزم أخرى (لا يتم تكرار المكتبات في الحزم ، ولكن يتم تثبيتها على أنها تبعيات). بعبارة أخرى ، تحاول التوزيعات دمج بنية الحزم الحبيبية للتوزيعات الكلاسيكية مثل دبيان مع طرق توصيل التطبيقات في شكل حاويات قابلة للتركيب.

يتم تثبيت كل حزمة في التوزيع في دليل القراءة فقط (على سبيل المثال ، تتوفر حزمة zsh كـ "/ro/zsh-amd64-5.6.2-3") ، مما له تأثير إيجابي على الأمان ويحمي من الحوادث العرضية أو تغييرات خبيثة. لتشكيل تسلسل هرمي لأدلة الخدمة ، مثل / usr / bin و / usr / share و / usr / lib ، يتم استخدام وحدة FUSE خاصة تجمع محتويات جميع صور SquashFS المثبتة في كل واحد (على سبيل المثال ، / ro / يوفر دليل المشاركة إمكانية الوصول لمشاركة الدلائل الفرعية من كافة الحزم).

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

يتم استبعاد التعارضات أثناء تثبيت الحزم ، نظرًا لأن كل حزمة مرتبطة بالدليل الخاص بها ويسمح النظام بإصدارات مختلفة من نفس الحزمة (يتم تضمين محتويات الدليل مع مراجعة أحدث للحزمة في الدلائل الموجزة). يعد إنشاء الحزم أيضًا سريعًا جدًا ولا يتطلب تثبيت حزم في بيئة بناء منفصلة (تُنشئ بيئة الإنشاء تمثيلات للتبعيات الضرورية من الدليل / ro).

أيد أوامر إدارة الحزم النموذجية ، مثل "تثبيت التوزيع" و "تحديث التوزيع" ، وبدلاً من الأوامر المعلوماتية ، يمكنك استخدام الأداة المساعدة "ls" القياسية (على سبيل المثال ، لعرض الحزم المثبتة ، يكفي عرض قائمة بالأدلة في التسلسل الهرمي "/ ro" ، ومن أجل معرفة الحزمة التي تم تضمين الملف فيها ، انظر إلى أين يؤدي الارتباط من هذا الملف).

نموذج التوزيع الأولي المقترح للتجارب يتضمن حوالي 1700 كيس و مستعد صور التثبيت مع برنامج التثبيت ، مناسب للتثبيت باعتباره نظام التشغيل الرئيسي وللتشغيل في QEMU و Docker و Google Cloud و VirtualBox. وهو يدعم التمهيد من قسم قرص مشفر ومجموعة من التطبيقات النموذجية لإنشاء سطح مكتب استنادًا إلى مدير نافذة i3 (يتم تقديم Google Chrome كمتصفح). قدمت مجموعة أدوات كاملة لبناء توزيع وتحضير وتشكيل الحزم وتوزيع الحزم عبر المرايا وما إلى ذلك.

المصدر: opennet.ru

إضافة تعليق