Jak nainstalovat software pomocí Git na Linuxu

Bylo vám řečeno, abyste „naklonovali repo a vytvořili jej“ a nevíte, co dělat dál? Ukážeme vám, jak tento program na GitHubu spustit na Linuxu, i když jste začátečník.

Pokyny, které tvoří počítačový program, jsou psány, upravovány a ukládány do textových souborů. Program zvaný kompilátor pak tyto soubory zpracuje. Tento vytvoří spustitelnou verzi programu. Textové soubory instrukcí se nazývají zdrojový kód. Verze programu, kterou lze skutečně spustit na počítači, se nazývá binární nebo spustitelný soubor.

To je zjednodušená verze událostí, ale vykresluje správný – i když zobecněný – obrázek. V praxi na ten model najdete nejrůznější variace. Někdy jiné programy generují textové soubory. Jindy se zdrojový kód spustí uvnitř tlumočníka a nemusí se kompilovat a tak dále.

Avšak jedna univerzální pravda napříč všemi softwarovými projekty je tato: soubory zdrojového kódu jsou korunovační klenoty, a je třeba se o ně starat stejně pečlivě.

Programy pro správu verzí

Všechny soubory zdrojového kódu v rámci projektu se nazývají kódová základna. Velké projekty mají často mnoho vývojářů pracujících na kódové základně. Každá změna kódu musí být sledována a identifikovatelná. V případě potřeby musí být změny vratné. Pokud různí vývojáři provedou změny ve stejném souboru zdrojového kódu, jejich úpravy musí být sloučeny.

Není tedy překvapivé, že existují softwarové programy zvané systémy správy verzí, které usnadňují správu změn v kódové základně. Systémy správy verzí uchovávají všechny předchozí verze každého souboru v kódové základně a každá změna je zaznamenávána, komentována a sledována.

Malá věc jménem Git

Linus Torvalds, tvůrce linuxového jádra, vyvinul program pro správu verzí s názvem Git ke správě kódové základny linuxového jádra. Nyní je to celosvětově nejrozšířenější software pro správu verzí. Používají to miliony lidí – doslova.

S Git je kódová základna projektu uložena v úložištích. Kromě lokálních úložišť, která jsou umístěna na počítačích vývojářů a možná i na centrálním serveru v síti, je dobrým zvykem mít externí nebo vzdálené úložiště.

A tady přichází na řadu GitHub.

GitHub

GitHub byl vytvořen jako výsledek úspěchu git. Zakladatelé viděli vznikající potřebu bezpečně hostovaných vzdálených git repozitářů. Rozjeli podnikání poskytování cloudové platformy umožnit vývojovým týmům hostovat vzdálená úložiště. Od dubna 2019 hostuje GitHub více než 100 milionů úložišť.

Pokud je aplikace projektem s otevřeným zdrojovým kódem, je velmi vysoká šance, že bude hostována na GitHubu. K dispozici jsou další platformy úložiště, jako např BitBucket a GitLab, ale GitHub má lví podíl na open source repozitářích.

Anatomie úložiště

Úložiště GitHub se skládá ze složek obsahujících soubory, jako jsou velmi důležité soubory zdrojového kódu. Obvykle je v úložišti mnoho dalších typů souborů. Mohou to být soubory dokumentace, manuálové stránky, soubory softwarových licencí, instrukce pro sestavení a soubory skriptů shellu. Neexistují žádná pravidla ohledně toho, co by úložiště mělo nebo musí obsahovat, ale existují konvence.

Pokud se vyznáte v jedné kuchyni, můžete se orientovat v každé kuchyni. Stejné je to s repozitáři. Jakmile pochopíte konvence, budete vědět, kam jít, abyste našli to, co potřebujete.

Jak tedy získáte kopii úložiště na vašem počítači a jak program zabudujete do binárního spustitelného souboru?

Soubor readme

Je tradiční zahrnout soubor readme do úložiště. Může se jmenovat readme, Readme nebo README. Může mít příponu „.md“ nebo vůbec žádnou příponu.

