مدير الحزم

apt-get، أداة مساعدة CLI لتثبيت MediaWiki

مدير الحزم ، أو نظام إدارة الحزم ، هو برنامج يدعم تثبيت البرامج وترقيتها وتكوينها وإزالتها من النظام المضيف بطريقة متسقة. [ 1 ]

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

صُممت برامج إدارة الحزم للاستغناء عن الحاجة إلى التثبيت والتحديث اليدويين. وهذا مفيد بشكل خاص للمؤسسات الكبيرة التي تتكون أنظمة تشغيلها عادةً من مئات أو حتى عشرات الآلاف من الحزم المختلفة. [ 2 ]

تاريخ

كان برنامج SMIT (وبرنامج تثبيته الخلفي ) من IBM AIX أحد أوائل برامج إدارة الحزم . تم طرح SMIT مع نظام AIX 3.0 عام 1989. ظهرت برامج إدارة حزم مثل dpkg منذ عام 1994. [ 3 ] لم تكن برامج إدارة الحزم الأولى، التي ظهرت حوالي عام 1994، تدعم حل التبعيات تلقائيًا [ 4 ولكنها كانت قادرة على تبسيط عملية إضافة البرامج وإزالتها من النظام قيد التشغيل. [ 5 ]

بحلول عام 1995 تقريبًا، بدءًا من CPAN ، بدأت برامج إدارة الحزم في التعامل مع تنزيلات مستودعات الحزم، وحل التبعيات والتثبيت حسب الحاجة، مما سهّل تثبيت البرامج وإزالتها وتحديثها. [ 6 ]

الوظائف

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

حزمة البرامج هي ملف مضغوط يحتوي على برنامج حاسوبي بالإضافة إلى البيانات الوصفية اللازمة لتشغيله . قد يكون البرنامج عبارة عن شفرة مصدرية يجب تجميعها وبنائها أولاً. [ 7 ] تشمل البيانات الوصفية للحزمة وصف البرنامج ورقم إصداره والتبعيات.

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

تحديات المكتبات المشتركة

تتشارك أنظمة الحاسوب التي تعتمد على الربط الديناميكي للمكتبات ، بدلاً من الربط الثابت ، مكتبات تنفيذية لتعليمات الآلة عبر الحزم والتطبيقات. في هذه الأنظمة، تؤدي العلاقات المتضاربة بين الحزم المختلفة التي تتطلب إصدارات مختلفة من المكتبات إلى حالة تُعرف باسم " جحيم التبعيات" . في أنظمة مايكروسوفت ويندوز ، يُطلق على هذه الحالة أيضاً اسم "جحيم DLL" عند العمل مع المكتبات المرتبطة ديناميكياً. [ 8 ]

لقد حلت برامج إدارة الحزم الحديثة هذه المشاكل في الغالب من خلال السماح بالتثبيت المتوازي لإصدارات متعددة من المكتبات (مثل نظام Framework الخاص بـ OPENSTEP )، والتبعية من أي نوع (مثل الفتحات في Gentoo Portage )، وحتى الحزم التي تم تجميعها باستخدام إصدارات مختلفة من المترجم (مثل المكتبات الديناميكية التي تم إنشاؤها بواسطة مترجم Glasgow Haskell ، حيث لا يوجد ABI مستقر )، وذلك لتمكين الحزم الأخرى من تحديد الإصدار الذي يتم ربطها به أو تثبيتها عليه.

واجهات أمامية للحزم المُجمّعة محليًا

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

تتوفر أدوات لضمان دمج الحزم المُجمّعة محليًا مع نظام إدارة الحزم. بالنسبة لأنظمة التشغيل التي تعتمد على ملفات .deb و .rpm ، بالإضافة إلى نظام Slackware Linux ، يوجد CheckInstall ، أما بالنسبة للأنظمة القائمة على الوصفات مثل Gentoo Linux والأنظمة الهجينة مثل Arch Linux ، فيمكن كتابة وصفة أولًا، مما يضمن توافق الحزمة مع قاعدة بيانات الحزم المحلية.

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

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

المستودعات

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

قمع الترقية

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

  • يدعم yum قمع الترقية باستخدام الصيغة exclude=openoffice*[ 10 ]
  • pacman مع IgnorePkg= openoffice[ 11 ] (لمنع ترقية أوبن أوفيس في كلتا الحالتين)
  • يدعم كل من dpkg و dselect خاصية الإخفاء الجزئي من خلال علامة hold في تحديد الحزم
  • يقوم APT بتوسيع علامة الإيقاف من خلال آلية التثبيت، [ 12 ] ويمكن للمستخدمين أيضًا إدراج حزمة في القائمة السوداء [ 13 ].
  • يستخدم برنامج aptitude علامات الحفظ والمنع : [ 14 ]
    • خاصية الإيقاف المؤقت : تمنع ترقية الحزمة أو تغييرها أثناء عمليات التثبيت/الترقية
    • المنع : يمنع تثبيت حزمة أو إعادة تثبيتها
  • يدعم برنامج بورتاج خاصية كتم الصوت من خلال ملف تكوين package.mask

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

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

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

على الرغم من أن الأوامر خاصة بكل مدير حزم، إلا أنها قابلة للترجمة إلى حد كبير، حيث أن معظم مديري الحزم يقدمون وظائف متشابهة. يوفر موقع ويكي Arch Linux نظرة عامة شاملة على الأوامر. [ 15 ]

${PKG}أو %PKG%هو اسم الحزمة.
فعلAPT [ 16 ]DNF [ 17 ]باكمانزيبر [ 18 ]عملية نقل المعداتWinGet [ 19 ]مشروبات منزلية الصنعنيكسXBPS [ 20 ]
تثبيت الحزمةaptinstall${PKG}dnfinstall${PKG}pacman-S${PKG}zypperinstall${PKG}emerge${PKG}winget install %PKG%brewinstall${PKG}nix-env-i${PKG}xbps-install${PKG}
قم بإزالة العبوةaptremove${PKG}dnfremove${PKG}pacman-R${PKG}zypperremove${PKG}emerge-C${PKG}أوemerge--unmerge${PKG}winget uninstall %PKG%brewuninstall${PKG}nix-env-e${PKG}xbps-remove${PKG}
تحديث قاعدة بيانات البرامجaptupdate— (تلقائي) [ 21 ]pacman-Syzypperrefreshemerge--sync— (تلقائي)brewupdatenix-channel--upgradexbps-install-S
عرض الحزم القابلة للتحديثaptlist--upgradablednfcheck-updatepacman-Quzypperlist-updatesemerge-avtuDN--with-bdeps=y@worldأو ( هو اختصار لـ و هو اختصار لـ .)emerge-u--pretend@world-D--deep-u--updatewinget upgradebrewoutdated
nix-channel --upgrade && \ nix-env -u && \ nix-collect-garbage 
./xbps-srcupdate-check${PKG}(يتطلب مستودع void-packages)
تحديث الكلaptupgradednfupgradepacman-Syuzypperupdateemerge-u-D--with-bdeps=y@worldwinget upgrade --allbrewupgradenix-env-u&&nix-collect-garbagexbps-install-Su
عرض التبعيات غير المستخدمةaptautoremove--dry-rundnfrepoquery--unneededpacman-Qdtzypperpackages--unneededemerge-caDأوemerge--depclean--pretendغير متوفرbrewautoremove--dry-runغير متوفرxbps-remove-o
احذف التبعيات غير المستخدمةaptautoremovednfautoremovepacman-Rsn$(pacman-Qdtq)zypperremove-uemerge--depcleanغير متوفرbrewautoremove&&brewcleanupnix-collect-garbage-dxbps-remove-of
قم بإزالة الحزمة والتبعيات غير المستخدمةapt-getremove--auto-remove${PKG}dnfremove${PKG}pacman-Rs${PKG}zypperremove-u${PKG}emerge-c${PKG}أوemerge--depclean${PKG}winget uninstall %PKG%
brew uninstall ${ PKG } && brew autoremove 
nix-env-e${PKG}&&nix-env-uxbps-remove-R${PKG}

انتشار

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

برامج ومنصات مماثلة

فنيو التركيب

يُطلق على مدير الحزم غالبًا اسم مدير التثبيت ، مما قد يُسبب خلطًا بين مديري الحزم وبرامج التثبيت . وتشمل الاختلافات ما يلي:

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

أدوات أتمتة البناء

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

ومع ذلك، فإن كلا النوعين من الأدوات يشتركان في العديد من الخصائص:

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

تم تصميم بعض الأدوات، مثل Maak وAAP، للتعامل مع كل من البناء والنشر، ويمكن استخدامها كأدوات مساعدة لأتمتة البناء، أو مديري حزم، أو كليهما. [ 22 ]

متاجر التطبيقات

برنامج جنوم ، واجهة مستخدم رسومية GTK لـ PackageKit و Flatpak

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

غالبًا ما تعتمد برامج إدارة الحزم على مراجعة بشرية فقط للبرمجيات. وتعتمد العديد من متاجر التطبيقات، مثل متجر جوجل بلاي ومتجر تطبيقات أبل، بشكل أساسي على أدوات آلية لفحص التطبيقات؛ إذ يمكن للبرمجيات الخبيثة اجتياز هذه الاختبارات من خلال رصد وقت اختبار التطبيق، وتأخير النشاط الخبيث. [ 26 ] [ 27 ] [ 28 ] مع ذلك ، توجد استثناءات: فقاعدة بيانات حزم npm ، على سبيل المثال، تعتمد كليًا على مراجعة برمجياتها بعد النشر، [ 29 ] [ 30 ] بينما تخضع قاعدة بيانات حزم دبيان لعملية مراجعة بشرية شاملة قبل إدخال أي حزمة إلى قاعدة البيانات الرئيسية. وقد استغلت ثغرة XZ Utils سنوات من بناء الثقة لإدخال باب خلفي، والذي تم اكتشافه رغم ذلك أثناء وجوده في قاعدة بيانات الاختبار.

مديرو الحزم والتنسيقات الشائعة

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

يُعرف أيضًا باسم مدير مستودع الملفات الثنائية، وهو أداة برمجية مصممة لتحسين تنزيل وتخزين الملفات الثنائية، والقطع البرمجية، والحزم المستخدمة في عملية تطوير البرمجيات. [ 31 ] تهدف هذه الأدوات إلى توحيد طريقة تعامل المؤسسات مع جميع أنواع الحزم. فهي تمنح المستخدمين القدرة على تطبيق معايير الأمان والامتثال على جميع أنواع القطع البرمجية. وقد وُصفت أدوات إدارة الحزم الشاملة بأنها محور سلسلة أدوات DevOps. [ 32 ]

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

Synaptic ، واجهة مستخدم رسومية للعديد من مديري حزم لينكس

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

على سبيل المثال، يعتمد برنامج yum على rpm كخادم خلفي . ويُوسّع yum وظائف rpm بإضافة ميزات مثل سهولة تهيئة النظام لإدارة شبكة من الأنظمة. كمثال آخر، يُوفّر مدير حزم Synaptic واجهة مستخدم رسومية باستخدام مكتبة أدوات التغليف المتقدمة (apt)، والتي بدورها تعتمد على dpkg للوظائف الأساسية.

Alien هو برنامج يقوم بالتحويل بين تنسيقات حزم Linux المختلفة ، ويدعم التحويل بين حزم .rpm المتوافقة مع Linux Standard Base (LSB) ، و .deb ، وStampede (.slp)، و Solaris (.pkg)، و Slackware ( .tgz ، .txz ، .tbz، .tlz).

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

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

بحكم طبيعة البرمجيات الحرة والمفتوحة المصدر ، تتوفر الحزم المرخصة بتراخيص متشابهة ومتوافقة على العديد من أنظمة التشغيل. ويمكن دمج هذه الحزم وتوزيعها باستخدام أنظمة تغليف قابلة للتكوين للتعامل مع العديد من تركيبات البرامج وإدارة التبعيات والتعارضات الخاصة بكل إصدار. بعض برامج إدارة حزم البرمجيات الحرة والمفتوحة المصدر تُصدر كبرمجيات حرة ومفتوحة المصدر بحد ذاتها. يتمثل أحد الفروق الرئيسية بين إدارة الحزم في أنظمة التشغيل الاحتكارية، مثل Mac OS X وWindows، وتلك الموجودة في البرمجيات الحرة والمفتوحة المصدر، مثل Linux، في أن أنظمة البرمجيات الحرة والمفتوحة المصدر تسمح بتثبيت حزم الجهات الخارجية وترقيتها عبر الآلية نفسها، بينما تقتصر برامج إدارة الحزم في Mac OS X وWindows على ترقية البرامج التي توفرها Apple وMicrosoft على التوالي (باستثناء بعض برامج التشغيل الخارجية في Windows). تُضاف إمكانية الترقية المستمرة لبرامج الجهات الخارجية عادةً بإضافة عنوان URL للمستودع ذي الصلة إلى ملف تكوين إدارة الحزم.

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

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

على عكس مديري الحزم على مستوى النظام، يركز مديرو الحزم على مستوى التطبيق على جزء صغير من نظام البرمجيات. وعادةً ما يتواجدون ضمن شجرة دليل لا يديرها مدير الحزم على مستوى النظام، مثل c:\cygwin أو /opt/sw . [ 33 ] قد لا ينطبق هذا على المديرين الذين يتعاملون مع مكتبات البرمجة، مما قد يؤدي إلى تعارضات، حيث قد يدّعي كلا المديرين ملكية ملف ما، مما قد يعطل عمليات التحديث.

تأثير

علّق إيان مردوك قائلاً إن إدارة الحزم هي "أكبر تقدم منفرد قدمه لينكس للصناعة"، وأنها تُزيل الحدود بين أنظمة التشغيل والتطبيقات، وأنها تجعل "من الأسهل طرح ابتكارات جديدة [...] في السوق و [...] تطوير نظام التشغيل". [ 34 ]

يُعقد أيضاً مؤتمر لمطوري برامج إدارة الحزم يُعرف باسم PackagingCon. وقد تأسس عام 2021 بهدف فهم مختلف مناهج إدارة الحزم. [ 35 ]

انظر أيضاً

مراجع

  1. "ما هو مدير الحزم؟" . debian.org . مؤرشف من الأصل في 17 أكتوبر 2017. تم الاطلاع عليه في 19 ديسمبر 2018 .
  2. "توزيع البرمجيات" . ديل كايس. مؤرشف من الأصل في 3 أكتوبر 2015. تم الاطلاع عليه في 11 يوليو 2012 .
  3. "شفرة المصدر لبرنامج dpkg الإصدار 0.93.15" . مؤرشف من الأصل بتاريخ 2 أبريل 2015. تم الاطلاع عليه بتاريخ 19 ديسمبر 2018 .
  4. "تاريخ إدارة حزم أنظمة *nix" . ١٤ أغسطس ٢٠١٧. مؤرشف من الأصل في ٢٤ أكتوبر ٢٠٢١. تم الاطلاع عليه في ١٢ أكتوبر ٢٠٢١ .
  5. "مراجعة لإصدار InfoMagic الصادر في ديسمبر 1994" . مؤرشف من الأصل بتاريخ 29 أكتوبر 2021. تم الاطلاع عليه بتاريخ 12 أكتوبر 2021 .
  6. "الجدول الزمني للغة بيرل وثقافتها" . مؤرشف من الأصل في 11 يناير 2013. تم الاطلاع عليه في 29 أكتوبر 2021 .
  7. لودوفيك كورتيس، إدارة الحزم الوظيفية باستخدام Guix، مؤرشف في 15 مايو 2020 على Wayback Machine ، يونيو 2013، مدريد، ندوة Lisp الأوروبية 2013
  8. تاكر، كريس (15 مارس 2007). "أوبيوم: مدير تثبيت/إزالة الحزم الأمثل" (ملف PDF) . المؤتمر الدولي التاسع والعشرون لهندسة البرمجيات (ICSE'07) . جامعة كاليفورنيا، سان دييغو. ص 1. doi : 10.1109/ICSE.2007.59 . ISBN  978-0-7695-2828-1S2CID 1279451. مؤرشف (PDF) من الأصل بتاريخ 14 يونيو 2011. تم الاطلاع عليه بتاريخ 14 سبتمبر 2011 . 
  9. "مخططات تصنيف مستودعات لينكس" . braintickle.blogspot.com. ١٣ يناير ٢٠٠٦. مؤرشف من الأصل في ١١ أكتوبر ٢٠٠٧. تم الاطلاع عليه في ١ مارس ٢٠٠٨ .
  10. "تثبيت حزم RPM باستخدام yum في CentOS" . centos.org. مؤرشف من الأصل في 2 نوفمبر 2007. تم الاطلاع عليه في 1 مارس 2008 .
  11. 1 2 "صفحة دليل pacman(8)" . archlinux.org . مؤرشفة من الأصل في 31 أغسطس 2019. تم الاطلاع عليها في 1 مارس 2008 .
  12. "كيفية تثبيت إصدارات محددة من الحزم (معقد)" . debian.org. مؤرشف من الأصل في 14 نوفمبر 2019. تم الاطلاع عليه في 1 مارس 2008 .
  13. "تثبيت Apt لحظر حزمة" . مؤرشف من الأصل في 22 يوليو 2011. تم الاسترجاع في 19 أغسطس 2010 .
  14. "Aptitude - صفحة دليل لينكس" .
  15. "باكمان/روزيتا - آرتش ويكي" . wiki.archlinux.org . مؤرشف من الأصل في 20 نوفمبر 2016. تم الاطلاع عليه في 17 سبتمبر 2017 .
  16. "apt(8) — apt — Debian trixie — Debian Manpages" . manpages.debian.org . تم الاطلاع عليه بتاريخ 26 أبريل 2026 .
  17. "مرجع أوامر DNF" . dnf.readthedocs.io . تم ​​الاطلاع عليه بتاريخ 26 أبريل 2026 .
  18. "أرشيف: دليل Zypper (نسخة عادية) - ويكي openSUSE" . ويكي openSUSE . مؤرشف من الأصل بتاريخ 26 أبريل 2026. تم الاطلاع عليه بتاريخ 26 أبريل 2026 .
  19. "استخدم WinGet لتثبيت التطبيقات وإدارتها" . Microsoft Learn . تم الاطلاع عليه بتاريخ 29 أبريل 2026 .
  20. "دليل مدير حزم XBPS - Void Linux" . docs.voidlinux.org . مؤرشف من الأصل بتاريخ 23 يناير 2023. تم الاطلاع عليه بتاريخ 19 ديسمبر 2022 .
  21. "DNF وما يعادله من أوامر APT على فيدورا" . وثائق فيدورا . تم الاطلاع عليه بتاريخ 29 أبريل 2026 .
  22. إيلكو دولسترا، "دمج بناء البرمجيات ونشرها" . مؤرشف في 21 سبتمبر 2019 في Wayback Machine .
  23. "Brew هو بديل متجر تطبيقات macOS الذي لم تكن تعلم أنك بحاجة إليه" . www.msn.com . تم الاطلاع عليه بتاريخ 25 مايو 2024 .
  24. 1 2 كينج، بيرتل (17 مارس 2017). "مقارنة متاجر تطبيقات لينكس: أيها الأنسب لك؟" . MUO . تم الاسترجاع في 25 مايو 2024 .
  25. "ما هو مدير الحزم؟" . www.debian.org .
  26. باريت، برايان. "كيف تسللت 18 تطبيقًا خبيثًا إلى متجر تطبيقات أبل" . وايرد .
  27. ويتاكر، زاك (24 أكتوبر 2019). "ملايين المستخدمين قاموا بتنزيل عشرات تطبيقات أندرويد من متجر جوجل بلاي كانت مصابة ببرامج إعلانية خبيثة" . تيك كرانش .
  28. نيومان، ليلي هاي. "لا تقم أبدًا (أبدًا) بتنزيل تطبيقات أندرويد من خارج متجر جوجل بلاي" . وايرد .
  29. أوجاما، أندريس؛ دونا، كارل (2012). "تقييم أمن منصة Node.js" . المؤتمر الدولي لتكنولوجيا الإنترنت والمعاملات الآمنة لعام 2012. معهد مهندسي الكهرباء والإلكترونيات. ISBN 978-1-4673-5325-0تم الاطلاع عليه بتاريخ 22 يوليو 2016 .
  30. "قواعد سلوك npm: محتوى الحزمة المقبول" . تم الاطلاع عليه بتاريخ 9 مايو 2017 .
  31. واترز، جون ك. (8 سبتمبر 2015). "جيه فروج تُصدر مستودعًا عالميًا للقطع الأثرية" . مجلة ADT . مجلة اتجاهات تطوير التطبيقات. مؤرشف من الأصل في 2 مارس 2016. تم الاطلاع عليه في 19 فبراير 2016 .
  32. "نظرة عامة على نظام NuGet البيئي" . CodeProject.com . ١٨ أغسطس ٢٠١٣. مؤرشف من الأصل في ٥ يوليو ٢٠٢٠. تم الاطلاع عليه في ٦ فبراير ٢٠٢٠ .
  33. "فينك - الصفحة الرئيسية" . finkproject.org . مؤرشف من الأصل بتاريخ 18 أغسطس 2021. تم الاطلاع عليه بتاريخ 2 سبتمبر 2021 .
  34. "كيف غيّرت إدارة الحزم كل شيء" . ianmurdock.com. مؤرشف من الأصل في 23 فبراير 2009. تم الاطلاع عليه في 1 مارس 2008 .
  35. "مؤتمر PackagingCon 2021 - مؤتمر لمطوري برامج إدارة الحزم ومنشئي الحزم" . packaging-con.org . مؤرشف من الأصل في 2 سبتمبر 2021. تم الاطلاع عليه في 2 سبتمبر 2021 .