أدوات المستخدم

أدوات الموقع


linux-app-formats-snaps-flatpak-appimage

صيغ التطبيقات على لينكس Snaps، Flatpak وAppImage

لقد شرحنا في مقالةٍ سابقة كيف أن الحزم والمستودعات قد حلّت لنا مشاكل كثيرة على لينكس، وكيف أن المستخدمين صار بإمكانهم الحصول على الكثير من البرمجيات بسرعة غير معهودة من قبل وبسهولة أيضًا.

لكن هناك بعض المشاكل أيضًا عندما يتعلق الأمر ببناء المستودعات وتحزيم الحزم:

  • هناك الكثير من توزيعات لينكس المختلفة والتي تستعمل أنظمة تحزيم مختلفة مثل دبيان وفيدورا وأوبن سوزا وأرتش، فهل مطور التطبيقات سيأتي ويحزّم برنامجه لجميعها؟ هذا صعب.
  • حتى توزيعات لينكس المبنية على بعضها البعض مثل أوبونتو على دبيان ولينكس منت على أوبونتو، قد يواجه المستخدم العادي فيها مشاكل فيما يتعلق بالاعتماديات، وهذا بسبب اختلاف المستودعات المُضافة إليها واختلاف طبيعة هذه التوزيعات. أي أنه لا يكفي حتى عمل مستودع دبياني واحد بصيغة .deb بل على المطور عمل مستودعات متعددة لنفس التوزيعة.
  • كما أن الإصدارات الجديدة تتطلب مستودعات جديدة وتحزيم الاعتماديات مرة أخرى؛ مثل أوبونتو 20.04 و20.10 و21.04... إلخ، هذه كلها توزيعات مختلفة بحاجة لمستودعات مختلفة.
  • وفي النهاية هناك مشكلة الأمان، فجميع الحزم التي تثبّتها من أي مصدر قادرة على الوصول إلى كامل نظامك أو العبث بأجزائه، وبالتالي لا بد من إيجاد آلية لعزلها عن ذلك.

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

  • Sandboxing: أو “العزل في صندوق”، وهي آلية تعني أن التطبيق ممنوع من الوصول إلى كافة أجزاء النظام أو الملفّات التي عليه (كما هو الحال في الحزم التقليدية)، بل المسموح له الوصول إلى مجلدات أو مسارات معيّنة فقط، وكذلك ينطبق الأمر على العمليات وأجهزة العتاد التي يمكنه الوصول إليها وتنفيذها.
  • Containers: أو الحاويات، وهو مبدأ شائع جدًا في عالم البرمجيات حيث تكون جميع اعتماديات التطبيق موجودةً معه في نفس الملف، وبالتالي لا حاجة لتحميلها من جديد أو البحث عنها.
  • Portable Apps: أو تطبيقات قابلة للنقل، وهي التطبيقات التي لا تحتاج تثبيتًا على النظام أو نقل ملفّاتها إلى ملفّاته لتعمل، بل يكفي تشغيلها كما هي لتعمل على جهاز المستخدم.

صيغة سناب Snaps

وهي صيغة تطبيقات من شركة كانونيكال المالكة لتوزيعة أوبونتو. ظهرت حزم السناب رسميًا في إصدار أوبونتو 16.04 طويل الدعم، وهي مثبّتة افتراضيًا على أوبونتو من حينها.

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

من مميزات تطبيقات السناب:

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

لكن من عيوبها:

  • تفرض كانونيكال متجر تطبيقات وحيد تتحكم به على كل من يريد استخدام تطبيقات السناب أو جعل تطبيقه يستخدمها، وهو متجر مغلق المصدر ويحتاج موافقة مطوري كانونيكال قبل أن يُرفع التطبيق عليه.
  • بطيئة في بدء التشغيل لأول مرة بعد الإقلاع؛ لأن تطبيقات السناب معزولة في أقراص وهمية خاصّة بها، وبالتالي تشغيلها لأول مرة قد يأخذ 3-7 ثوانٍ، ثم بعدها تصبح سريعة في التشغيل.
  • لا يمكن إيقاف التحديثات التلقائية، وبالتالي لا تعرف متى تُحدّث هذه التطبيقات أو كم تستهلك من تدفّق الإنترنت.