Pojďme se podívat na GitHub úložiště pro editor Atom. Zobrazí se dlouhý seznam složek a souborů. Přejděte dolů a uvidíte obsah souboru README.md.

GitHub automaticky umístí obsah souboru readme na úvodní stránku úložiště. Pokud má soubor readme příponu „.md“, bude obsahovat Markdown markup Jazyk. To umožňuje vývojářům používat prvky stylu, jako jsou písma, odrážky a obrázky.

Soubor readme má obvykle části, které vám řeknou, o čem projekt je, jaký je typ licence, kdo projekt spravuje, jak se zapojit a jak sestavit a spustit aplikaci.

Pokud neuvádí skutečné pokyny k sestavení, řekne vám, kde tyto informace najdete. Zde mohou být uvedeny další informace užitečné pro sestavení aplikace, jako jsou požadované nástroje pro sestavení a další závislosti, nebo vás na tyto informace může zavést odkaz.

Úložiště krabic

Naším posláním je klonujte úložiště krabica poté vytvořte aplikaci boxů.

Úložiště má stejné rozložení jako Atom. Je zde seznam složek a souborů a pod tím je obsah souboru readme. Dodržuje standardní rozložení pro úložiště, ale je to menší projekt, takže je zde méně složek a souborů.

Soubor readme je také stručnější. Má sekci nazvanou „Vývoj“. V této sekci je odkaz s názvem „budování ze zdroje“. Pokud budeme následovat tento odkaz, měli bychom najít informace potřebujeme.

K navigaci v úložišti a nalezení požadovaných informací je obvykle zapotřebí nějaké lehké sledování, ale není to obtížné. Pozorně si přečtěte vše na stránce úložiště. Někdy tam informace jsou, ale nemusí být nápadně zobrazeny.

Závislosti

Stránka „Building from Source“ má sekci nazvanou „Building on Linux“ a to je přesně to, co potřebujeme. Říká, že musíme mít a C kompilátor, bizon, a Flex nainstalováno.

Pokyny k sestavení říkají, že je třeba vydat příkaz make, takže budeme také potřebovat make.

Nástroje potřebné k sestavení této aplikace jsou kompilátor C, Bison, Flex, make a Git (pro klonování úložiště do vašeho počítače).

Tento článek byl zkoumán na počítačích s linuxovými distribucemi Ubuntu, Fedora a Manjaro. Žádná z distribucí neměla nainstalované všechny tyto nástroje – na každý z nich bylo nutné něco nainstalovat.

Instalace sady nástrojů

Ubuntu muselo mít nainstalované 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

Fedora musela mít nainstalovány Flex, Bison a make. Zde jsou příkazy:

sudo dnf install flex

sudo dnf install bison

sudo dnf install make

Manjaro muselo mít nainstalovaný kompilátor GCC, Flex a Bison. Zde jsou příkazy:

sudo pacman -Syu gcc

sudo pacman -Syu flex

sudo pacman -Syu bison

Klonování úložiště

Každé úložiště GitHub má specifickou webovou adresu, kterou Git používá ke klonování úložiště do vašeho počítače. Na hlavní stránce úložiště krabic je zelené tlačítko označené „Klonovat nebo stáhnout“.

The

Kliknutím na tlačítko zobrazíte webovou adresu. Toto je adresa, kterou musíme předat příkazu git, když klonujeme úložiště.

Přejděte do adresáře, do kterého chceme mít úložiště naklonováno, a poté použijte tento příkaz. Pokud to vaše okno terminálu podporuje, můžete zkopírovat a vložit webovou adresu do příkazu. Stiskněte Ctrl+Shift+V pro vložení do okna terminálu GNOME.

Git naklonuje vzdálené úložiště a vytvoří místní na vašem počítači. Říká nám, že se klonuje do adresáře zvaného „boxy“.

Adresář boxů je vytvořen v adresáři, ze kterého jste zadali příkaz git. Pokud se přepneme do adresáře boxů a podíváme se na obsah, uvidíme stejný seznam souborů a složek, jaký jsme viděli na stránce GitHub.

Skvělý! Úspěšně jsme naklonovali zdrojový kód a další soubory do našeho počítače. Nyní musíme sestavit aplikaci.

Sestavení aplikace

Pro sestavení aplikace musíme postupovat podle pokynů na úložišti GitHub. Někdy spustíme konkrétní soubor shellu a další spustíme make. Pokyny k sestavení, které dodržujeme, nám řekly, abychom spustili make.

Nástroj make čte a provádí sadu instrukcí ze souboru makefile. Tyto instrukce říkají make, jak program zkompilovat a propojit. make předá instrukce kompilátoru a dalším nástrojům pro sestavení.

Příkaz, který máme použít, zavolá make dvakrát. První volání vytvoří aplikaci a druhé spustí sadu testů.

Příkaz, který nám instrukce sestavení řekly, abychom použili, je:

make && make test

V okně terminálu se rychle posouvá mnoho řádků výstupu. Přibližně za minutu se vrátíte do příkazového řádku.

Rozmístění krabic Aplikace

Aplikace byla vytvořena a máme spustitelný binární soubor. Nyní musíme zkopírovat binární soubor do adresáře /usr/bin/. To umožňuje shellu najít jej, když se jej pokusíme použít.

U některých aplikací to může být vše, co musíte udělat. V jiných případech možná budete muset zkopírovat další soubory, jako jsou manuálové stránky a konfigurační soubory, do umístění v souborovém systému. To je to, co musíme udělat s naší novou aplikací, protože to bylo v pokynech k sestavení.

Ke spuštění těchto příkazů použijte sudo. První příkaz zkopíruje manuálovou stránku do adresáře man1:

sudo cp doc/boxes.1 /usr/share/man/man1

Dále zkopírujte globální konfigurační soubor do adresáře v /usr/share/:

sudo cp boxes-config /usr/share/boxes

Nakonec zkopírujte binární soubor do /usr/bin:

sudo cp src/boxes /usr/bin

Testování boxů Aplikace

Pojďme se podívat, jestli to všechno funguje! Zkuste otevřít manuálovou stránku pro příkaz boxy.

man boxes

To je povzbudivé! Zobrazí se manuálová stránka, která vám řekne, jak používat příkaz boxy.

Stisknutím „Q“ opustíte systém man a zkuste použít příkaz boxy.

echo How-To Geek | boxes

A dostáváme odpověď:

To se může zdát trochu zdrcující vzhledem k veškerému úsilí, které jste vynaložili, ale smyslem tohoto cvičení bylo provést vás stažením úložiště z GitHubu a vytvořením aplikace.

Příkaz boxy vám umožňuje zalomit text, který je do něj nasměrován, do široké škály rámců. Některé z nich lze použít jako komentáře v souborech zdrojového kódu. Výše uvedený formát by fungoval například jako komentář v souboru zdrojového kódu C. Ostatní jsou čistě dekorativní. Volba -d (design) umožňuje zvolit styl rámečku.

echo How-To Geek | boxes -d whirly
echo How-To Geek | boxes -d c-cmt2

Existuje dlouhý seznam designů, ze kterých si můžete vybrat. Chcete-li je zobrazit všechny, použijte tento příkaz:

boxes -l | less

Sestavení dokončeno

Kroky k sestavení ze zdroje jsou obvykle jednoduché:

Přečtěte si pokyny k sestavení v úložišti.
Zkontrolujte, zda máte nainstalované požadované nástroje, a nainstalujte všechny, které chybí.
Naklonujte úložiště do počítače.
Postupujte podle pokynů pro sestavení, které jsou často stejně jednoduché jako psaní make.
Zkopírujte soubory do požadovaných umístění.

Pokud jsou v pokynech k sestavení nejasné kroky, podívejte se, zda má projekt fórum nebo komunitu, kam můžete poslat dotaz. Pokud má aplikace webovou stránku, může mít stránku „Kontaktujte nás“. Vývojář, který spravuje projekt boxů, má svůj e-mail na stránce „O“. webové stránky boxů. To je z jeho strany velkorysé gesto a typické pro širší open source komunitu.