Uživatelské nástroje

Nástroje pro tento web


libzypp

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 .repo v 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

libzypp.txt · Poslední úprava: autor: admin