مايكل ستابلبرغ، مؤلف برنامج إدارة النوافذ المتجانبة i3wm ومطور برامج نشط سابق Debian (مرفقة بحوالي 170 طردًا)، التوزيع التجريبي ومدير الحزم الذي يحمل نفس الاسم. يتم وضع المشروع كدراسة للطرق الممكنة لزيادة أداء أنظمة إدارة الحزم ويجسد بعض الأفكار الجديدة لبناء التوزيعات. تمت كتابة كود مدير الحزم في Go و تحت رخصة BSD.
من أبرز ميزات تنسيق حزم التوزيعة هو تقديمها كصور SquashFS، بدلاً من ملفات tar المضغوطة. يتيح استخدام SquashFS، على غرار تنسيقي AppImage وSnap، إمكانية تثبيت الحزمة دون فك ضغطها، مما يوفر مساحة على القرص، ويسمح بإجراء تغييرات دقيقة، ويجعل محتويات الحزمة متاحة فورًا. في الوقت نفسه، تحتوي حزم التوزيعة، مثل تنسيق "deb" الكلاسيكي، على مكونات فردية فقط مرتبطة بحزم أخرى عبر التبعيات (لا يتم تكرار المكتبات في الحزم، بل يتم تثبيتها كمتطلبات). بعبارة أخرى، تسعى التوزيعة إلى الجمع بين بنية التغليف الدقيقة للتوزيعات الكلاسيكية مثل Debian، مع طرق لتوصيل التطبيقات على شكل حاويات مثبتة.
يتم تثبيت كل حزمة في التوزيع في دليل القراءة فقط (على سبيل المثال ، تتوفر حزمة zsh كـ "/ro/zsh-amd64-5.6.2-3") ، مما له تأثير إيجابي على الأمان ويحمي من الحوادث العرضية أو تغييرات خبيثة. لتشكيل تسلسل هرمي لأدلة الخدمة ، مثل / usr / bin و / usr / share و / usr / lib ، يتم استخدام وحدة FUSE خاصة تجمع محتويات جميع صور SquashFS المثبتة في كل واحد (على سبيل المثال ، / ro / يوفر دليل المشاركة إمكانية الوصول لمشاركة الدلائل الفرعية من كافة الحزم).
في التوزيع بشكل أساسي من المعالجات التي يتم استدعاؤها أثناء عملية التثبيت (لا توجد خطافات ومشغلات) ، ويمكن أن تتعايش إصدارات مختلفة من الحزمة مع بعضها البعض ، لذلك يصبح من الممكن موازاة تثبيت الحزم. يحد الهيكل المقترح من أداء مدير الحزم فقط على النطاق الترددي للشبكة التي يتم من خلالها تنزيل الحزم. يتم إجراء التثبيت أو التحديث المباشر للحزمة بشكل ذري ولا يتطلب تكرار المحتوى.
يتم استبعاد التعارضات أثناء تثبيت الحزم ، نظرًا لأن كل حزمة مرتبطة بالدليل الخاص بها ويسمح النظام بإصدارات مختلفة من نفس الحزمة (يتم تضمين محتويات الدليل مع مراجعة أحدث للحزمة في الدلائل الموجزة). يعد إنشاء الحزم أيضًا سريعًا جدًا ولا يتطلب تثبيت حزم في بيئة بناء منفصلة (تُنشئ بيئة الإنشاء تمثيلات للتبعيات الضرورية من الدليل / ro).
أوامر إدارة الحزم النموذجية ، مثل "تثبيت التوزيع" و "تحديث التوزيع" ، وبدلاً من الأوامر المعلوماتية ، يمكنك استخدام الأداة المساعدة "ls" القياسية (على سبيل المثال ، لعرض الحزم المثبتة ، يكفي عرض قائمة بالأدلة في التسلسل الهرمي "/ ro" ، ومن أجل معرفة الحزمة التي تم تضمين الملف فيها ، انظر إلى أين يؤدي الارتباط من هذا الملف).
نموذج التوزيع الأولي المقترح للتجارب يتضمن حوالي و مستعد مع برنامج التثبيت ، مناسب للتثبيت باعتباره نظام التشغيل الرئيسي وللتشغيل في QEMU و Docker و Google Cloud و VirtualBox. وهو يدعم التمهيد من قسم قرص مشفر ومجموعة من التطبيقات النموذجية لإنشاء سطح مكتب استنادًا إلى مدير نافذة i3 (يتم تقديم Google Chrome كمتصفح). مجموعة أدوات كاملة لبناء توزيع وتحضير وتشكيل الحزم وتوزيع الحزم عبر المرايا وما إلى ذلك.
المصدر: opennet.ru
