إصدار نظام الحزمة المستقلة Flatpak 1.8.0

نشرت فرع مستقر جديد من مجموعة الأدوات فلاتباك 1.8، والذي يوفر نظامًا لبناء حزم قائمة بذاتها غير مرتبطة بتوزيعات Linux محددة ويتم تشغيلها في حاوية خاصة تعزل التطبيق عن بقية النظام. يتم توفير الدعم لتشغيل حزم Flatpak لنظام Arch Linux، CentOSوديبيان وفيدورا وجنتو وماجيا ولينكس منت وأوبونتو. يتم تضمين حزم Flatpak في مستودع Fedora ويتم دعمها بواسطة مدير تطبيق GNOME الأصلي.

مفتاح الابتكارات في فرع Flatpak 1.8:

  • تم تبسيط عملية التثبيت في وضع P2P (يسمح لك بتنظيم تحميل التطبيقات ومجموعات وقت التشغيل من خلال العقد الوسيطة أو محركات الأقراص للأنظمة التي لا تحتوي على اتصال بالشبكة). تم إيقاف دعم التثبيت عبر الأجهزة المضيفة المتوسطة على الشبكة المحلية. افتراضيًا، يتم تعطيل التحميل الجانبي التلقائي للمستودعات الموجودة على محركات أقراص USB المحلية. لتمكين المستودعات المحلية المتوسطة، يجب عليك تكوين المستودع عن طريق إنشاء رابط رمزي من /var/lib/flatpak/sideload-repos أو
    /run/flatpak/sideload-repos. أدى هذا التغيير إلى تبسيط التنفيذ الداخلي لوضع P2P وزيادة كفاءته.

  • تمت إضافة وحدة systemd اختيارية لاكتشاف المستودعات الإضافية تلقائيًا على محركات أقراص USB الخارجية المتصلة.
  • بالنسبة للتطبيقات التي يمكنها الوصول إلى نظام الملفات، تتم إعادة توجيه الدليل /lib الخاص بالبيئة المضيفة إلى /run/host/lib.
  • تمت إضافة أذونات وصول جديدة إلى FS - "host-etc" و"host-os"، مما يسمح بالوصول إلى دليلي النظام /etc و/usr.
  • لإنشاء كود تحليل ملف أكثر كفاءة، يتم استخدام GVariant من ostreee المتغير مخطط مترجم.
  • يوفر تكوين سرداب البناء القدرة على البناء بدونه
    libsystemd;

  • تمكين تركيب مقابس دفتر اليومية في وضع القراءة فقط.
  • تمت إضافة دعم لتصدير الدلائل لتصدير المستندات.
  • يسمح بالوصول المباشر إلى أجهزة الصوت ALSA للتطبيقات التي يمكنها الوصول إلى Pulseaudio.
  • في واجهة برمجة التطبيقات FlatpakTransaction تمت إضافة إشارة "تثبيت المصادقة" التي يمكن للعملاء استخدامها لتثبيت أدوات المصادقة اللازمة لإكمال المعاملة.
  • تمكين استخدام معلومات المنطقة الزمنية استنادًا إلى /etc/localtime من النظام المضيف، مما أدى إلى حل المشكلات المتعلقة بالمنطقة الزمنية في بعض التطبيقات.
  • تم إيقاف تثبيت ملف env.d من gdm نظرًا لأن مولدات systemd أفضل في هذه المهمة.
  • تحتوي الأداة المساعدة create-usb على تمكين تصدير الالتزام الجزئي افتراضيًا.
  • تم توفير ملف sysusers.d لإنشاء المستخدمين الضروريين عبر systemd.
  • تمت إضافة خيار "-[no-]follow-redirect" إلى أوامر "flatpak Remote-add" و"flatpak Mod" لتعطيل/تمكين إعادة التوجيه إلى مستودع آخر.
  • في النظام
    البوابات تمت إضافة Spawn API للحصول على معرف العملية الحقيقي (PID) للتطبيق قيد التشغيل.

  • تم تحويل جميع مستودعات OCI (مبادرة الحاوية المفتوحة) لاستخدام أداة مصادقة flatpak-oci-authenticator.
  • تمت إضافة خيار "--commit=" إلى أمري "flatpak Remote-info" و"flatpak update" لتعيين إصدار محدد من مستودعات OCI.
  • تمت إضافة الدعم الأولي لتحديثات دلتا لمستودعات OCI.
  • تمت إضافة أمر "flatpak Upgrade"، وهو اسم مستعار لأمر "flatpak update".
  • تم تنفيذ البرامج النصية لإكمال الإدخال لقذيفة أمر الأسماك.

