pkg2appimage: أداة مفتوحة المصدر لتحويل حزم DEB إلى تطبيقات AppImage محمولة

pkg2appimage: أداة مفتوحة المصدر لتحويل حزم DEB إلى تطبيقات AppImage محمولة
هذا المقال متاح بالإنجليزية Read in English

مشكلة توافق التطبيقات بين توزيعات لينكس

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

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

🔗 المستودع الرسمي: github.com/AppImageCommunity/pkg2appimage

ما هي pkg2appimage؟

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

الفكرة الأساسية: إذا كان هناك تطبيق متوفر كحزمة DEB (أو في أرشيف ثنائي)، فيمكنك استخدام pkg2appimage لإنشاء AppImage منه، دون الحاجة إلى الوصول إلى كود المصدر الأصلي.

كيفية الاستخدام

بناء AppImage من وصفة موجودة

إذا كان هناك ملف وصفة .yml جاهزة للتطبيق الذي تريده، يمكنك ببساطة استخدام اسم التطبيق كوسيط:

# تحميل أداة pkg2appimage كـ AppImage
wget -c $(wget -q https://api.github.com/repos/AppImageCommunity/pkg2appimage/releases -O - | grep "pkg2appimage-.*-x86_64.AppImage" | grep browser_download_url | head -n 1 | cut -d '"' -f 4)
chmod +x ./pkg2appimage-*.AppImage

# تشغيل الأداة مع اسم التطبيق (مثل Spotify)
./pkg2appimage-*.AppImage Spotify

هذا الأمر سيبحث عن ملف Spotify.yml في مجلد الوصفات، وسيقوم بتحميل المكونات المطلوبة وبناء AppImage.

بناء AppImage من وصفة محلية

إذا كنت تطور وصفة جديدة أو تريد تعديل وصفة موجودة، يمكنك تشغيل pkg2appimage مع مسار ملف الوصفة المحدد:

./pkg2appimage-*.AppImage recipes/XXX.yml

كيف تعمل الوصفات (Recipes)؟

ملفات الوصفات .yml تخبر pkg2appimage من أين تحصل على المكونات، وكيفية تحويلها إلى AppImage. تحتوي على معلومات مثل:

  • اسم التطبيق وإصداره.
  • مصدر الحزمة (رابط تحميل DEB، أو PPA، أو أرشيف ثنائي).
  • الاعتماديات التي يجب تضمينها في AppImage.
  • الملفات التي يجب استثناؤها.
  • أوامر ما بعد التثبيت.

دراسة الأمثلة الموجودة في مجلد recipes/ هي أفضل طريقة لفهم كيفية عملها.

لماذا تعتبر pkg2appimage أداة مهمة؟

للمطورين

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

للمستخدمين

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

للمجتمع

pkg2appimage تشجع على مشاركة الوصفات، مما يسمح للمجتمع بالحفاظ على إصدارات AppImage للتطبيقات التي لا يوفرها مطوروها رسمياً.

القيود والاعتبارات

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

أمثلة على تطبيقات تم تحويلها باستخدام pkg2appimage

  • Spotify: يمكن إنشاء AppImage لـ Spotify باستخدام وصفة موجودة.
  • Neovim: تمت إضافة وصفة حديثة لـ Neovim في يناير 2025.
  • العديد من التطبيقات الأخرى عبر مجموعة الوصفات المتزايدة في المستودع.

المساهمة في المشروع

مجتمع AppImage يرحب بالمساهمات. يمكنك:

  • إضافة وصفات جديدة لتطبيقات لا توجد لها وصفات بعد.
  • تحسين الوصفات الموجودة لتحديث الإصدارات أو إصلاح المشاكل.
  • تطوير الأداة نفسها (pkg2appimage).

يمكنك الانضمام إلى منتدى AppImage على discourse.appimage.org أو قناة IRC #AppImage على irc.libera.chat.

خلاصة

pkg2appimage هي أداة حيوية في نظام AppImage البيئي. تسد الفجوة بين التطبيقات المعبأة كحزم DEB وتنسيق AppImage المحمول، مما يسهل على المستخدمين تشغيل التطبيقات على أي توزيعة لينكس، ويساعد المطورين في توسيع نطاق وصول تطبيقاتهم.

روابط سريعة

https://github.com/AppImageCommunity/pkg2appimage

https://appimage.org

https://discourse.appimage.org

نشر في قسم البرمجيات الحرة مفتوحة المصدر – أدوات تعبئة ونشر

التفاعلات والتعليقات

سجّل الدخول بحساب GitHub للتعليق أو التفاعل. مدعوم بـ Giscus (مخزَّن في GitHub Discussions)

EN