# نظام إدارة الحزم

نظام إدارة الحزم ( (بالإنجليزية: Package Management System)‏ (اختصارا بـ PMS) هو مجموعة من الأدوات التي تقوم بتنصيب وتحديث إعداد وحذف حزم البرمجيات من الحاسوب بطريقة تلقائية. في لينكس والأنظمة الأخرى الشبيهة بيونكس تقوم بإدارة الآلاف من الحزم.
الحزم هي توزيعات من التطبيقات والبرمجيات وبيانات ميتاداتا مثل اسم البرنامج الكامل ووصف الغرض منه ورقم النسخة ووقائمة التبعيات اللازمة لتشغيل البرنامج بالشكل الصحيح. بعد التنصيب، تخزن البيانات الوصفية في قاعدة بيانات محلية للحزم.
يقدم نظام إدارة الحزم طريقة متسقة لتنصيب البرمجيات. يشير مصطلح نظام إدارة الحزم أحياناً إلى مدير الحزم Package Manager أو مدير تنصيب النظام System Install Manager.

## وظائف

من وظائف نظام إدارة الحزم تنظيم جميع الحزم المثبتة على النظام. واليك بعض وظائف نظام إدارة الحزم:
* يؤمن معرفة الحزم المركّبة وإزالتها وتحديثها والعلاقات بين الحزم وعند حصول تضارب فيما بينها.
* التحقق من صحة التوقيعات الرقمية، وسلامة الجزمة من تدخل طرف ثالث.
* توفير تحديث للبرمجيات لاحدث إصدار متوفر. الحزم الموجودة في المستودعات عادة.
* تنصيب التبعيات مع ضمان تنصيب ككافة الحزم التي تحتاجها.

### المستودعات

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

### ترقية

الترقية Upgrading هي التحديث لاصدارات احدث وأفضل، من أجل تحديث النظام أو لتحسين خصائصه، تكون النسخ الاحدث في العادة أفضل ة تضمن إصلاح العلل والمشاكل. لكن من الممكن ان تسبب مشاكل جديدة، واخطاء لايحمد عقباها. قد تؤدي إلى نتائج سيئة جدا مثل ضياع النظام.
تضمن عملية الترقية في لينكس عادة:
* ترقية النظام بشكل عام.
* ترقية النواة
* تحميل وتنصيب اخر التحديثات المتاحة، التي تضمن إصلاح علل ومشاكل وتحديثات أمنية.
* تحديثات لتثبيت مزايا جديدة متوفرة في نسخ احدث.
* تعريفات جديدة، أو تحسين التعريف القديم.
امثلة على مدراء حزم، يتكفلون برتقية بين الاصدارات المختلفة:
* ابت : الاداة المتكفلة بترقية، حذف، وتركيب.... الحزم من طرف التوزيعات المبنية على دبيان، مثل دبيان، اوبنتو، ومنت.
* يوم : الاداة المتكفلة بترقية، حذف، وتركيب.... الحزم من طرف التوزيعات المبنية على ردهات، مثل ردهات، فيدورا، وسنتوس.
* دانديفايد يم: هي تحديث على يَمْ، وهي أداة إدارة الحزم الافتراضية في فيدورا منذ فيدورا 22.
* باكمان : الاداة المتكفلة بترقية، حذف، وتركيب.... الحزم من طرف توزيعة آرتش لينكس.

## انظمة إدارة الحزم واساليب التحزيم

إن نظام إدارة الحزم يوفر عليك الكثير من الصداع، كل ما عليك هو طلب تركيب البرنامج وسيتكفل النظام من التحقق من المتطلبات والتبعيات التي يحتاجها البرنامج. ويتحقق أيضا من وجود إصدارات سابقة أو حزم يمكن ان يحدث تضارب فيما بينها، والتنسيق بين عدة برامج تطلب تشترك في حزمة معينة بدلا من تكون مكررة عشرات المرات. ويمكن لإدارة الحزم ان يرقي التوزيعة كاملة ومعظم الحزم الموجودة على الجهاز بكل سهولة. حتى من دون الحاجة لاعادة تشغيل الجهاز. ان وجود نظام إدارة الحزم لا يمنعك من تركيب برامج بطرق أخرى مثل الملف المصدر.
يوجد ثلاث أنواع منتشرة من أنظمة إدارة الحزم وهي:
* اسلوب التحزيم ار بي ام (rpm) (أي RedHat Package Mangment) متوفر في ريدهات والتوزيعات التي تستخدم نفس أسلوب التحزيم مثل ماندريفا واوبن سوزي...
* اسلوب التحزيم ديب (deb) (اختصار لأول ثلاثة حروف من اسم توزيعة دبيان), وجد أسلوب التحزيم هذا من اجل توزيعة دبيان، والهدف إنشاء برامج جاهزة. بعد ذلك استخدمته توزيعات عديدة وبالاخص التوزيعات التي بنيت على دبيان مثل توزيعة اوبنتو ومنت.
* أسلوب التحزيم تار جي زد (tgz) (المستخدم في توزيعة سلاكوير وتوزيعات أخرى). من أكثر أنظمة الحزم بساطة، يحتوي على نصوص برمجية وادوات تسهل عملية تركيب، حذف، وترقية... الحزم.
ملاحظات:
* لاستخدام نظام إدارة الحزم في توزيعتك، مثلا في تركيب الحزم تحتاج لأن تكون المستخدم الجذر.
* القاعدة العامة تقول: الحزم المصممة لتوزيعة معينة تعمل على أخرى، مثلا حزمة متوفرة لتوزيعة اوبنتو تعمل على توزيعة دبيان والعكس صحيح، لكن يمكن ان تواجهك مشكلة الاعتماديات أي أن تكون حزمة معينة تعتمد على إصدار من مكتبة معينة أحدث من التي لديك عندها عليك ترقية المكتبة فإذا قلنا أن هذه الحزمة مصممة لاوبنتو 10.10 وحاولت تركيبها على دبيان 5.0 ربما ستعطيك أنك بحاجة إلى مكتبة معينة، وأنت تملك نسخة أقدم من تلك النسخة المتوفرة، فعليه أنت تحتاج لترقية المكتبة اولا.
* في العادة لايهم نوع المعالج الذي لديك عند، لكن هناك حزم توفر نسخة مختلفة لكل معالج. فعندها عليك اختيار الحزمة المناسبة لمعالجك، لكي تعمل بالشكل المطلوب.
* حزم (src) تعمل على جميع المعالجات لانها حزم مصدرية وليست حزم جاهزة، في دبيان الحزم (all) لايهمها نوع المعالج، فهي تعمل عليها جميعها.
* i386 تعمل على كل عائلة انتل من هذا الطراز فصاعدا (بما في ذلك البنتيوم). i586 لا تعمل إلا على البينتوم فصاعدا.

### حزم مصدرية

كانت البرامج سابقا توزع على شكل ملف مصدري، مجرد ارشيف مضغوط عادة بـ tgz. تحتاج هذه البرامج لعملية بناء من المصدر، وتحتاج وقت أكثر من نظيراتها البرامج الجاهزة، في التنصيب، وخبرة في سطر الاوامر.
تحتاج لتركيب البرنامج ان تفك ضغط الارشيف، وتذهب لملف عادة يكون اسمه اقراني (إنجليزية: readme) أو تنزيل (إنجليزية: install), ومعرفة ما هي الاوامر التي احتاجها، واعتماديات البرنامج التي يحتاجها البرنامج لكي يعمل بالشكل السليم. نظريا تكون البرامج التي تركب من حزم مصدرية اسرع وكانها صممت خصيصا لهذا الجهاز.

### حزم tgz

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

# مدراء حزم مختلفون

| التوزيعة | مدير الحزم | واجهات | المثبت | أسلوب التحزيم |
| دبيان /اوبنتو/منت | APT | ابتتيوود/ سينابتك/ اديبت | DPKG | DPKG |
| ردهات /فيدورا /سينتوس | yum | yumex | RPM | RPM |
| اوبن سوزي | ZYpp /سمارت | ياست | RPM | RPM |
| ماندريفا | urpmi | GURPMI/ rpmdrake | RPM | RPM |
| جنتو | بورتاج | | | ebuild/emerge |
| فري بي ‌إس ‌دي/ نت بي إس دي/ أوبن بي إس دي | نظام المنقولات (ports) | pkgfe/ portsman/ portbrowser/ bpm/ barry/ kports/ (FreeBSD) | ports | tarball |
| باردوس | PiSi | Package Manager | PISI | بيسي |
| ارش | pcman | | | |
| سلاكوير | slackpkg | | | tgz /gzip /tar |
| بوبي لينكس | PETget | | | |
| CRUX Linux | pkgutils | | | |

## مراجع

* ↑ "How to keep specific versions of packages installed (complex)". debian.org. مؤرشف من الأصل في 2006-06-13. اطلع عليه بتاريخ 2008-03-01.
* ↑ Chris، Tucker (15 مارس 2007). "Optimal Package Install/Uninstall Manager" (PDF). UC San Diego: 1. مؤرشف من الأصل (PDF) في 2017-12-07. اطلع عليه بتاريخ 2011-09-14. {{استشهاد بدورية محكمة}}: الاستشهاد بدورية محكمة يطلب |دورية محكمة= (مساعدة)
* ↑ Functional Package Management with Guix, June 2013, Madrid, European Lisp Symposium 2013 ; نسخة محفوظة 06 سبتمبر 2014 على موقع واي باك مشين.
* بوابة برمجة الحاسوب
* بوابة برمجيات
* بوابة برمجيات حرة
* بوابة تقانة المعلومات
* بوابة علم الحاسوب
* بوابة لينكس