إن لم تكن على أوبونتو، فيمكنك تحميل مدير حزم سناب من موقعه الرسمي وتثبيته على توزيعتك. سيمكنك بعدها تصفح متجر تطبيقات سناب وتثبيت أي حزمة سناب تريدها عبر كتابة الأمر الذي تراه في مربع تعليمات التثبيت.

يمكنك تثبيت حزمة سناب عبر الأمر:

sudo snap install snapname

ويمكنك حذفها عبر:

sudo snap remove snapname

كما يمكنك تشغيل حزمة سناب قمت بتثبيتها على نظامك عبر الأمر:

snap run snapname

صيغة فلاتباك Flatpak

بعد شهرين من إطلاق حزم السناب انتبهت شركة ريدهات إلى أهمية امتلاك آلية مختلفة لشحن التطبيقات وتوزيعها على لينكس، ولهذا أطلقت مشروع فلاتباك (بعد أن حوّلته من مشروعٍ آخر ووظفت مطوره الرئيسي لصالحها) وجعلته افتراضيًا في توزيعة فيدورا التي ترعاها رسميًا هي الأخرى.

تطبيقات فلاتباك هي تطبيقات معزولة ومحتواة في حاويات هي الأخرى، لكنها ليست محتواة بالكامل، لأن تطبيقات فلاتباك تعتمد في عملها على بيئات عمل مشتركة (Shared Runtimes) بحاجة للتحميل قبل استخدام التطبيقات. لا تحتاج تحميل هذه البيئة سوى مرة واحدة فقط وبعدها ستتمكن جميع التطبيقات من استخدامها إن احتاجت ذلك، لكن غالبًا ما يكون حجم هذه البيئات بمئات الميغابايتات، ولهذا فإن تثبيت تطبيق بسيط مثل آلة حاسبة جنوم كتطبيق فلاتباك قد يحتاج تحميل نحو 700 ميغابت من الإنترنت لأول مرة، أما بعد ذلك فلن تحتاج سوى إلى تحميل التطبيق نفسه إن كان لا يستخدم شيئًا سوى بيئة جنوم.

من مميزات فلاتباك:

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

لكن من عيوبها:

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

معظم تطبيقات فلاتباك متوفرة للتثبيت من مستودع رئيسي اسمه Flathub، ويمكن للمستخدم إضافته إلى نظامه ثم تحميل التطبيقات منه وتحديثها تمامًا كالحزم العادية.

ستحتاج تحميل مدير حزم فلاتباك وتثبيته على نظامك قبل القيام بذلك (إن يكن مثبتًا بالفعل)، ويمكنك تحميله من الموقع الرسمي.

صيغة AppImage

تطبيقات AppImage قديمة في الواقع وليست جديدة، فهي موجودة منذ 2004م.

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

هذا يعني أن تطبيقات AppImage تفتقد لمزايا الأمان والخصوصية الموجودة في حزم سناب وفلاتباك، لكنها أسهل للاستخدام سواءٌ من طرف المستخدمين أو المطورين، كما أنها محمولة في ملف واحد فقط يمكن تحميله من الإنترنت أو مشاركته مع أي أحد لتشغيل أي نوع من التطبيقات.

نظرًا لطبيعتها فليس هناك مكان موحّد لتحميل حزم AppImage، لكنك قد تجدها في بعض التطبيقات الموجّهة لسطح مكتب لينكس في خيارات التحميل، ويكفي أن تنقر عليها بزرّ الفأرة الأيمن وتعلّم خيار “السماح بالتشغيل”، ثم تنقر عليها بزر الفأرة الأيسر لجعلها تعمل.

يمكنك أيضًا تصفح بعض التطبيقات المتوفرة كحزم AppImage من مواقع مثل AppImageHub وغيرها، حيث تحوي تجميعةً بهذه التطبيقات.

linux-app-formats-snaps-flatpak-appimage.txt · آخر تعديل: 2023/12/20 17:08 بواسطة 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki