Libzypp: Alternativa ze světa SUSE

Zatímco ve světě Debianu vládne APT a v Red Hatu DNF, distribuce rodiny SUSE (openSUSE, SLES) sází na mocný nástroj jménem libzypp. Tento článek přibližuje, v čem je tato technologie unikátní a proč je považována za jeden z nejrobustnějších správců balíčků současnosti.

Co je to libzypp?

Libzypp je softwarová knihovna pro správu balíčků, která tvoří backend pro známý příkazový řádek Zypper a grafické rozhraní YaST. Je napsána v C++ a její hlavní předností je implementace pokročilého algoritmu pro řešení závislostí.

Klíčové vlastnosti

SAT Solver: Libzypp používá tzv. Boolean Satisfiability Solver (SAT solver). Na rozdíl od starších systémů, které řešily závislosti postupně, SAT solver nahlíží na celý systém jako na matematický problém, což vede k rychlejšímu a přesnějšímu nalezení řešení konfliktů.

Podpora více formátů: Přestože primárně pracuje s RPM, dokáže obsloužit i repozitáře typu Debian nebo specifické „patterns“ (skupiny balíčků pro určitou úlohu).

Transakční bezpečnost: Podporuje integraci se souborovým systémem Btrfs, což umožňuje automatické snímkování (snapshots) před a po instalaci balíčků.

Zypper: Švýcarský nůž v terminálu

Zypper je CLI (Command Line Interface) nadstavba nad libzypp. Uživatelé si jej cení pro jeho logickou syntaxi a přehledné výstupy.

Základní příkazy

Akce	Příkaz
—-	—-
Aktualizace seznamu repozitářů	zypper ref
Instalace balíčku	zypper in <balicek>
Odstranění balíčku	zypper rm <balicek>
Aktualizace celého systému	zypper dup
Vyhledávání	zypper se <text>
Poznámka: Příkaz zypper dup (distribution upgrade) je v openSUSE Tumbleweed standardním způsobem aktualizace, protože jde o rolling-release distribuci.

Proč zvolit právě toto řešení?

1. Vendor Stickiness: Libzypp skvěle zvládá situace, kdy máte více repozitářů se stejnými balíčky. Striktně dodržuje prioritu repozitářů, dokud mu nepovolíte změnu dodavatele (vendor change). 2. Delta RPM: Šetří šířku pásma tím, že stahuje pouze rozdíly mezi starou a novou verzí balíčku (tzv. Delta RPMs). 3. Interaktivní řešení konfliktů: Pokud nastane problém se závislostmi, Zypper nenahlásí jen chybu, ale nabídne uživateli několik očíslovaných variant řešení (např. odinstalovat jiný balíček, ponechat starou verzi nebo ignorovat závislost).

Závěr

Libzypp a Zypper představují technologickou špičku v oblasti správy softwaru na Linuxu. Jejich matematický přístup k závislostem a těsná integrace se systémem z nich dělají spolehlivý nástroj jak pro běžné uživatele, tak pro administrátory kritických serverových infrastruktur.

Srovnání s konkurencí	Vlastnost
DNF	Moderní, ale často pomalejší v řešení komplexních konfliktů.
APT	Extrémně rychlý, postrádá však nativní SAT solver v tak pokročilé formě.
Libzypp	Exceluje v logice závislostí a stabilitě rolling-release systémů.