مقدمة حول فلاتباك Flatpak

ماهو فلاتباك:

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

بدأ كنموذج أولي في عام 2007، تحت اسم xdg-app ثم تغير اسمه في وقت لاحق إلى فلاتباك في سبتمبر 2015، وهو مشروع تابع ل Freedesktop.org وهي الجهة التي تضع المعايير التي يسير عليها كيدي وغنوم وغيرها
لمعرفة المزيد حول تاريخ فلاتباك تستطيع زيارة هذا الرابط.

طريقة عمل تطبيق فلاتباك:

يمكن فهم فلاتباك من خلال عدد صغير من المفاهيم الرئيسية. من المفيد أن تكون على دراية بهذا قبل التعلم حول كيفية استخدام فلاتباك من سطر الأوامر، أو استخدامه لبناء التطبيقات.

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

  • الاعتماديات المحزمة مع برنامج فلاتباك: إذا كان التطبيق يتطلب اعتماديات غير موجودة في runtimes، يمكن تجميعها كجزء من التطبيق. هذا يعطي مرونة لمطوري البرامج فيما يتعلق بالاعتماديات التي يستخدمونها.

  • يتم إنشاء كل تطبيق وتشغيله في بيئة معزولة ، تسمى “صندوق الرمل”. يحتوي كل من البرنامج مع runtimes الخاصة به بشكل افتراضي، تستطيع منح صلاحية الوصول إلى ملفات المستخدم والشبكة وغيرها.

  • البوابات: هي خدمات D-Bus يمكن من خلالها أن تتفاعل التطبيقات مع النظام من داخل صندوق الرمل. حيث تعطي القدرة على التفاعل مع البيانات والملفات والخدمات (مثل الوصول إلى الملفات، الطباعة وعرض الإشعارات…) دون الحاجة إلى إضافة أذونات Sandbox، لمزيد من المعلومات يمكنك زيارة هذا الرابط

مزايا استخدام فلاتباك:

  • مدير حزم عالمي: يمكن تشغيل تطبيقات فلاتباك (دون أي تعديل) على أي توزيعة تدعم فلاتباك حتى التوزيعات التي لا تستخدم سيستم دي، وهذا يزيد من كفاءة التبليغ عن العلل.

  • إمكانية تشغيل البرامج غير المتوافقة مع مكتبات النظام الحالية مثل تشغيل أحدث البرامج على توزيعة ديبيان.

  • تحسين أمان النظام عن طريق عزل التطبيقات عن بعضها البعض.

  • إمكانية إضافة المستودعات وتثبيت البرامج لكل المستخدمين أو فقط للمستخدم الخاص بك

  • تحديثات Delta: حيث تستطيع تنزيل تغييرات الكود البرمجي للتطبيق دون الاضطرار لتنزيله كاملا مما يوفر الوقت باقة الأنترنت.

  • دعم تحديثات الند للند P2P: مثلا لو كان هناك 10 حواسيب يقومون بالتحديث في نفس اللحظة سيتم ذلك مرة واحدة بطريقة تشبه التورنت.

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

  • يمكنك تثبيت البرامج بأكثر من إصدار ومصدر حيث تستطيع عند التنزيل تحديد الإصدار والمستودع المراد التنزيل منه.

  • يمكنك تصدير برنامج فلاتباك في حزمة واحدة ونقله وتثبيته على أي توزيعة موجود فيها فلاتباك دون الحاجة لتنزيلها مرة أخرى.

مساوئ فلاتباك

يعتمد على فلاتهب flathub كمستودع رسمي (لا يوجد مستودع اخر له منافس) وفيه المشاكل الاتية:

:one: يسمح لاطراف ثالثة برفع برامج هم لم يقوموا ببرمجتها وهذا يزيد من مشكلة الثقة بهذه الاطراف (التلاعب بالبرامج قبل رفعها). حلها هو تحميل البرامج الموثقة فقط والتي ايضا تكون اشارتها علامة صح زرقاء على فلاتهب.

:two: فلاتهوب لا يجبر بناء البرامج من طريق الكود المصدري Source Code, نتج عن ذلك تكاسل في البناء من المصدر وبتحميل البرنامج المنتهي Binary مباشرة وتوفيرها للمستخدم. وهذا يشكل مشكلة امنية راجع هنا.

  • فلاتباك لا يدعم حل مشكلة Indefinite freeze attacks.

  • فلاتباك يقوم بعمل احتواء خاص sandbox للبرامج التي يقوم بتنزيلها وهذا جيد, ولكن المشكلة عندما يكون للبرنامج نفسه sandbox خاص به فيكون هنالك تعارض بين الاثنين مما يجعل الغاء الsandbox الخاص للبرنامج امر مشكل واثر هذا بشكل واضح على Chromium وما بني عليه (Brave,..) يراجع هنا وهنا.

كيفية استخدامة وتنصيب البرامج من خلالة

خاتمة:

كانت هذه لمحة بسيطة عن فلاتباك مع ذكر بعض مزاياه وعيوبه، هل تستخدم فلاتباك أم مدير الحزم التقليدي؟ وأيهما تفضل؟

5 إعجابات

نعم أفعل
توزيعة Gentoo مع Flatpak للبرامج الرسومية

تقريبًا تعتبر أجمل خلطة لـGNU/Linux

إعجاب واحد (1)

ماذا تقصد بأحسن خلطة خاصة أن فلاتباك يعمل على العديد من التوزيعات بنفس الكيفية؟

بالنسبةلي، نظام تحزيم Flatpak يأتي في المرتبة الثانية بعد مدير الحزم الافتراضي.
وفي العادة ألجأ إليه عند عدم توفر بعض البرامج في المستودعات الرسمية الخاصة بالتوزيعة التي استخدمها.

إعجاب واحد (1)

عن نفسي استخدمه دائما لاي برنامج مكتبي.
فيكون احدث و معزول. ويستخدم اخر التقنيات مثل pipewire.