logo

مدير حزمة لينكس

مقدمة

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

تتضمن الحزم بيانات وصفية مثل اسم البرنامج، وصف الهدف، والمجموع الاختباري (يفضل استخدام دالة تجزئة تشفير)، د قائمة التبعية، البائع، و رقم الإصدار ضروري لتشغيل البرنامج بشكل صحيح.

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

وظائف مدير الحزم

يمكن تعريف حزمة البرامج بأنها ملف الأرشيف الجمع بين برنامج كمبيوتر والبيانات الوصفية الأساسية للتطوير. يمكن أن يكون برنامج النظام ضمن الكود المصدري الذي يجب إنشاؤه وتجميعه أولاً.

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

ال نظام إدارة الحزم يحتوي على بعض النموذجية المهام والتي تم ذكرها أدناه:

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

الواجهات الأمامية للحزم المترجمة (محليًا)

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

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

slf4j مقابل log4j

هناك بعض الأدوات الموجودة للتأكد من أن حزم الترجمة (محليا) تم تطويرها مع إدارة الحزم.

التحقق من التثبيت متاح ل دورة في الدقيقة أو التوزيعات المستندة إلى الملفات ‎.deb و سلاكوير لينكس أيضًا. ل هجين أنظمة مثل آرتش لينكس و الأنظمة القائمة على الوصفات يحب جنتو لينكس, من الممكن تحديد وصفة في البداية، والتي تؤكد بعد ذلك أن الحزمة تناسب قاعدة بيانات الحزمة المحلية.

تحديات المكتبات الموزعة

تقوم أنظمة الكمبيوتر المختلفة التي تعتمد على ربط المكتبة الديناميكي، بدلاً من ربط المكتبة الثابتة، بتوزيع مكتبات تعليمات الآلة (القابلة للتنفيذ) عبر التطبيقات والحزم.

في هذه الأنواع من الأنظمة، تؤدي العلاقات النموذجية بين الحزم المميزة التي تحتاج إلى مكتبة إلى إصدار تحدي يسمى 'جحيم التبعية'.

ومن المعروف أيضا باسم 'DLL الجحيم' على Microsoft Windows عند التعامل مع المكتبات المرتبطة ديناميكيًا. تعد الإدارة الجيدة للحزم أمرًا بالغ الأهمية لهذه الأنظمة.

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

صيانة التكوين

تمثل ترقيات ملف التكوين مشكلة خاصة مع ترقيات البرامج. على الأقل في نظام Unix، نظرًا لأن مديري الحزم نشأوا كامتداد لأداة أرشفة الملفات.

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

ترقية القمع

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

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

على سبيل المثال:

yum يدعمه بـ استبعاد=مكتب مفتوح* بناء الجملة

بكمن مع بناء الجملة تجاهل = openoffice (في كلتا الحالتين، لمنع ترقية openoffice)

يدعمه dselect وdpkg جزئيًا من خلال علامة الانتظار ضمن تحديدات الحزمة.

الكفاءة لديها 'حرم' و 'يمسك' أعلام.

يدعمه portage من خلال ملف التكوين، على سبيل المثال، package.mask.

تقوم APT بتوسيع العلم، على سبيل المثال، يمسك بواسطة المجمع 'تثبيت' الطريقة (يمكن للمستخدمين إدراج الحزمة في القائمة السوداء أيضًا).

المستودعات

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

تخطي القائمة

إزالة الحزمة المتتالية

يتم تسهيل عدد قليل من جوانب إدارة الحزم الأكثر تطوراً 'إزالة الحزمة المتتالية' ، حيث تتم أيضًا إزالة كل حزمة تعتمد على الحزمة الوجهة وكل حزمة تعتمد عليها الحزمة الوجهة.

مقارنة الأوامر

ومع ذلك، فإن الأوامر فريدة لجميع مديري الحزم المحددين. هذه الأوامر قابلة للترجمة إلى حد كبير لأن معظم مديري الحزم يسهلون نفس الوظائف.

انتشار مدير الحزم

أصبح مديرو الحزم مثل dpkg متاحين منذ عام 1994. وتعتمد توزيعات Linux المختلفة الموجهة للحزم الثنائية بشكل كبير على نظام إدارة الحزم بسبب وسائلها الرئيسية لصيانة البرامج وإدارتها.

تعتمد العديد من أنظمة تشغيل الأجهزة المحمولة مثل Windows Phone وiOS (مثل Unix) وAndroid (المستند إلى Linux) تقريبًا على متجر التطبيقات الخاص بالمورد. ومن ثم، يستخدمون نظام إدارة الحزم الخاص بهم (مخصصًا).

مقارنة مع المثبتات

في كثير من الأحيان، يُعرف مدير الحزم باسم 'مدير التثبيت'. يمكن أن يسبب ارتباكًا بين المثبتين ومديري الحزم. بعض الاختلافات الرئيسية مذكورة أدناه:

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

مقارنة مع فائدة الأتمتة

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

