ZYpp (znany również jako libzypp) – silnik zarządzania pakietami wykorzystywany w takich aplikacjach, jak YaST, Zypper i PackageKit użyty w openSUSE i SUSE Linux Enterprise. Wykorzystuje algorytm spełnialności formuł do obliczania zależności oraz udostępnia wygodny interfejs programistyczny dla innych aplikacjiNa podst. oficjalnej strony.. Jest on darmowym programem z dostępnym kodem źródłowym, którego rozwój jest sponsorowany przez firmę Novell. Rozpowszechniany jest on w ramach licencji GNU General Public License v2 lub późniejszej.

Zypper jest podstawowym menedżerem pakietów zbudowanym na libzypp obsługiwanym z wiersza poleceń. Umożliwia on instalację, usuwanie, aktualizację i sprawdzanie pakietów. Jego graficznym odpowiednikiem jest YaST.

Algorytm spełnialności formuł Obszarem, który w przeszłości wymagał optymalizacji, był mechanizm rozwiązywania zależności. Projekty takie, jak OPIUM (Optimal Package Install/Uninstall Manager) próbowały poprawić kwestię wydajności poprzez zastosowanie algorytmów spełnialności formuł logicznych SAT. Algorytmy SAT bazują na wynikach teorii złożoności obliczeniowej, są dobrze zbadane i działają inaczej, niż w tradycyjnym podejściu stosowanym np. w Apt.

Twórcy Zypp ostatecznie zdecydowali się na zintegrowanie algorytmu SAT ze swoją aplikacją. Oparto go na popularnym solverze minisatZobacz: minisat.se.. Implementacja zastosowana w openSUSE 11.0 składa się z dwóch głównych, lecz niezależnych elementów:

słownik informacji o pakietach oraz zależnościach. Opracowany został nowy format solv do przechowywania jego struktury, a także słownika zależności i relacji między pakietami. Odczyt i łączenie plików solv jest bardzo szybkie i liczone jest w milisekundach. mechanizm obliczania spełnialności formuł logicznych do obliczania zależności. Złożoność problemu zależności jest niewielka w porównaniu do innych zastosowań SAT. Dodatkowo, nie wymaga stosowania złożonych algorytmów i może generować sensowne sugestie poprzez obliczenie dowodu pokazującego, dlaczego dana formuła jest nierozwiązywalna.

Po kilku miesiącach prac benchmarki pokazały, że w czwartej wersji biblioteki Zypp poprawa wydajności jest znacząca.

Przypisy

Linki zewnętrzne Zypper w Linupedia.org Zypper – openSUSE’s command line software manager w Blip.tv

Kategoria:Linux Kategoria:Novell Kategoria:Menadżery pakietów