Balíčky Debian jsou v Linuxovém světě velmi rozšířené. Pokud se někdo rozhodne přenést aplikaci do Linuxu, často ji distribuuje právě jako balíček Debian, tedy soubor s příponou DEB. Podpora pro Linux je skvělá, i když je omezena na jeden typ distribuce. Nicméně, ne všechny distribuce Linuxu jsou navrženy tak, aby tyto balíčky nativně spouštěly. V tomto článku si ukážeme spolehlivou metodu, jak nainstalovat balíček Debian a rozchodit daný program na vaší linuxové distribuci.
Tento návod se vyhne jakékoli „konverzi“. Místo toho budeme data pouze extrahovat a přesouvat. Nejprve si stáhněte balíček Debian, který vás zajímá. Jako příklad použijeme balíček Google Chrome. I když se zaměříme na tento konkrétní balíček, postup je univerzální. Můžete jej použít pro instalaci libovolného balíčku Debian.
Extrakce dat z balíčku
Většina uživatelů Linuxu neví, že soubory DEB jsou vlastně archivy, které lze snadno rozbalit. Po stažení balíčku Debian si ho rozbalíme. Předpokládáme, že balíček Chrome máme stažený a umístěný v systému. Otevřete terminál a pomocí příkazu `mkdir` vytvořte novou složku. Do této složky uložíme veškerá data z balíčku.
mkdir -p ~/deb-extracted
Nyní přesuneme stažený soubor Chrome do nově vytvořené složky pomocí příkazu `mv`.
mv google-chrome-stable_current_amd64.deb ~/deb-extracted
Vstupte do nové složky pomocí `cd` a zkontrolujte obsah balíčku pomocí nástroje `ar`.
cd ~/deb-extracted ar tv google-chrome-stable_current_amd64.deb
Příkaz `ar` prozkoumá soubor DEB a ukáže nám, že obsahuje tři komprimované soubory: „debian-binary“, „control.tar.gz“ a „data.tar.xz“. Pro nás jsou nejdůležitější soubory „data.tar.xz“, kde se nachází samotná data aplikace, a také „control.tar.gz“, který obsahuje informace o balíčku.
Nástroj `ar` umí archivy nejen kontrolovat, ale také rozbalovat. Pomocí `ar xv` extrahujeme tyto tři soubory z `google-chrome-stable_current_amd64.deb`.
ar xv google-chrome-stable_current_amd64.deb
Všechny tři soubory by se nyní měly nacházet ve složce `~/deb-extracted`. Soubor „debian-binary“ můžeme smazat, jelikož jej v tomto případě nepotřebujeme.
Dále musíme extrahovat data ze souboru `data.tar.xz`, který obsahuje vše potřebné pro spuštění Chrome v Linuxu. Rozbalíme ho pomocí nástroje `tar`.
tar -xvf data.tar.xz
Po rozbalení archivu se objeví tři složky: „opt“, „usr“ a „etc“.
Složku „etc“ můžeme smazat pomocí příkazu `rm -rf`, protože v tomto případě není potřebná – slouží pro aktualizační mechanismy Debianu.
Důležité: Neuvádějte „/“ před příkaz níže, jinak byste omylem smazali `/etc/` ve vašem systému, a ne složku „etc“ extrahovanou v `~/deb-extracted`.
rm -rf etc
Nyní přesuneme soubory ze složek „usr“ a „opt“ na jejich správná místa v systému. Například pro instalaci Google Chrome na distribuci Linuxu, která není založená na Debianu, provedeme ruční přesun:
cd opt sudo -s mv google /opt/ ln -snf /opt/google/google-chrome /usr/bin/ cd .. share mv -f * /usr/share/
Tento příklad ukazuje, jak pracovat s extrahovanými soubory ze souboru `data.tar.xz`. Je důležité si uvědomit, že jiné balíčky Debian mohou mít odlišný obsah. Podstatné je podívat se na názvy složek uvnitř `data.tar.xz`. Tyto složky mají stejné názvy jako složky ve vašem souborovém systému a data z nich se přesouvají na odpovídající místa.
Hledání instrukcí v balíčku
Někdy pouhé rozbalení balíčku Debian a extrahování `data.tar.xz` nestačí a můžete být zmatení. Každý balíček Debian naštěstí obsahuje sadu instrukcí. Ty se nacházejí uvnitř souboru `control.tar.gz`.
Rozbalte archiv `control.tar.gz` do složky `~/deb-extracted` pomocí příkazu `tar`.
tar -xvzf control.tar.gz
Archiv `control.tar.gz` obsahuje několik skriptů, které balíčku Debian říkají, co má dělat. Nás zajímá skript s názvem „postinst“. „postinst“ (post installation) je bash skript, který se spouští po instalaci a přesouvá všechny soubory na správná místa.
V terminálu zobrazíme obsah textového souboru pomocí příkazu `cat` a `more`, který zobrazí obsah po řádcích. Prozkoumejte soubor `postinst` a všimněte si, co skript dělá, a zejména, kam umisťuje soubory. Pomůže vám to určit, kam patří data uvnitř `data.tar.xz` a jaký je jejich účel.
cat postinst | more
Závislosti
Často pouhé rozbalení balíčku Debian a přesunutí datových souborů na správná místa nestačí. Je nutné nainstalovat správné knihovny, na kterých daný program závisí. Každý balíček Debian má v `control.tar.gz` soubor s podrobným seznamem důležitých knihoven, které uživatel musí nainstalovat, aby vše fungovalo. Opět použijeme `cat` k zobrazení obsahu tohoto souboru.
cat control | more
Například pro Google Chrome vyžaduje tento soubor knihovny jako `ca-certificates`, `fonts-liberation`, `libappindicator1`, `libasound2`, `libatk-bridge2.0-0` a další.
Projděte si pozorně tento soubor a nainstalujte všechny potřebné knihovny na vašem Linuxovém systému. Jakmile budou všechny závislosti splněny, extrahovaná aplikace by měla fungovat bez problémů.
Pokud používáte Linux založený na Redhatu, můžete na něj tímto způsobem nainstalovat balíček Debian dle tohoto návodu.