Jak nainstalovat software pomocí Git na Linuxu

Photo of author

By etechblogcz

Dostali jste instrukci „naklonovat repozitář a sestavit ho,“ ale nejste si jisti, co s tím? Ukážeme vám, jak spustit program z GitHubu na Linuxu, a to i když jste úplný začátečník.

Instrukce pro počítačové programy se zapisují, upravují a ukládají do textových souborů. Následně specializovaný program zvaný kompilátor tyto soubory zpracuje a vytvoří spustitelnou verzi daného programu. Textové soubory s instrukcemi se nazývají zdrojový kód. Verze programu, kterou lze přímo spustit na počítači, se pak označuje jako binární nebo spustitelný soubor.

Toto je zjednodušený popis procesu, ale vystihuje jeho základní princip. V praxi se setkáme s různými variantami tohoto modelu. Někdy textové soubory generují jiné programy, jindy se zdrojový kód spouští v rámci interpretu a nevyžaduje kompilaci.

Nicméně, jedna zásadní pravda platí pro všechny softwarové projekty: soubory se zdrojovým kódem jsou klíčové poklady, a je třeba se o ně starat s maximální pečlivostí.

Systémy pro správu verzí

Všechny soubory zdrojového kódu v rámci projektu se společně nazývají kódová základna. U rozsáhlých projektů často spolupracuje na kódové základně mnoho vývojářů. Každá provedená změna kódu musí být sledovatelná a identifikovatelná, a v případě potřeby i vratná. Pokud různí vývojáři zasahují do stejného zdrojového souboru, musí být jejich úpravy sloučeny.

Není tedy překvapivé, že existují softwarové systémy, které se nazývají systémy pro správu verzí, a které usnadňují manipulaci se změnami v kódové základně. Tyto systémy uchovávají veškeré předchozí verze každého souboru v kódové základně a každou změnu zaznamenávají, komentují a sledují.

Git – malý, ale mocný nástroj

Linus Torvalds, tvůrce linuxového jádra, vytvořil systém pro správu verzí s názvem Git, aby spravoval kódovou základnu linuxového jádra. Nyní je Git celosvětově nejrozšířenější nástroj pro správu verzí, používaný miliony lidí.

V systému Git je kódová základna projektu ukládána v repozitářích. Kromě lokálních repozitářů na počítačích vývojářů a případně na centrálním serveru v síti je běžné mít i externí, vzdálený repozitář.

A zde přichází na scénu GitHub.

GitHub

GitHub vznikl díky úspěchu systému Git. Jeho zakladatelé si uvědomili potřebu bezpečně hostovaných, vzdálených Git repozitářů. Začali podnikat a poskytují cloudovou platformu, která umožňuje vývojovým týmům hostovat vzdálená úložiště. Od dubna 2019 hostuje GitHub více než 100 milionů repozitářů.

Pokud je nějaká aplikace projektem s otevřeným zdrojovým kódem, je velmi pravděpodobné, že je hostovaná na GitHubu. Existují i další platformy pro úložiště, jako BitBucket a GitLab, ale GitHub má dominantní postavení v oblasti repozitářů s otevřeným zdrojovým kódem.

Struktura repozitáře

Repozitář na GitHubu se skládá ze složek s různými soubory, mezi nimiž jsou klíčové soubory zdrojového kódu. Obvykle se v repozitáři nachází mnoho dalších typů souborů, například dokumentace, manuálové stránky, licenční soubory, instrukce pro sestavení a skripty. Neexistují žádná pevně daná pravidla ohledně toho, co by repozitář měl nebo musel obsahovat, ale existují určité konvence.

Pokud se vyznáte v jedné kuchyni, zvládnete se orientovat v každé. Stejné je to i s repozitáři. Jakmile porozumíte konvencím, budete vědět, kde hledat to, co potřebujete.

Jak tedy získáte kopii repozitáře na svůj počítač a jak z kódu sestavíte spustitelný program?

Soubor README

