For faster navigation, this Iframe is preloading the Wikiwand page for ZYpp.

ZYpp

ZYpp
ZYpp
当前版本
  • 17.35.4 (2024年7月23日;稳定版本)[1]
编辑维基数据链接
原始码库 编辑维基数据链接
编程语言C++
操作系统Linux
类型软件包管理系统
许可协议GNU通用公共许可证
网站The LibZYpp Portal

ZYpp (或称libzypp) 是一个软件包管理引擎,通常在openSUSE/SUSE Linux EnterpriseYaST、Zypper或PackageKit为前端使用[2]。它提供一个强力的可满足性求解器来计算软件包相依性,也提供了一组方便的软件包管理API[3]。它是一个由Novell所赞助的开放原始码且为自由软件的项目,采用GNU通用公共许可证第二版或更新许可。

Zypper为ZYpp软件包管理器原生的命令行界面前端,可用以安装、移除、升级及查询本机或远程(通常为网络)媒体的软件包。它的图形等价接口为YaST软件包管理器模块。它在openSUSE上于版本10.2 beta1开始使用。在openSUSE 11.1上,Zypper发布了1.0版。2009年6月2日,Ark Linux宣布其已经完成对其相依性求解器的审阅,并选择ZYpp及其前端接口来取代老化的apt-rpm[4],并且是第一个这么做的Linux发行版。Zypper也被MeeGoSailfish OSTizen等移动操作系统采用。

openSUSE的开放构建服务亦提供一些openSUSE官方所没有的软件。

历史

[编辑]

目的

[编辑]

在2003年连续收购了Ximian公司[5]SUSE公司[6]后,Novell决定要合并YaSTRed Carpet英语Red Carpet (software)两个软件包管理器。在2005年,观察了其他的开源工具在当时的成熟度后,Novell公司觉得都不足以符合他们想要可以与已有的由Ximian公司及SUSE公司开发的Linux管理系统一起运作的要求,所以他们决定开发一个新的软件包管理器。Libzypp就是最后开发出来的函数库,目标是成为SUSE发行版的软件管理引擎,以及Novell ZENworks套装的Linux管理组件。

早期

[编辑]

Libzypp的求解器是Red Carpet求解器的移植,其被编写用来在安装好的系统中升级软件包[7]。虽然第一版ZYpp的求解器与ZMD守护进程在企业产品上运行的很好,但它导致了2006年5月发布的openSUSE 10.1有系统软件包无法运作。2006年12月发布的openSUSE 10.2修正了先前版本的一些问题,并将ZYpp升级至第二版。ZMD则于10.3版中移除,只在企业版产品中保留。虽然在openSUSE中的ZYpp第三版是相对比较好的软件包管理器,但与其他软件包管理系统而言,它存在一些缺陷,从而限制了它的速度表现。

SAT求解器集成

[编辑]

libzypp其中一个需要改进的地方是相依性求解器的速度。

像OPIUM项目[8][9]MANCOOSI英语MANCOOSI[10]这些尝试修复SAT求解器的一个相依性求解问题的项目。像是APT有时可能会出现一些无法接受的缺陷。基于计算复杂性理论的SAT求解器,与传统求解器,如APT的运作方式不同[11]。它决定将SAT算法集成到ZYpp堆栈中;其求解器是基于minisat求解器[12]。 在openSUSE 11.0中的SAT求解器是基于两个主要且独立的区块:

  • 使用数据字典来存储及检查软件包的相依性资讯。新的求解格式被建立,用来存储包库作为字符串字典,关系字典以及所有软件包的相依性。读取及合并多个求解库只需要很短的时间。
  • 使用可满足性英语satisfiability来计算软件包相依性。布尔可满足性问题提供许多示例求解器,并已经过长久研究;它相当快,因为相较其他使用SAT求解器的领域来说,软件包相依性的复杂度较低。此外,它不需要复杂的算法,且在计算无法解决的问题时可以提供可理解的建议。

经过几个月的工作,集成了SAT求解器的第四版ZYpp在基准测试上获取了不错的成绩,让YaST及Zypper比其他基于RPM的软件包管理器相比起来有较佳的速度及占用空间[13][14]

参见

[编辑]

参考资料

[编辑]
  1. ^ Release 17.35.4. 2024年7月23日 [2024年7月28日]. 
  2. ^ Libzypp documentation. [2014-01-29]. (原始内容存档于2021-10-11). 
  3. ^ Libzypp project homepage. [2014-01-29]. (原始内容存档于2022-03-30). 
  4. ^ Another look at Linux packaging systems. [2014-01-29]. (原始内容存档于2011-10-07). 
  5. ^ Novell Acquires Ximian to Expand Linux Solutions and Open Source Commitment. 2003-08-14 [2014-01-30]. (原始内容存档于2016-03-03). 
  6. ^ Novell Announces Agreement to Acquire Leading Enterprise Linux Technology Company SUSE LINUX. 2003-11-04 [2014-01-30]. (原始内容存档于2016-03-04). 
  7. ^ Michael Schroeder, History of satsolver. 
  8. ^ Tucker, Chris; Shuffelton, David; Jhala, Ranjit; Lerner, Sorin, OPIUM: OPtimal Package Install/Uninstall Manager (PDF), 29th International Conference on Software Engineering (ICSE'07), 2007 [2014-01-29], (原始内容存档 (PDF)于2009-02-19). 
  9. ^ EDOS Project Workpackage 2 Team, Report on formal management of software dependencies, EDOS Project Deliverable Work Package 2 (Deliverable 2), March 2006 [2014-01-29], (原始内容存档于2006-06-19). 
  10. ^ Le Berre, Daniel; Parrain, Anne, On SAT Technologies for dependency management and beyond (PDF), ASPL 2008 (Limerick), 2008, Mancoosi.org [2014-01-29], (原始内容存档 (PDF)于2021-04-01). 
  11. ^ Burrows, Daniel, Modelling and Resolving Software Dependencies (PDF), June 2005 [2014-01-29], (原始内容存档 (PDF)于2016-04-16). 
  12. ^ Minisat.se. [2014-01-29]. (原始内容存档于2012-04-20). 
  13. ^ yum and ZYpp speed / memory usage. 16 May 2008 [23 October 2008]. (原始内容存档于2011年8月15日). 
  14. ^ Sneak Peeks at openSUSE 11.0: Package Management, with Duncan Mac-Vicar. 6 June 2008 [23 October 2008]. (原始内容存档于2022-03-21). 

外部链接

[编辑]
{{bottomLinkPreText}} {{bottomLinkText}}
ZYpp
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?