Toto je starší verze dokumentu!
Obsah
Balíček .deb (Debian Package)
Balíček .deb je standardní formát archivního souboru používaný pro distribuci a instalaci softwaru v operačním systému Debian GNU/Linux a jeho derivátech (např. Ubuntu, Linux Mint, Kali Linux). Formát byl navržen tak, aby umožňoval efektivní správu závislostí a automatizaci instalace.
1. Historie a původ
Formát vznikl v počátcích projektu Debian (přibližně v roce 1993) jako reakce na potřebu spravovat rostoucí množství softwaru v distribuci. Jeho autorem je Ian Murdock (zakladatel Debianu). Na rozdíl od formátu RPM (používaného v rodině Red Hat) sází .deb na maximální využití standardních unixových nástrojů a modularitu.
2. Anatomie binárního balíčku
Soubor s příponou .deb je ve skutečnosti ar archiv (tradiční unixový formát), který v sobě nese tři základní komponenty:
- debian-binary: Krátký textový soubor obsahující verzi formátu balíčku (aktuálně standardně 2.0).
- control.tar.gz: Archiv obsahující metadata. Zde jsou uloženy instrukce pro správce balíčků (název, verze, popis, závislosti) a konfigurační skripty (preinst, postinst), které se spouštějí během instalace.
- data.tar.gz (nebo
.xz,.zst): Vlastní spustitelné programy, knihovny a dokumentace, které se rozbalí do kořenového adresáře systému.
3. Správa závislostí a ekosystém
Jednou z nejsilnějších stránek formátu je jeho schopnost definovat vztahy mezi balíčky. Tyto vztahy tvoří v teorii grafů orientovaný graf.
Základní typy vztahů
| Vztah | Význam |
|---|---|
| Depends | Balíčky nezbytné pro běh programu. Bez nich instalace neproběhne. |
| Recommends | Balíčky, které nejsou kritické, ale výrazně rozšiřují funkčnost. |
| Conflicts | Seznam balíčků, které nesmí být v systému přítomny současně. |
| Provides | Definice virtuálního balíčku (např. více programů může poskytovat „mail-transport-agent“). |
Hierarchie nástrojů
Práce s balíčky probíhá ve dvou rovinách:
- Low-level (dpkg): Nástroj pro přímou manipulaci se soubory
.deb. Umí balíček rozbalit a nainstalovat, ale neumí sám stáhnout chybějící závislosti z internetu. - High-level (APT): Advanced Package Tool řeší stahování z repozitářů a automaticky dopočítává celý strom závislostí.
4. Zdrojové balíčky (.dsc)
Zatímco .deb je určen pro koncového uživatele, vývojáři spravují software pomocí formátu .dsc (Debian Source Control). Tento přístup striktně odděluje práci původního autora od úprav distribuce.
Součásti zdrojové sady
1. **soubor.dsc**: Digitálně podepsaný popisný soubor s kontrolními součty. 2. **soubor.orig.tar.gz**: Původní "čistý" zdrojový kód od autora (upstream). 3. **soubor.debian.tar.xz**: Archiv obsahující adresář ''debian/'' s instrukcemi pro kompilaci a specifickými záplatami (patche).
5. Srovnání s formátem RPM
RPM (Red Hat Package Manager) je hlavním konkurentem, používaným v distribucích Fedora, RHEL a SUSE (kde s ním pracuje knihovna libzypp).
| Vlastnost | Balíček .deb | Balíček RPM |
|---|---|---|
| Archivátor | ar (tradiční unixový) | cpio (často komprimovaný) |
| Konfigurace | Adresář debian/ | Soubor .spec |
| Metadata | Více textových souborů | Binární hlavička (Header) |
| Zdrojová verze | Modulární (.dsc) | Monolitická (.src.rpm) |
Závěr
Systém balíčků .deb představuje jeden z nejdéle sloužících a nejstabilnějších standardů v Linuxu. Jeho modulární přístup k vývoji (skrze .dsc) a robustní správa závislostí (skrze APT) z něj činí ideální volbu pro rozsáhlé softwarové repozitáře.