دعنا نذكرك أن Flatpak تتيح لمطوري التطبيقات إمكانية تبسيط توزيع برامجهم غير المضمنة في مستودعات التوزيع القياسية من خلال تحضير حاوية عالمية واحدة دون إنشاء تجميعات منفصلة لكل توزيع. بالنسبة للمستخدمين المهتمين بالأمان، تتيح لك Flatpak تشغيل تطبيق مشكوك فيه في حاوية، مما يوفر الوصول فقط إلى وظائف الشبكة وملفات المستخدم المرتبطة بالتطبيق. بالنسبة للمستخدمين المهتمين بالمنتجات الجديدة، يتيح لك Flatpak تثبيت أحدث الإصدارات التجريبية والمستقرة للتطبيقات دون الحاجة إلى إجراء تغييرات على النظام. على سبيل المثال، حزم Flatpak حاليا موجودة بالفعل ذاهبون لـ LibreOffice وMidori وGIMP وInkscape وKdenlive وSteam و0 AD وVisual Studio Code وVLC وSlack وSkype وTelegram Desktop وAndroid Studio وما إلى ذلك.

لتقليل حجم الحزمة، فهي تتضمن فقط التبعيات الخاصة بالتطبيق، وتم تصميم مكتبات النظام والرسومات الأساسية (مكتبات Gtk+ وQt وGNOME وKDE، وما إلى ذلك) كبيئات تشغيل قياسية إضافية. يتمثل الاختلاف الرئيسي بين Flatpak وSnap في أن Snap يستخدم مكونات بيئة النظام الرئيسية والعزل بناءً على تصفية مكالمات النظام، بينما تقوم Flatpak بإنشاء حاوية منفصلة عن النظام وتعمل مع مجموعات وقت تشغيل كبيرة، ولا توفر الحزم كتبعيات، بل كحزم قياسية بيئات النظام (على سبيل المثال، جميع المكتبات اللازمة لتشغيل برامج جنوم أو كيدي).

بالإضافة إلى بيئة النظام القياسية (وقت التشغيل)، يتم تثبيتها من خلال برنامج خاص مخزن، يتم توفير التبعيات (الحزمة) الإضافية المطلوبة لكي يعمل التطبيق. في المجمل، يشكل وقت التشغيل والحزمة ملء الحاوية، على الرغم من حقيقة أن وقت التشغيل يتم تثبيته بشكل منفصل وربطه بعدة حاويات في وقت واحد، مما يسمح لك بتجنب تكرار ملفات النظام المشتركة في الحاويات. يمكن أن يحتوي نظام واحد على عدة أوقات تشغيل مختلفة مثبتة (GNOME، KDE) أو عدة إصدارات من نفس وقت التشغيل (GNOME 3.26، GNOME 3.28). تستخدم الحاوية التي تحتوي على تطبيق كتبعية ربطًا بوقت تشغيل محدد فقط، دون مراعاة الحزم الفردية التي تشكل وقت التشغيل. يتم تجميع كافة العناصر المفقودة مباشرة مع التطبيق. عند تكوين حاوية، يتم تثبيت محتويات وقت التشغيل كقسم /usr، ويتم تثبيت الحزمة في دليل /app.

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

البيئة المعزولة التي تم إنشاؤها مستقلة تمامًا عن التوزيع المستخدم، ومع إعدادات الحزمة المناسبة، لا يمكنها الوصول إلى الملفات والعمليات الخاصة بالمستخدم أو النظام الرئيسي، ولا يمكنها الوصول مباشرة إلى المعدات، باستثناء الإخراج عبر DRI، و النظام الفرعي للشبكة. إخراج الرسومات وتنظيم المدخلات مُنفّذ باستخدام بروتوكول Wayland أو عبر إعادة توجيه مقبس X11. يعتمد التفاعل مع البيئة الخارجية على نظام مراسلة DBus وواجهة برمجة تطبيقات Portals خاصة. للعزل تستخدم البينية التفاف الفقاعة وتقنيات المحاكاة الافتراضية لحاويات Linux التقليدية القائمة على استخدام مجموعات التحكم ومساحات الأسماء وSeccomp وSELinux. يستخدم PulseAudio لإخراج الصوت.

المصدر: opennet.ru

إضافة تعليق