يتوفر مدير الحزم GNU Guix 1.4 والتوزيع المبني عليه

تم إصدار مدير الحزم GNU Guix 1.4 وتوزيعة GNU/Linux المبنية على أساسه. للتنزيل، تم إنشاء الصور للتثبيت على USB Flash (814 ميجابايت) واستخدامها في أنظمة المحاكاة الافتراضية (1.1 جيجابايت). يدعم التشغيل على معماريات i686 وx86_64 وPower9 وarmv7 وaarch64.

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

الابتكارات الرئيسية:

  • تحسين إدارة بيئات البرمجيات. تم استبدال أمر "guix Environment" بالأمر "guix Shell" الجديد، والذي يسمح لك ليس فقط بإنشاء بيئات بناء للمطورين، ولكن أيضًا استخدام البيئات للتعرف على البرامج دون أن تنعكس في ملف التعريف ودون تنفيذ " تثبيت guix". على سبيل المثال، لتنزيل لعبة supertuxkart وتشغيلها، يمكنك تشغيل "guix shell supertuxkart - supertuxkart". بعد التنزيل، سيتم حفظ الحزمة في ذاكرة التخزين المؤقت ولن يتطلب الإطلاق التالي إعادة استخراجها.

    لتبسيط عملية إنشاء البيئات للمطورين، يوفر "guix shell" الدعم لملفات guix.scm وmanifest.scm التي تصف تكوين البيئة (يمكن استخدام خيار "--export-manifest" لإنشاء الملفات). لإنشاء حاويات تتم فيها محاكاة التسلسل الهرمي لدليل النظام الكلاسيكي، توفر "guix Shell" خيارات "—container -emulate-fhs".

  • تمت إضافة أمر "guix home" للتحكم في البيئة المنزلية. يتيح لك Guix تحديد جميع مكونات البيئة المنزلية الخاصة بك، بما في ذلك الحزم والخدمات والملفات التي تبدأ بنقطة. باستخدام أمر "guix home"، يمكن إعادة إنشاء مثيلات البيئة المنزلية الموصوفة في دليل $HOME أو في حاوية، على سبيل المثال، لنقل بيئتك إلى كمبيوتر جديد.
  • تمت إضافة خيار "-f deb" إلى أمر "guix pack" لإنشاء حزم deb منفصلة يمكن تثبيتها على دبيان.
  • لإنشاء أنواع مختلفة من صور النظام (الخام، QCOW2، ISO8660 CD/DVD، Docker وWSL2)، يُقترح أمر عالمي "صورة نظام guix"، والذي يسمح لك بتحديد نوع التخزين والأقسام ونظام التشغيل للصورة التي تم إنشاؤها .
  • تمت إضافة خيار "—tune" إلى أوامر إنشاء الحزم، مما يسمح لك بتحديد البنية الدقيقة للمعالج التي سيتم تمكين تحسينات محددة لها (على سبيل المثال، يمكن استخدام تعليمات AVX-512 SIMD على وحدات المعالجة المركزية AMD وIntel الجديدة). .
  • يطبق المثبت آلية لحفظ معلومات تصحيح الأخطاء المهمة تلقائيًا في حالة فشل التثبيت.
  • تم تقليل وقت بدء تشغيل التطبيق باستخدام ذاكرة التخزين المؤقت أثناء الارتباط الديناميكي، مما يقلل من استدعاءات الإحصائيات وفتح مكالمات النظام عند البحث عن المكتبات.
  • تم استخدام إصدار جديد من نظام التهيئة GNU Shepherd 0.9، والذي يطبق مفهوم الخدمات المؤقتة (العابرة) والقدرة على إنشاء خدمات يتم تنشيطها بواسطة نشاط الشبكة (بأسلوب تنشيط مقبس systemd).
  • تمت إضافة واجهة جديدة لتعيين حجم قسم المبادلة في تكوين نظام التشغيل.
  • تمت إعادة تصميم واجهة إعداد تكوين الشبكة الثابتة، والتي توفر الآن تماثلًا تعريفيًا للإعدادات بأسلوب أمر ip.
  • تمت إضافة 15 خدمة نظام جديدة، بما في ذلك Jami وSamba وfail2ban وGitile.
  • تم إطلاق packages.guix.gnu.org للتنقل بين الحزم.
  • تم تحديث إصدارات البرامج في 6573 حزمة، وتم إضافة 5311 حزمة جديدة. من بين أشياء أخرى، الإصدارات المحدثة من GNOME 42، وQt 6، وGC 12.2.0، وGlibc 2.33، وXfce 4.16، وLinux-libre 6.0.10، وLibreOffice 7.4.3.2، وEmacs 28.2. تمت إزالة أكثر من 500 حزمة باستخدام Python 2.

يتوفر مدير الحزم GNU Guix 1.4 والتوزيع المبني عليه

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

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

يتم تشكيل بيئة البناء للحزم على شكل حاوية تحتوي على جميع المكونات اللازمة لعمل التطبيق، مما يسمح لك بإنشاء مجموعة من الحزم التي يمكن أن تعمل دون النظر إلى تكوين بيئة النظام الأساسية للتوزيع، حيث يتم استخدام Guix كوظيفة إضافية. يمكن تحديد التبعيات بين حزم Guix عن طريق مسح تجزئات المعرف في دليل الحزم المثبتة للعثور على وجود تبعيات مثبتة بالفعل. يتم تثبيت الحزم في شجرة دليل منفصلة أو دليل فرعي في دليل المستخدم، مما يسمح لها بالتواجد بالتوازي مع مديري الحزم الآخرين وتقديم الدعم لمجموعة واسعة من التوزيعات الموجودة. على سبيل المثال، تم تثبيت الحزمة كـ /nix/store/452a5978f3b1b426064a2b64a0c6f41-firefox-108.0.1/، حيث "452a59..." هو معرف الحزمة الفريد المستخدم لمراقبة التبعية.

تتضمن التوزيعة مكونات مجانية فقط وتأتي مع نواة GNU Linux-Libre، بعد تنظيفها من العناصر غير الحرة للبرامج الثابتة الثنائية. يتم استخدام دول مجلس التعاون الخليجي 12.2 للتجميع. يتم استخدام مدير خدمة GNU Shepherd (dmd سابقًا) كنظام تهيئة، تم تطويره كبديل لـ SysV-init مع دعم التبعية. تمت كتابة البرنامج الخفي وأدوات التحكم Shepherd بلغة Guile (أحد تطبيقات لغة المخطط)، والتي تُستخدم أيضًا لتحديد المعلمات لبدء الخدمات. تدعم الصورة الأساسية العمل في وضع وحدة التحكم، ولكن تم إعداد 20526 حزمة جاهزة للتثبيت، بما في ذلك مكونات حزمة الرسومات المستندة إلى X.Org، ومديري النوافذ dwm وratpoison، وأجهزة سطح المكتب GNOME وXfce، بالإضافة إلى مجموعة مختارة من الرسوميات التطبيقات.

المصدر: opennet.ru

إضافة تعليق