====== 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 '' | | Odstranění balíčku | ''zypper rm '' | | Aktualizace celého systému | ''zypper dup'' | | Vyhledávání | ''zypper se '' | > **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ů. |