Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

ZYpp

From Wikipedia, the free encyclopedia
Linux package management library
ZYpp
Azypper info command showing information of libzypp
Initial releaseJanuary 14, 2006; 19 years ago (2006-01-14)[1]
Stable release
17.36.4[2] Edit this on Wikidata 1.14.87[3] Edit this on Wikidata / 28 February 2025; 17 days ago (28 February 2025) 28 February 2025; 17 days ago (28 February 2025)
Repositoryhttps://github.com/openSUSE/libzypp Edit this on Wikidatahttps://github.com/openSUSE/zypper Edit this on Wikidata
Written in
Operating systemLinux
TypePackage manager
LicenseGNU General Public License
Websiteen.opensuse.org/Portal:Libzypp

ZYpp (orlibzypp;"Zen / YaST Packages Patches Patterns Products"[6]) is apackage manager engine that powers Linux applications likeYaST, Zypper and the implementation ofPackageKit foropenSUSE andSUSE Linux Enterprise.[7] Unlike some more basic package managers, it provides asatisfiability solver to compute package dependencies.[8] It is afree and open-source software project sponsored bySUSE and licensed under the terms of theGNU General Public License v2 or later. ZYpp is implemented mostly in the programming languageC++.

Zypper is the nativecommand-line interface of the ZYpppackage manager to install, remove, update and query software packages of local or remote (networked) media. Its graphical equivalent is theYaST package manager module. It has been used inopenSUSE since version 10.2 beta1. In openSUSE 11.1, Zypper reached version 1.0. On June 2, 2009, Ark Linux announced that it has completed its review of dependency solvers and has chosen ZYpp and its tools to replace the agingAPT-RPM,[9] as the first distribution to do so. Zypper is also part of the mobile Linux distributionsMeeGo,Sailfish OS, andTizen.

History

[edit]

Purpose

[edit]
Screenshot ofzypper dup, showing available updates to install

Following its consecutive acquisitions ofXimian and SuSE GmbH in 2003,Novell decided to merge both package management systems,YaST package manager andRed Carpet, in a best of breed approach, as the two solutions so far were used at Novell. Looking at the extant open source tools and their maturity available back in 2005, none fulfilled the requirements, and were able to work smoothly with the extant Linux management infrastructure software developed by Ximian and SUSE, so it was decided to get the best ideas from extant pieces and to work on a new implementation. Libzypp, the resulting library, was planned to be the software management engine of the SUSE distributions and the Linux Management component of theNovell ZENworks Management suite.

Early days

[edit]

The Libzypp's solver was a port from the Red Carpet solver, which was written to update packages in installed systems. Using it for the full installing process brought it to its limits, and adding extensions such as support for weak dependencies and patches made it fragile and unpredictable.[10] Although this first version of ZYpp's solver worked satisfactorily, on the company enterprise products with the coupled ZMD daemon, it led to an openSUSE 10.1 release which came out in May 2006 with a system package not working as expected. In December 2006, the openSUSE 10.2 release corrected some defects of the prior release, using the revisited ZYpp v2. ZMD was subsequently removed from the 10.3 release and reserved for only the company Enterprise products. While ZYpp v3 provided openSUSE with a relatively good package manager, equivalent to other existing package managers, it suffered from some flaws in its implementation which greatly limited its speed performance.

SAT solver integration

[edit]

An area where libzypp needed improvement was the speed of the dependency solver. libsolv is being written and released under therevised BSD license.[11]

Projects like Optimal Package Install/Uninstall Manager (OPIUM)[12][13] and MANCOOSI[14] were trying to fix dependency solving issues with aSAT solver. Traditional solvers likeAdvanced Packaging Tool (APT) sometimes show unacceptable deficiencies. It was decided to integrate SAT algorithms into the ZYpp stack; the solver algorithms used were based on the popular minisat solver.[15]

The SAT solver implementation as it appears in openSUSE 11.0 is based on two major, but independent, blocks:

  • Using adata dictionary approach to store and retrieve package and dependency information. A new solv format was created, which stores a repository as a string dictionary, a relation dictionary and then all package dependencies. Reading and merging multiple solv repositories takes only milliseconds.
  • Usingsatisfiability for computing package dependencies. TheBoolean satisfiability problem is a well-researched problem with many exemplar solvers available. It is very fast, as package solving complexity is very low compared to other areas where SAT solvers are used. Also, it does not need complex algorithms and can provide understandable suggestions by calculating proof of why a problem is unsolvable.

After several months of work, the benchmark results of this fourth ZYpp version integrated with the SAT solver were more than encouraging, moving YaST and Zypper ahead of other RPM-based package managers in speed and size.[16][17]

See also

[edit]

References

[edit]
  1. ^Earliest known changelog
  2. ^"Release 17.36.4". 28 February 2025. Retrieved28 February 2025.
  3. ^"Release 1.14.87". 28 February 2025. Retrieved28 February 2025.
  4. ^abcdefghij"The zypp Open Source Project on Open Hub: Languages Page".Open Hub. Retrieved2 May 2024.
  5. ^abcdefg"GitHub - openSUSE/zypper: World's most powerful command line package manager".GitHub. Retrieved2 May 2024.
  6. ^"Acronyms - openSUSE Wiki".
  7. ^"Libzypp documentation".
  8. ^"Libzypp project homepage".
  9. ^"Another look at Linux packaging systems". June 2009.
  10. ^"Michael Schroeder, History of satsolver".GitHub. 26 November 2021.
  11. ^"libsolv on github".GitHub. 26 November 2021.
  12. ^Tucker, Chris; Shuffelton, David; Jhala, Ranjit; Lerner, Sorin (2007),"OPIUM: OPtimal Package Install/Uninstall Manager"(PDF),29th International Conference on Software Engineering, ICSE'07.
  13. ^EDOS Project Workpackage 2 Team (March 2006),"Report on formal management of software dependencies",EDOS Project Deliverable Work Package 2, Deliverable 2, archived fromthe original on 2006-06-19, retrieved2009-06-06.{{citation}}: CS1 maint: numeric names: authors list (link)
  14. ^Le Berre, Daniel; Parrain, Anne (2008),"On SAT Technologies for dependency management and beyond"(PDF),ASPL 2008, Limerick, Mancoosi.org.
  15. ^"Minisat.se".
  16. ^"yum and ZYpp speed / memory usage". 16 May 2008. Retrieved23 October 2008.[permanent dead link]
  17. ^"Sneak Peeks at openSUSE 11.0: Package Management, with Duncan Mac-Vicar". 6 June 2008. Retrieved15 October 2017.

External links

[edit]
Wikidata has the property:
dpkg
RPM
Embedded systems
  • ipkg
Distribution-agnostic
Others (binary)
Others (source)
Front-ends
Related topics
People
Products
Systems management
Collaboration
Related
Retrieved from "https://en.wikipedia.org/w/index.php?title=ZYpp&oldid=1277207684"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp