إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

تعريف وبعض المعلومات عن flatpak

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • تعريف وبعض المعلومات عن flatpak

    ما هو flatpak ؟

    اضغط على الصورة لعرض أكبر.   الإسم:	maxresdefault.jpg  مشاهدات:	0  الحجم:	18.2 كيلوبايت  الهوية:	983568
    https://flatpak.org/




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

    البرنامج المحزم بطريقة flatpak سبتم تشغيلها داخل صندوق sandbox معزول عن النظام الأساسي لكن يمكن طلب الصلاحيات للوصل لبعض اجزاء النظام المضيف ان كان المجلدات والملفات قراءة وكتابة أو قراءة فقط أو الوصول لبعض الخدمات من عرض الإشعارات و...إلخ

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

    وهناك أيضا ما يسمى flatpak portals وهي برمجيات يتم تثبيتها مع flatpak على النظام المضيف وتعمل مثل خدمات ممكن الوصول لها من داخل الصندوق المعزول sandbox عى طريق dbus وتوفر هذه الخدمات أشياء مثل عمل screenshot للشاشة أو تصوير الشاشة و ...إلخ الرابط في الأسفل يعرض بعض ملفات هذه ال portal .
    https://docs.flatpak.org/en/latest/p...reference.html

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

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

    أما الإعتماديات الخاصة التي قد لا تكون متوفرة في ال runtime والإضافات يمكن بنائها وتحزيمها مع البرنامج وغالبا يكون عددها قليل .

    أشهر ال runtime :
    1. ال runtime الاساسي freedesktop وهي منظمة لتوحيد المعاير والجهود وتتعاون كثيرا مع مشاريع مثل جنوم و كيدي و...إلخ
    2. الruntime الخاص بمشروع gnome وهو أكبر قليلا من freedesktop حيث يحتوي كل ما يلزم للبرمجيات التي تعمل بمكتبة gtk وأصدقائها .
    3. الruntime الخاص بمشروع kde وأيضا هو أكبر قليلا من freedesktop حيث يحتوي كل ما يلزم للبرمجيات التي تعمل بمكتبة Qt وبيئة kde وأصدقائهم .

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




    اضغط على الصورة لعرض أكبر.   الإسم:	Flatpak-1-1.png  مشاهدات:	0  الحجم:	14.7 كيلوبايت  الهوية:	983565
    هذه صورة توضح كيف يعمل البرنامج حيث يكون ال runtime فوق النظام الأساسي ثم يأتي البرنامج مع الإعتماديات الخاصة فوق ال runtime ليتم توفير بيئة شبيهة لحد ما بالنظام الأساسي من حيث شكل شجرة الملفات و...إلخ



    تعريف بعض المصطلحات وبعض المعلومات:
    1. الحزمة التي تنتهي بالاحقة flatpak. هي حزمة flatpak.
    2. أداة flatpak التي تعمل من سطر اﻷوامر أيضا إسمها flatpak وعملها تشغيل البرامج و تثبيتها او تنزيل البرامج وتثبيتها من المستودعات الخاصة بحزم flatpak وأيضا حذف تحديث البرامج المثبته وايضا لها إمكانية إضافة وحذف المستودعات و..إلخ أي هي الاداة الرئيسة لإدارة الحزم والمستودعات شيء شبيه لحد ما ب dnf و apt لكن لحزم flatpak .
    3. ال flatpak يمكنك من تثبيت البرامج أما من خلال تنزيل الحزمة وتثبيتها بشكل مباشر وإما من خلال إضافة مستودعات وطلب التنزيل منها وأشهر هذه المستودعات الأن هو flathub لكنه ليس الوحيد لكنه الأشهر الأن .
    4. يمكن لأي شخص تحزيم أي برنامج من خلال flatpak وإنشاء مستودع خاص به على عكس snap المنافس من حيث أكثر اﻷهداف الذي سيجبرك التعامل مع شركة canonical لنشر برنامجك .
    5. بعض المتاجر مثل متجر جنوم gnome software أو متجر kde لديهم إمكانية لتثبيت و حذف وتحديث برامج flatpak بشكل رسومي بعيدا عن إستخدام اداة flatpak من سطر الأوامر .
    6. تحديث البرامج وال runtime في flatpak يتم تنزيل الفروقات فقط وحتى لو عرض في سطر الأوامر أو بشكل رسومي بالمتجر أنه سيتم تنزيل مثلا 400mb لتحديث runtime ما ,لكن ستجد أنه التحديث أحيانا سيقوم بتنزيل ملفات مثلا بحجم 1mb فقط .
    7. الاداة المسؤولة عن بناء حزم flatpak إسمها flatpak-builder مع العلم إذا أردت نشر برنامج خاصة بك على flathub سيتم البناء على سرفرات خاصة بهم ولديهم شروط للقبول وهذا أمر خاص بالقائمين على المستودع ولا دخل لها ب flatpak كتقنية حيث كثيرا ما يتم الخلط بين الإثنبن على العموم يقوم flatpak-builder بقراءة إستمارة مكتوبة عن طريق المحزم تحتوي معلومات عن البرنامج وكيف يتم بناءة وماذا يحتاج و...إلخ وهذه الإستمارة ستكون ملف json أو ملف YAML .
    8. يمكنك flatpak من إضافة المستودعات وتثبيت البرامج لكل المستخدمين أو فقط للمستخدم الخاص بك حيث يتم الإضافة والتثبيت في مجلد المنزل الخاص بك من خلال إضافة خيار user-- وعندها لن تحتاج إستخدام sudo لأن التثبيت في مجلد المنزل الخاص بك وليس بمكان عام لكل المستخدمين.
    9. يمكنك فلاتباك إن أردت من تثبيت البرامج باكثر من إصدار ومصدر حيث ممكن عتد التنزيل تحديد الإصدار وتحديد المصدر أي المستودع المراد التنزيل منه والمعمارية المطلوبة لكن إفتراضيا إذا لم يتم التحديد سيتم تنزيل اخر إصدرا مستقر متوفر غالبا يعبر عنه ب master أو main وسيخيرك إذا لم تحدد من أي مصدر تريد تنزيل البرنامج في حال كان متوفر باكثر من مستودع معرف عندك.
    10. يمكنك flatpak إذا صح التعبير من تصدير برنامجك لملف حزمة واحد bundle يمكنك نقله وتثبيته على أي توزيعة متوفر فيها flatpak من دون إستخدام المستودعات لكن غالبا ستحتاج على الأقل مستودع واحد أساسي الأفضل الأن مستودع flathub حيث يمكنك من تثبيت ال runtime المطلوبة في حال لم تكن مثبته على الجهاز .


    التعامل مع مستودع flathub .

    https://flathub.org/home

    لإضافة مستودع flathub للمستخدم الخاص بك وهو أمر تقوم به لمرة واحدة.
    كود:
    flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo --user
    الأن بعض إضافة المستودع المفروض من متجر gnome و kde أن يتعرفوا على هذا المستودع وتجد البرامج داخله ربما يحتاج الأمر restart بعد إضافة المستودع .

    أما من سطر الأوامر لنفترض تثبيت مصحف البشير ,وهو متوفر في مستودع flathub (لاحظ إستخدمت user-- لان مستودع flathub عندما أضفته من خلال الامر في الأعلى أضفته للمستخدم الخاص بي فقط وأيضا لاحظ لم أستخدم sudo ).
    كود:
    flatpak install flathub com.github.yucefsourani.albasheer-electronic-quran-browser --user
    برنامج أخر للتعديل على صلاحيات الوصول للبرامج المثبته من خلال flatpak .
    كود:
    flatpak install flathub com.github.tchx84.Flatseal --user
    ثم بعد نجاح التثبيت المفروض ان تجده في قائمة البرامج مع العلم هناك مشكلة في بعض التوزبعات أحيانا لا تظهر البرامج في القائمة بعد التثبيت وأسهل حل إعمل logout ثم login لتظهر أو restart.





    اضغط على الصورة لعرض أكبر.   الإسم:	188837711_5543382119066153_5813066351470488358_n.jpg  مشاهدات:	0  الحجم:	32.6 كيلوبايت  الهوية:	983566
    بالمناسبة يمكنك البحث من خلال flatpak ثم التثبيت من خلال تحدد id البرنامج وإسم المستودع المراد التنزيل منه في حالت ان البرنامج متوفر بأكثر من مستودع معرف عندك








    اضغط على الصورة لعرض أكبر.   الإسم:	189489757_5543387029065662_6257385589038510982_n.jpg  مشاهدات:	0  الحجم:	83.7 كيلوبايت  الهوية:	983567

    او البحث في متجر gnome وأختار flathub



    أخيرا لتأخذ فكرة هذا ملف إستمارة لبناء مصحف البشير وهو عبارة عن ملف json .
    https://github.com/flathub/com.githu...n-browser.json
    التعديل الأخير تم بواسطة yucef; الساعة 30-05-2021, 03:36 PM.
يعمل...
X