Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 History  



1.1  Purpose  





1.2  Early days  





1.3  SAT solver integration  







2 See also  





3 References  





4 External links  














ZYpp






Čeština
Deutsch
فارسی

Bahasa Indonesia

Polski
Português
Русский
Српски / srpski
Suomi

 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


ZYpp
Initial releaseJanuary 14, 2006; 18 years ago (2006-01-14)[1]
Stable release

17.34.2[2] Edit this on Wikidata 1.14.74[3] Edit this on Wikidata / 26 June 2024; 20 days ago (26 June 2024) 26 June 2024; 20 days ago (26 June 2024)

Repositoryhttps://github.com/openSUSE/libzypp Edit this on Wikidata https://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 a package manager engine that powers Linux applications like YaST, Zypper and the implementation of PackageKit for openSUSE and SUSE Linux Enterprise.[7] Unlike some more basic package managers, it provides a satisfiability solver to compute package dependencies.[8] It is a free and open-source software project sponsored by SUSE and licensed under the terms of the GNU General Public License v2 or later. ZYpp is implemented mostly in the programming language C++.

Zypper is the native command-line interface of the ZYpp package manager to install, remove, update and query software packages of local or remote (networked) media. Its graphical equivalent is the YaST package manager module. It has been used in openSUSE 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 aging APT-RPM,[9] as the first distribution to do so. Zypper is also part of the mobile Linux distributions MeeGo, Sailfish OS, and Tizen.

History[edit]

Purpose[edit]

Following its consecutive acquisitions of Ximian and SuSE GmbH in 2003, Novell decided to merge both package management systems, YaST package manager and Red 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 the Novell 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 the revised BSD license.[11]

Projects like Optimal Package Install/Uninstall Manager (OPIUM)[12][13] and MANCOOSI[14] were trying to fix dependency solving issues with a SAT solver. Traditional solvers like Advanced 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:

After several months of work, the benchmark results of this fourth ZYpp version integrated with the SAT solver are 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]

  • ^ "Release 17.34.2". 26 June 2024. Retrieved 27 June 2024.
  • ^ "Release 1.14.74". 26 June 2024. Retrieved 27 June 2024.
  • ^ a b c d e f g h i j "The zypp Open Source Project on Open Hub: Languages Page". Open Hub. Retrieved 2 May 2024.
  • ^ a b c d e f g "GitHub - openSUSE/zypper: World's most powerful command line package manager". GitHub. Retrieved 2 May 2024.
  • ^ "Acronyms - openSUSE Wiki".
  • ^ "Libzypp documentation".
  • ^ "Libzypp project homepage".
  • ^ "Another look at Linux packaging systems". June 2009.
  • ^ "Michael Schroeder, History of satsolver". GitHub. 26 November 2021.
  • ^ "libsolv on github". GitHub. 26 November 2021.
  • ^ Tucker, Chris; Shuffelton, David; Jhala, Ranjit; Lerner, Sorin (2007), "OPIUM: OPtimal Package Install/Uninstall Manager" (PDF), 29th International Conference on Software Engineering, ICSE'07.
  • ^ EDOS Project Workpackage 2 Team (March 2006), "Report on formal management of software dependencies", EDOS Project Deliverable Work Package 2, Deliverable 2, archived from the original on 2006-06-19, retrieved 2009-06-06.{{citation}}: CS1 maint: numeric names: authors list (link)
  • ^ Le Berre, Daniel; Parrain, Anne (2008), "On SAT Technologies for dependency management and beyond" (PDF), ASPL 2008, Limerick, Mancoosi.org.
  • ^ "Minisat.se".
  • ^ "yum and ZYpp speed / memory usage". 16 May 2008. Retrieved 23 October 2008.[permanent dead link]
  • ^ "Sneak Peeks at openSUSE 11.0: Package Management, with Duncan Mac-Vicar". 6 June 2008. Retrieved 15 October 2017.
  • External links[edit]


    Retrieved from "https://en.wikipedia.org/w/index.php?title=ZYpp&oldid=1221862826"

    Categories: 
    Free package management systems
    Linux package management-related software
    SUSE Linux
    Software using the GPL license
    Free software programmed in C++
    Hidden categories: 
    CS1 maint: numeric names: authors list
    All articles with dead external links
    Articles with dead external links from March 2023
    Articles with permanently dead external links
    Articles with short description
    Short description is different from Wikidata
     



    This page was last edited on 2 May 2024, at 12:55 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki