بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
لنأخذ مثال فيدورا و Dnf .
1- يقوم مدير الحزم Dnf بتثبيت حزم rpm المتوفرة في المستودعات المعرفة عنده وأيضا ممكن تمرير حزمة rpm بشكل يدوي وفردي , هذه الحزم ممكن أن تكون برنامج أو تعريف أو مكتبة برمجية أو مثلا ثيمات أو أي شيء تم تحزيمه بصيغة rpm .
2- المتجر من أشهرهم gnome-software ويعرف أيضا ببساطة ب Software و أيضا متجر kde وإسمه Discover .
الهدف الأساسي من المتجر هو تثبيت البرامج فقط وذلك من خلال المستودعات المعرفة عنده والبيانات التي وفرتها التوزيعة أو اي جهة أخرى مثلا مستودعات rpmfusion في حالة فيدورا , هذه البيانات هي ما يسمى البيانات الفوقية metadata ,وهي في حالتنا هنا تتضمن بيانات مثل لقطات الصور عن البرامج Screenshots و تعريف بسيط عنه و نوع الرخصة و...إلخ أي ما يظهر في المتجر عادتا من صور ومعلومات .
يتميز أيضا المتجر أنه قد يحتوي على إضافات plugins للتعامل و تثبيت أنواع حزم أخرى مثل flatpak و snap أيضا على حسب المستودعات المعرفة في النظام .
قد يتميز أيضا المتجر مثلا في فيدورا ممكن ترقية فيدورا للإصدار الأعلى بشكل رسومي من دون الدخول في الأوامر النصية وهي تعمل بأكثرية الأحيان بشكل جيد في حال لم يتم العبث كثيرا في المستودعات وإضافة مستودعات عشوائية لا تناسب فيدورا أو الإصدار الذي تعمل منه .
أي الهدف من المتجر هو توفير شيء مثل Google Play في Android و App Store في أجهزة Apple .
موضوع للتكملة :
كيف يحصل متجر جنوم على معلوماته عن البرامج ؟
ما هي الحزمة وإسمها بالإنكليزي package ؟
بشكل بسيط ملف مضغوط يحتوي ملفات البرنامج ومعلومات عنه مثل ما يحتاجه من برامج أو مكتبات برمجية أخرى ليعمل و إسمه و تعريف عنه و رخصته و...إلخ وأين يجب أن توضع ملفاته عند تثبيته و هذه الأشياء ...إلخ (في حالة flatpak وsnap ربما يحتاج الأمر مراجعة لكن لا مجال لتعقيد الأمر أكثر) .
ما هو المستودع ويسمى بالإنكليزي repository؟
بشكل بسيط مجلد على جهاز بعيد يسمى سرفر , يحتوي المستودع على الحزم و يحتوي أيضا metadata عن هذه الحزم مثلا ما هي الحزم المتوفرة في المستودع وما هو إصداراها و ...إلخ
(كل مستودع يتم تعريفه على النظام غالبا من خلال ملفات نصية توفر معلومات عنه مثل عنوانه و...إلخ مثلا في dnf الملفات تنتهي بالاحقة repo. في هذا المسار etc/yum.repos.d/ و في debian و ubuntu ملفات sources في etc/apt/ وهكذا كل مدير حزم له أماكن محددة ...إلخ )
هل المستودع مشترك بين كل التوزيعات ؟
على حسب نوع التحزيم في حالة flatpak وsnap مستودعات flatpak وsnap مبدئيا يعملوا على كل التوزيعات بشكل مشترك .
حزم مثل dep و rpm و...إلخ كل مستودع موجه لتوزيعة معينة وما بني عليها حتى كل إصدار له مستودع خاص حتى لو كان لذات التوزيعة .
خلط الأمور في بعضها بكل بساطة يعني ضياع النظام وإنهياره خاصة إذا كان المستودع المضاف والغير مناسب يحتوي برمجيات كثيرة وأساسية للنظام قد تقوم بإستبدال برمجيات النظام المتناغمة مع بعضها بإصدرارات أصغر أو أكبر غير متوافقة وغير متجانسة لأن النظام أساسا عبارة عن مجموعة كبيرة من حزم البرمجيات المثبته المتكاتفة وبإصدارات متجانسة ,تخيل مثلا أن تضع محرك جرار في سيارة صغيرة أي أن تضع شيء ما بغير محله أو بغير زمانه .