زايب - ويكيبيديا
نوع | |
---|---|
نظام التشغيل | |
النموذج المصدري | حقوق التأليف والنشر محفوظة [لغات أخرى] ![]() |
موقع الويب | en.opensuse.org… (الإنجليزية) ![]() |
لغة البرمجة | |
---|---|
الإصدار الأخير |
|
المستودع | |
الرخصة | |
الملفات المقروءة | حزمة ياست ورائية [لغات أخرى] ![]() |
زايب (بالإنجليزية: ZYpp; "Zen / YaST Packages Patches Patterns Products")[5] هو محرك إدارة حزم يُشغّل عددًا من تطبيقات لينكس الأخرى مثل ياست وزايبر وبكج كت لتوزيعتي [[أوبن سوزييي وسوزي لينكس إنتربرايز.[6] على عكس بعض مديري الحزم الأساسية الأخرى، فإنه يوفر حلّالًا للإرضاء لحساب اعتماديات الحزم.[7] يعد المشروع ضمن البرمجيات الحرة ومفتوحة المصدر، وتدعمه شركة سوزي، كما أنه مرخص بموجب بنود الإصدار الثاني لرخصة جنو العمومية أو ما يليه. بُرمج زايب بشكل أساسي بلغة البرمجة سي++.
زايبر (بالإنجليزية: Zypper) هو واجهة سطر الأوامر الأصلية لمدير الحزم زايب المستخدم لتثبيت البرمجيات وإزالتها وتحديثها والاستعلام عن حزم البرمجيات من الوسائط المحلية أو البعيدة (عبر الشبكة). أما نظيره الرسومي فهو وحدة مدير الحزم في ياست. وقد استخدم في نظام التشغيل أوبن سوزي منذ الإصدار 10.2 بيتا1. وفي إصدار أوبن سوزي 11.1، وصل زايبر إلى الإصدار 1.0. وفي الثاني من يونيو 2009، أعلنت توزيعة آرك لينكس (Ark Linux) أنها أكملت مراجعتها لمحللات الاعتمادية واختارت زايب وأدواته ليحل محل نظام أيه بي تي–آر بي إم [الإنجليزية] القديم،[8] لتكون بذلك أول توزيعة تقوم بهذه الخطوة. كما يُعد زايبر جزءًا من توزيعات لينكس المحمولة ميجو وسيلفش أو إس وتايزن.
التاريخ
[عدل]الغرض
[عدل]
zypper dup
وهو يعرض أحدث التحديثات المتوفرة لتنزيلهابعد استحواذها المتتالي على شركتي زيميان (بالإنجليزية: Ximian) وسوزي جي إم بي إتش (بالإنجليزية: SuSE GmbH) في عام 2003، قررت شركة نوفل دمج نظامي إدارة الحزم ياست وريد كاربت عبر اتباع نهج أفضل الحلول، حيث استخدما مديرا الحزم في آن حتى ذلك الحين. وبالنظر إلى أدوات المصادر المفتوحة الموجودة ومدى نضجها المتاح في عام 2005، لم تستوفِ أي منها المتطلبات، ولم تكن قادرة على العمل بسلاسة مع برمجيات البنية التحتية لإدارة لينكس الموجودة التي طورتها شركتا زيميان وسوزي، لذلك تقرر استخلاص أفضل الأفكار من القطع الموجودة والعمل على صياغة جديد. وكان مخططًا أن تكون المكتبة الناتجة ليبزايب (بالإنجليزية: Libyzypp) محرك إدارة البرمجيات لتوزيعات سوزي ومكون إدارة لينكس في مجموعة نوفل زينووركس للإدارة.
البدايات
[عدل]كان حلّال ليبزايب منقولاً من حلّال ريد كاربت، والذي كُتب لتحديث الحزم في الأنظمة المثبتة. أدى استخدامه لعملية التثبيت الكاملة إلى وصوله إلى حدوده القصوى، كما أدت إضافة امتدادات مثل دعم التبعيات الضعيفة والإصلاحات إلى جعله هشًّا وغير متوقع.[9] وعلى الرغم من أن النسخة الأولى من حلّال زايب عملت بشكل مُرضٍ على منتجات الشركة المؤسسية مع خادم زد إم دي (بالإنجليزية: ZMD) المقترن بها، إلا أنها أدت إلى إصدار أوبن سوزي 10.1 الذي صدر في مايو 2006 مع حزمٍ نظامية لا تعمل كما هو متوقع. في ديسمبر 2006، صحّح إصدار أوبن سوزي 10.2 بعض العيوب الموجودة في الإصدار السابق عبر استخدام النسخة المُنقّحة زايب 2. أزيل زد إم دي لاحقًا من الإصدار 10.3 وخصص فقط لمنتجات الشركة المؤسسية. وبينما قدمت النسخة زايب 3 لنظام أوبن سوزي مدير حزم جيدًا نسبيًا يُعادل مديري الحزم الآخرين الموجودين، إلا أنها عانت من بعض العيوب في تنفيذها مما حدّ بشكل كبير من أدائها من حيث السرعة.
دمج حلال مسألة قابلية الإرضاء المنطقية
[عدل]أحد المجالات التي احتاجت فيها مكتبة لبزايب إلى تحسينات كانت سرعة حلّال التبعيات. يجري تطوير libsolv وإصداره تحت رخصة بي إس دي المعدلة (ثلاثية البند).[10]
كانت المشاريع مثل OPIUM[11][12] و MANCOOSI[13] تحاول إصلاح مشكلات حل التبعيات باستخدام حلّال مسألة قابلية الإرضاء المنطقية، فالحلّالات التقليدية مثل أداة الحزم المتقدمة تُظهر أحياناً قصورًا غير مقبول. لذلك، تقرر دمج خوارزميات مسألة قابلية الإرضاء المنطقية في مكدس زايب؛ واستندت خوارزميات الحلّال المستخدمة على حلّال minisat الشهير.[14]
يرتكز تنفيذ حلّال مسألة قابلية الإرضاء المنطقية كما يظهر في إصدارة أوبن سوزي 11.0 على كتلتين رئيسيتين، لكنهما مستقلتان:
- استخدام نهج قاموس البيانات لتخزين واسترجاع معلومات الحزم والتبعيات. إذ أنشئت صيغة solv جديدة تخزن المستودع كقاموس للسلاسل النصية وقاموس للعلاقات ثم جميع تبعيات الحزم. تستغرق عملية قراءة ودمج مستودعات solv المتعددة بضعة أجزاء من الثانية فقط.
- استخدام نظام قابلية الإرضاء لحساب تبعيات الحزم. تعد مسألة قابلية الإرضاء المنطقية مسألةً مدروسة بشكل جيد مع توفر العديد من الحلّالات النموذجية. وهي سريعة جداً، إذ أن تعقيد حل الحزم منخفض جدًا مقارنة بالمجالات الأخرى التي تُستخدم فيها حلّالات مسألة قابلية الإرضاء المنطقية. كما أنها لا تحتاج إلى خوارزميات معقدة ويمكنها تقديم اقتراحات مفهومة عن طريق حساب الدليل على سبب كون المشكلة غير قابلة للحل.
بعد عدة أشهر من العمل، كانت نتائج الاختبارات المعيارية للإصدار الرابع من زايب المدمج مع حلّال مسألة قابلية الإرضاء المنطقية أكثر من مشجعة، مما جعل ياست وزايبر يتقدمان على مدراء الحزم الأخرين القائمة على مدير حزم آر بي إم من حيث السرعة والحجم.[15][16]
انظر أيضًا
[عدل]المراجع
[عدل]- ^ وصلة مرجع: https://api.github.com/repos/openSUSE/libzypp. الوصول: 30 يوليو 2018.
- ^ ا ب ج د ه و ز ح ط ي "The zypp Open Source Project on Open Hub: Languages Page". أهلوه. اطلع عليه بتاريخ 2024-05-02.
- ^ ا ب "Release 17.35.19". 22 يناير 2025. اطلع عليه بتاريخ 2025-01-29.
- ^ وصلة مرجع: https://github.com/openSUSE/libzypp/blob/master/COPYING. الوصول: 13 مارس 2021.
- ^ "Acronyms - openSUSE Wiki".
- ^ "Libzypp documentation". مؤرشف من الأصل في 2025-01-14.
- ^ "Libzypp project homepage". مؤرشف من الأصل في 2024-12-31.
- ^ "Another look at Linux packaging systems". يونيو 2009. مؤرشف من الأصل في 2025-01-27.
- ^ "Michael Schroeder, History of satsolver". غيت هاب. 26 نوفمبر 2021. مؤرشف من الأصل في 2022-08-20.
- ^ "libsolv on github". غيت هاب. 26 نوفمبر 2021. مؤرشف من الأصل في 2025-01-23.
- ^ Tucker، Chris؛ Shuffelton، David؛ Jhala، Ranjit؛ Lerner، Sorin (2007)، "OPIUM: OPtimal Package Install/Uninstall Manager" (PDF)، 29th International Conference on Software Engineering، ICSE'07، مؤرشف من الأصل (PDF) في 2009-02-19.
- ^ EDOS Project Workpackage 2 Team (مارس 2006)، "Report on formal management of software dependencies"، EDOS Project Deliverable Work Package 2، Deliverable 2، مؤرشف من الأصل في 2006-06-19، اطلع عليه بتاريخ 2009-06-06.
{{استشهاد}}
: صيانة الاستشهاد: أسماء عددية: قائمة المؤلفين (link) - ^ Le Berre، Daniel؛ Parrain، Anne (2008)، "On SAT Technologies for dependency management and beyond" (PDF)، ASPL 2008، Limerick، Mancoosi.org، مؤرشف من الأصل (PDF) في 2024-11-19.
- ^ "Minisat.se". مؤرشف من الأصل في 2025-02-20.
- ^ "yum and ZYpp speed / memory usage". 16 مايو 2008. اطلع عليه بتاريخ 2008-10-23.[وصلة مكسورة]
- ^ "Sneak Peeks at openSUSE 11.0: Package Management, with Duncan Mac-Vicar". 6 يونيو 2008. مؤرشف من الأصل في 2024-12-12. اطلع عليه بتاريخ 2017-10-15.
وصلات خارجية
[عدل]