عادةً، يقوم مدير الحزم الذي يعمل لاحقًا على عدد قليل من الأنظمة الأخرى بتنزيل تلك الحزم القابلة للتنفيذ (الثنائية المعدة مسبقًا) على الإنترنت ثم يقوم بتثبيتها.

على الرغم من أن كلا النوعين من الأدوات يتضمنان عدة عوامل مشتركة مذكورة أدناه:

  • يتم تطبيق الفرز الطوبولوجي للرسم البياني للتبعية داخل مدير الحزم للتعامل مع التبعيات بين العديد من المكونات الثنائية.
  • كما يتم تطبيقه داخل مدير الإنشاء للتعامل مع التبعية بين العديد من مكونات المصدر.
  • توفر ملفات Makefiles المختلفة دعمها، وليس فقط إنشاء الملفات التنفيذية.
  • كما أنها تدعم تثبيت، باستخدام make install.
  • يدعم جميع مديري الحزم ترجمة الكود المصدري (الذي يمكن قراءته بواسطة الإنسان) إلى ملفات تنفيذية ثنائية ثم تثبيته للتوزيع المستند إلى المصدر مثل Homebrew وSorcery وPortage وما إلى ذلك.

بعض الأدوات مثل أ-أ-ب و يصنع تم تطويرها لإدارة كل من النشر والبناء. ويمكن أيضًا استخدامها إما كمدير للحزم أو كأداة مساعدة لأتمتة البناء أو كليهما.

مديرو الحزم الأساسية وتنسيقاتهم

مدير الحزم العالمي

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

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

مدير حزمة لينكس

أنظمة البرمجيات مفتوحة المصدر والحرة

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

يمكن توزيع هذه الحزم ودمجها باستخدام أنظمة تعبئة معقدة داخليًا وقابلة للتكوين لإدارة العديد من التعارضات والتبعيات الخاصة بالإصدار وتباديل البرامج.

أيضًا، يتم نشر عدد قليل من أنظمة التعبئة والتغليف للبرمجيات مفتوحة المصدر والحرة كبرمجيات مفتوحة المصدر ومجانية.

أحد الاختلافات بين إدارة الحزم في أنظمة التشغيل مثل Windows وMac OS X وتلك الموجودة في البرامج مفتوحة المصدر والمجانية، مثل Linux هو أن أنظمة البرامج مفتوحة المصدر والمجانية تسمح بترقية حزم الجهات الخارجية وتثبيتها من خلال آلية مماثلة . حيث أن العديد من مديري الحزم لنظامي التشغيل Windows وMac OS X سيقومون بترقية البرامج المقدمة من Microsoft وApple على التوالي.

تتم إضافة القدرة على ترقية برامج الطرف الثالث بشكل مستمر عن طريق تضمين عنوان URL للمستودع المقابل في ملف التكوين الخاص بإدارة الحزمة.

تنسيقات الحزمة

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

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

مثال:

  1. yum يعتمد على دورة في الدقيقة كواجهة خلفية. يقوم Yum بتطوير وظائف الواجهة الخلفية عن طريق إضافة جوانب مثل التكوين البسيط للحفاظ على شبكة النظام.
  2. يوفر مدير الحزم المتشابك واجهة المستخدم الرسومية من خلال تطبيق مكتبة أداة التغليف المتقدمة التي تعتمد على dpkg.

كائن فضائي يمكن تعريفه على أنه برنامج يترجم بين تنسيقات حزم Linux المميزة. إنه يدعم التحويل بين سلاكوير (.tgz، .tlz، .tbz، .txz) الحزم, حزم Solaris (.pkg)، وStampede (.slp)، و.deb، و.rpm، و قاعدة لينكس القياسية متوافق مع (LSB).

في العديد من أنظمة تشغيل الأجهزة المحمولة مثل تطبيقات جوجل يستخدم تنسيق الحزمة الخاص بـ حزمة تطبيقات أندرويد (باختصار APK ) بينما ال متجر ويندوز يستخدم صيغ XAP و APPX. كلاهما متجر ويندوز و تطبيقات جوجل تحتوي على مديري الحزم مسمى.

مديرو الحزم على مستوى التطبيق

يوجد عدد قليل من مديري الحزم (الوظائف الإضافية) لأنظمة تشغيل لغات البرمجة وبقدرات مقيدة حيث يحتاج المطورون إلى المكتبات الحالية. يركز مديرو الحزم على مستوى التطبيق على الجزء الصغير من نظام البرنامج على عكس مديري الحزم على مستوى النظام.

عادةً ما يتواجدون في شجرة الدليل. لا يتم تنظيمه بواسطة مدير الحزم على مستوى النظام مثل /usr/local/fink أو ج:سيجوين. على الرغم من أنه قد لا يكون هذا هو الشرط لمدير الحزم الذي يعمل مع مكتبات البرمجة، مما يتسبب في حدوث تعارض محتمل حيث قد يقوم كل من مديري الحزم بإيقاف الترقيات وطلب 'ملك' الملف.