Je běžnou praxí, že repozitář obsahuje soubor README. Jeho název může být readme, Readme nebo README a může mít příponu „.md“ nebo žádnou.

Podívejme se například na repozitář editoru Atom na GitHubu. Zobrazí se dlouhý seznam složek a souborů. Pokud se posunete níže, uvidíte obsah souboru README.md.

GitHub automaticky zobrazuje obsah souboru README na úvodní stránce repozitáře. Pokud má soubor README příponu „.md“, používá se značkovací jazyk Markdown. Ten umožňuje vývojářům používat stylové prvky, jako jsou písma, odrážky a obrázky.

Soubor README obvykle obsahuje informace o tom, o čem daný projekt je, jaký má typ licence, kdo jej spravuje, jak se do něj zapojit a jak aplikaci sestavit a spustit.

Pokud přímo neobsahuje pokyny pro sestavení, měl by vám dát vědět, kde tyto informace najít. Dále může obsahovat seznam potřebných nástrojů a závislostí pro sestavení nebo odkaz na tyto informace.

Repozitář Boxes

Cílem je naklonovat repozitář Boxes a následně sestavit aplikaci Boxes.

Repozitář má podobné rozložení jako u projektu Atom. Obsahuje seznam složek a souborů, pod kterým je obsah souboru README. Dodržuje standardní konvence pro repozitáře, ale jde o menší projekt, takže obsahuje méně složek a souborů.

Soubor README je také stručnější. Obsahuje sekci „Vývoj“ s odkazem „sestavení ze zdroje“. Po kliknutí na tento odkaz bychom měli najít potřebné informace.

Obvykle vyžaduje trochu hledání, ale navigace v repozitáři není náročná. Pečlivě si přečtěte veškeré informace na stránce repozitáře. Někdy se tam informace nacházejí, ale nemusejí být ihned zřejmé.

Závislosti

Stránka „Building from Source“ má sekci „Building on Linux“, což je přesně to, co potřebujeme. Uvádí, že musíme mít nainstalovaný C kompilátor, Bison a Flex.

Instrukce pro sestavení uvádějí, že je potřeba spustit příkaz make, takže budeme potřebovat i nástroj make.

Nástroje potřebné k sestavení této aplikace jsou tedy C kompilátor, Bison, Flex, make a Git (pro klonování repozitáře).

Článek byl ověřován na linuxových distribucích Ubuntu, Fedora a Manjaro. Žádná z distribucí neměla všechny potřebné nástroje nainstalované – u každé bylo nutné něco doinstalovat.

Instalace potřebných nástrojů

V Ubuntu bylo nutné nainstalovat Git, Flex, Bison a make. Zde jsou příkazy:

sudo apt-get install git

sudo apt-get install flex

sudo apt-get install bison

sudo apt-get install make

Ve Fedoře bylo nutné nainstalovat Flex, Bison a make. Zde jsou příkazy:

sudo dnf install flex

sudo dnf install bison

sudo dnf install make

V Manjaru bylo nutné nainstalovat kompilátor GCC, Flex a Bison. Zde jsou příkazy:

sudo pacman -Syu gcc

sudo pacman -Syu flex

sudo pacman -Syu bison

Klonování repozitáře

Každý repozitář na GitHubu má specifickou webovou adresu, kterou Git používá pro naklonování repozitáře do vašeho počítače. Na hlavní stránce repozitáře Boxes se nachází zelené tlačítko „Clone or download“.

Po kliknutí na tlačítko se zobrazí webová adresa. Tuto adresu je potřeba předat příkazu git, abychom mohli naklonovat repozitář.

Přejděte do adresáře, kam chcete repozitář naklonovat, a použijte tento příkaz. Pokud to vaše terminálové okno podporuje, můžete webovou adresu do příkazu zkopírovat a vložit. V terminálu GNOME stiskněte Ctrl+Shift+V pro vložení.

Git naklonuje vzdálený repozitář a vytvoří lokální kopii na