Obsah
libzypp – Správce balíčků a závislostí
libzypp je výkonná C++ knihovna pro správu softwaru, která implementuje pokročilý algoritmus pro řešení závislostí (dependency resolver). Na rozdíl od mnoha jiných správců balíčků využívá libzypp tzv. SAT solver (Boolean satisfiability solver), který zaručuje matematicky nejpřesnější řešení konfliktů mezi balíčky.
1. Klíčové funkce libzypp
Knihovna libzypp není jen o instalaci souborů; obsahuje komplexní logiku pro údržbu celého operačního systému:
- SAT Solver: Využívá algoritmus založený na projektu SATlive pro rychlé a logické řešení složitých stromů závislostí.
- Podpora více formátů: Primárně pracuje s balíčky RPM, ale rozumí i meta-datům repozitářů typu YaST a yum/dnf.
- Správa repozitářů: Podporuje stahování z HTTP, FTP, HTTPS, DVD, ISO obrazů a lokálních disků.
- Zabezpečení: Integrovaná podpora pro ověřování GPG klíčů a kontrolních součtů (checksums) stažených balíčků.
- Podpora Delta RPM: Šetří šířku pásma tím, že stahuje pouze rozdíly (patch) mezi verzemi balíčků místo celých souborů.
—
2. Ekosystém libzypp
Libzypp funguje jako motor (backend), na který se napojují různé uživatelské nástroje (frontendy):
- Zypper: Standardní nástroj pro příkazovou řádku (CLI). Velmi oblíbený pro svou přehlednost a rychlost.
- YaST Software Management: Grafické rozhraní (GUI) v rámci konfiguračního nástroje YaST.
- PackageKit: Umožňuje integraci s desktopovými nástroji jako GNOME Software nebo KDE Discover.
—
3. Pokročilé koncepty
Dist-upgrade (dup)
Díky silnému solveru v libzypp je openSUSE (zejména verze Tumbleweed) schopno provádět kompletní upgrady systému mezi verzemi za běhu s minimálním rizikem poškození závislostí.
Vendor Stickiness
Zajímavou vlastností libzypp je „přilnavost k dodavateli“. Pokud nainstalujete balíček z konkrétního repozitáře, libzypp se jej snaží neupgradovat z jiného zdroje, pokud mu to výslovně nepovolíte. To zabraňuje nechtěnému míchání balíčků z různých komunitních zdrojů.
—
4. Porovnání s jinými systémy
| Vlastnost | libzypp (Zypper) | libdnf (DNF) | APT |
|---|---|---|---|
| Distribuce | openSUSE, SLE | Fedora, RHEL | Debian, Ubuntu |
| Formát | RPM | RPM | DEB |
| Solver | SAT Solver | libsolv (sdílený s libzypp) | Heuristický |
| Rychlost | Velmi vysoká | Vysoká | Střední |
—
5. Souborová struktura a konfigurace
- Repozitáře: Jsou definovány v souborech
.repov adresáři/etc/zypp/repos.d/. - Konfigurace: Hlavní nastavení knihovny a Zypperu se nachází v
/etc/zypp/zypp.conf. - Cache: Metadata a stažené balíčky se ukládají v
/var/cache/zypp/.
Související články:
Tagy: linux opensuse suse zypper dev programming cpp package-management
