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

أدوات الموقع


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

صيغة AppImage

linux-app-formats-snaps-flatpak-appimage.1638387921.txt.gz · آخر تعديل: 2023/12/20 17:08 (تحرير خارجي)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki