====== .deb: Balíčkovací formát systému Debian ====== **.deb** je přípona souboru, který představuje softwarový balíček systému Debian. Tyto soubory umožňují snadnou instalaci, aktualizaci a odstraňování aplikací. Jsou úzce spjaty s nástrojem **dpkg** (nízkoúrovňový správce) a systémem **APT** (vysokoúrovňový správce). ===== 1. Anatomie .deb souboru ===== Soubor ''.deb'' je ve skutečnosti standardní archiv typu **ar**, který v sobě ukrývá tři hlavní části: * **debian-binary:** Textový soubor obsahující verzi formátu (obvykle 2.0). * **control.tar.gz:** Obsahuje metadata o balíčku (název, verze, architektura) a skripty, které se spouštějí před instalací nebo po ní (preinst, postinst). * **data.tar.gz (nebo .xz, .zst):** Obsahuje samotné soubory aplikace, které se rozbalí do systémových složek (např. do ''/usr/bin'', ''/etc'' nebo ''/var''). --- ===== 2. Správa balíčků: dpkg vs. APT ===== Při práci s balíčky ''.deb'' rozlišujeme dva stupně nástrojů: ==== nízkoúrovňový: dpkg ==== Nástroj **dpkg** (Debian Package) pracuje přímo se soubory na disku. Neumí však automaticky stahovat závislosti z internetu. * ''sudo dpkg -i balicek.deb'' – Instalace staženého souboru. * ''sudo dpkg -r balicek'' – Odstranění balíčku. ==== vysokoúrovňový: APT ==== Nástroj **APT** (Advanced Package Tool) je nadstavba nad dpkg. Umí komunikovat s repozitáři na internetu a automaticky vyřešit závislosti (pokud aplikace vyžaduje jinou knihovnu, APT ji najde a nainstaluje). * ''sudo apt install nazev_balicku'' – Vyhledá a nainstaluje balíček z repozitáře. --- ===== 3. Metadata a závislosti ===== Jednou z největších sil formátu ''.deb'' je soubor **control**. Ten definuje: * **Depends:** Seznam balíčků, které jsou nezbytné pro běh aplikace. * **Recommends:** Doporučené doplňky. * **Conflicts:** Seznam balíčků, které nesmí být nainstalovány současně s tímto balíčkem. --- ===== 4. Proces instalace ===== Když instalujete ''.deb'' balíček, systém provádí následující kroky: 1. **Rozbalení kontrolních skriptů:** Zjistí, zda je v systému dostatek místa a zda jsou splněny závislosti. 2. **Záloha starých souborů:** Pokud se jedná o aktualizaci. 3. **Rozbalení dat:** Soubory se zkopírují na svá místa v hierarchii souborového systému. 4. **Konfigurace:** Spustí se skript ''postinst'', který provede nastavení (např. vytvoření uživatele nebo spuštění služby). --- ===== 5. .deb vs. .rpm ===== ^ Vlastnost ^ .deb (Debian/Ubuntu) ^ .rpm (Fedora/SUSE/RHEL) ^ | **Archivátor** | ar | cpio | | **Nástroj** | dpkg / APT | rpm / DNF / [[it:sw:libzypp|Zypper]] | | **Rozšíření** | Dominantní v cloudu a u desktopů. | Dominantní v podnikovém (enterprise) sektoru. | ---- //Související články:// * [[it:sw:linux_distribuce|Linuxové distribuce: Rodina Debian]] * [[it:sw:package_management|Teorie správy balíčků]] * [[it:sw:libzypp|Libzypp: Alternativa ze světa SUSE]] //Tagy: {{tag>it linux debian ubuntu apt dpkg package-management}}//