ZYpp
| ZYpp | |
| instalator, system zarządzania pakietami i narzędzie konfiguracyjne | |
Interfejs programu |
|
| System operacyjny | Linux |
| Aktualna wersja stabilna | 8.10.0 / grudzień 2010 |
| Licencja | GNU General Public License |
| Strona projektu (ang.) | |
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[1][2]. Wykorzystuje algorym spełnialności formuł do obliczania zależności oraz udostępnia wygodny interfejs programistyczny dla innych aplikacji[3]. Jest on darmowym programem z dostępnym kodem źródłowym, którego rozwój jest sponsorowany przez firmę Novell[3]. 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ł [edytuj]
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)[4] próbowały ppoprawić 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 o popularny solver minisat[5]. 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
- ↑ Package Management With Zypper (ang.). Linux Journal, 05-11-2009. [dostęp 2012-01-01].
- ↑ libzypp. [dostęp 2012-01-01].
- ↑ 3,0 3,1 Na podst. oficjalnej strony
- ↑ C. Tukker, D. Shuffelton, R. Jhala, S. Lerner. OPIUM: OPtimal Package Install/Uninstall Manager. , 2007.
- ↑ Zobacz: minisat.se
Linki zewnętrzne [edytuj]
- Zypper w Linupedia.org (niem.)
- Zypper - openSUSE's command line software manager w Blip.tv