بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
أول تجربة لي على flatpak .
أريد ان أوضح انه لا يوجد إلى الأن الكثير من البرامج تم تحزيمها لتعمل من خلال flatpak هي برامج معدودة جدا وأغلبها للمطورين لإختبار تطبيقاتهم الجديدة وأريد ان أوضح أيضا أني لا اعلم الكثير عنه فقط بعض التجارب لهذا الخطأ وارد.
1-بنية flatpak وبعض الشرح عنه ستتوضح الأمور أكثر أثناء التطبيق العملي.
-أولا بشكل بسيط flatpak على ما أظن بدأ تطويره في مشروع gnome كان هدفه إختبار التطبيقات قيد التطوير في بيئة معزولة sandbox عن النظام المضيف ماذا يعني هذا الكلام بشكل بسيط سيأتي التطبيق محزم معه كل ملفاته التي يحتاجها يعني سيأتي مع إعتمادياته كاملة لكن في بيئة معزولة داخل صندوق sandbox لا يمكنه أن يأثر على النظام المضيف أي نظامنا الذي نعمل منه ويمكن لمن يقوم بتحزيمة وضع ملف الشروط مثل أي الخدمات التي ممكن للبرنامج الوصول إليه أو مثلا حسب ما فهمت ممكن أيضا أن نحدد له ملف أو مجلد ممكن أن يتصرف به خارج sandbox ,ملاحظة ممكن تنزيل وتشغيل ذات البرنامج بأكثر من إصدار .
-ثانيا لتنزيل برنامج من الإنترنت remotely أي من مكان بعيد شيء كإستخدام أي مدير حزم أي التنزيل سيتم من مكان بعيد من خلال الإنترنت, هنا كما أي مدير حزم نحتاج إضافة مستودع هذا المستودع بشكل إفتراضي سيظهر لكل المستخدمين في النظام وسيحفظ إعداداته في var/lib/flatpak/repo/ و ممكن ان نجعله يظهر للمستخدم فقط من خلال إضافة خيار user-- وسيتم حفظ إعدادات المستودع في مجلد مثلا للمستخدم عندي في home/youcef/.local/share/flatpak/repo/ كل مستودع في هذا المجلد لن يظهر إلا لمستخدم youcef .
-ثالثا كما المستودعات الملفات المعزولة للبرامج ذات الشيء لكل المستخدمين سيتم حفظ ملفات البرامج في مجلد var/lib/flatpak/app/ ولمستخدم واحد من خلال خيار user-- مثلا عندي سيتم حفظ ملفات البرامج في home/youcef/.local/share/flatpak/app/ .
-رابعا كما نعرف لكل مستخدم إعدادات خاصة للبرامج يكونو في مجلد المنزل الخاص به مثلا عندي الإعدادات في مجلد home/youcef/.config/ , أيضا لهذه البرامج المعزولة أيضا ملفات إعادادت تكون في مجلد المنزل الخاص بالمستخدم مثلا عندي home/youcef/.var/app/ .
-خامسا أثناء القراءة عن flatpak ستواجه مصطلحين runtime و app .
الاول runtime بشكل بسيط لنفترض أن التطبيقات applications هي أجزاء من السيارة و runtime هي هيكل السيارة أي الأساس.
مثل بسيط إذا اردت تنزيل أي تطبيق من مشروع gnome مثلا برنامج gedit وcalculator تحتاج أولا لمرة واحدة تنزيل runtime الخاص يجنوم وممكن أن يكون أكثر من runtime على حسب البرنامج ماذا يطلب ثم بعدها تقوم بتنزيل أي تطبيق من مشروع جنوم .
ملاحظة الruntime ينزل مرة واحدة وتتشاركه كل البرامج التي تحتاجه يعني لن نحتاج تنزيله لكل برنامج على حدى مثال لنفترض نريد تنزيل gedit وcalculator نقوم بتنزل gnome runtime مرة واحدة ويتم مشاركته بين الإثنين .
2-بعض التطبيق العملي .
-أولا تثبيت flatpak و شيء لن نحتاجه في الشرح إسمه flatpak-builder لكن لربما تابعنا شرح يحتاجه يكون جاهز.
sudo dnf install flatpak flatpak-builder
-ثانيا ساقوم بتنزيل gedit و calculator كما في الشرح في هذا الربط في الأسفل .
http://flatpak.org/#users
أول خطوى تنزيل runtime الخاص بجنوم أولا نقوم بتنزيل ملف التحقق ثم نضيف المستودع الذي يحتوي runtime و أيضا نضيف مستودع أخر الذي يحتوي البرامج .
cd && wget https://sdk.gnome.org/keys/gnome-sdk.gpg
sudo flatpak remote-add --gpg-import=gnome-sdk.gpg gnome https://sdk.gnome.org/repo
sudo flatpak remote-add --gpg-import=gnome-sdk.gpg gnome-apps https://sdk.gnome.org/repo-apps
كما ذكرت سابقا لإضافة المستودع للمستخدم الخاص بنا نضيف خيار user-- وعندها نلاحظ اننا لسنا بحاجة لأمر sudo وسأستخدم هذه الطريقة في الشرح.
cd && wget https://sdk.gnome.org/keys/gnome-sdk.gpg
flatpak remote-add --gpg-import=gnome-sdk.gpg gnome https://sdk.gnome.org/repo --user
flatpak remote-add --gpg-import=gnome-sdk.gpg gnome-apps https://sdk.gnome.org/repo-apps --user
الان كيف تم الأمر .
أولا قمنا بتنزيل ملف التحقق gpg في المجلد الذي نعمل منه الملف إسمه gnome-sdk.gpg ,لن أدخل بتفاصيله لأنه ليس موضوعنا .
ثانيا إضافة المستودعات .
1-نكتب أمر flatpak .
2-أمر remote-add يعني إضافة مستودع بعيد أو شيء كهذا.
3-أمر gpg-import إضافة المفتاح الذي قمنا بتنزيله .
4-نضع إسم للمستودع حتى نستطيع التعامل معه نلاحظ إسم المستودع لruntime هو gnome وإسم المستودع للبرامج هو gnome-apps .
5-رابط المستودع .
6-كما ذكرت ممكن إضافة خيار user-- ليتم حفظ المستودع في مجلد المنزل الخاص بنا وبالتالي نحن فقط يمكن التعامل مع هذه المستودعات .
-ثالثا تثبيت rumtime gnome ملاحظة قد يكون حجم التنزيل كبير قليلا .
flatpak install gnome org.gnome.Platform 3.20 --user
1-أمر flatpak .
2-أمر التثبيت install .
3-إسم المستودع الذي نريد التنزيل منه .
4-إسم ال runtime و هو خاص بجنوم .
5-رقم الإصدار 3.20 .
6-خيار user-- سبق وشرحته .
-رابعا تثبيت gedit و calculator .
أولا إستعراض البرامج الموجود في مستودع gnome-apps ونلاحظ كما في الصورة في الأسفل إذا كان المستودع تمت إضافته للمستخدم يجب أن نضيف user-- حتى يبحث عنه في مجلد المنزل الخاص به بالتحديد مثلا عندي في home/youssef/.local/share/flatpak/repo/ , كما ذكرت في أول الشرح إذا لم نكتب user-- سيبحث عن المستودع في var/lib/flatpak/repo/ .
ثانيا تثبيت gedit و calculator .
1-أمر flatpak .
2-أمر التثبيت install .
3-إسم المستودع الذي نريد التنزيل منه وهنا للبرامج إسمه gnome-apps .
4-إسم البرنامج أو التطبيق .
5-رقم الإصدار هنا إخترنا كلامة stable أي أخر إصدار مستقر متوفر .
6-خيار user-- سبق وشرحته .
ثالثا لتشغيل أي منهم نبحث عنهم في قائمة البرامج إذا لم نجده نكتب مثلا .
flatpak run org.gnome.gedit
flatpak run org.gnome.Calculator
هذا ليس كل شيء هذا مجرد مدخل حيث ممكن إضافة مستودع ل runtime ثم تثبيته ثم تنزل ملف البرنامج بشكل يدوي مثال عن libreoffice في الرابط في الأسفل ,لا ننسى قراءة الملاحظات .
أخيرا لمزيد من المعلومات نكتب كما في الأسفل ونطلع على الروابط في الأسفل .
flatpak --help
man flatpak