====== Instalace programu ze zdrojového kódu ======
Jak nainstalovat balíček (když to "opravdu, ale opravdu" jinak nejde)
====== Svatá trojice configure - make - make install ======
===== Proč se téhle variante raději vyhnout =====
Tento způsob instalace obchází [[:software:instalace:rpm|balíčkovací systém RPM]] v Mageii. Instaluje do systému soubory, o kterých balíčkovací systém neví. Může to způsobovat nerůznější komplikace:
* aplikace nelze snadno odinstalovat a z důvodů dále uvedených se to obvykle ani nedělá. Pokud chybí odinstalační script, nikdo neví, kde a jaké soubory v systému jsou nainstalovány a co tedy smazat
* budoucí instalace nějakého [[:software:instalace:rpm|rpm balíčku]] může přepsat soubory nainstalované bez vědomí ''rpm'' systému, a to se všemi důsledky pro instalovaný program
* při odinstalaci scriptem, který byl přiložen k programu, se mohou smazat i dodatečně instalované soubory nezbytné pro fungování jiných, později nainstalovaných programů
====== Jak provést instalaci ======
* mějte nainstalován balíček ''kernel-verze-devel-číslo.rpm'' podle jádra, které používáte. Místo ''verze'' bude uvedeno ''desktop'', ''laptop'' ap., podle toho, co uvádí výpis z příkazu [[:system:prikazovy_radek:systemove_informace#uname|uname]]: \\ [[:system:prikazovy_radek#konzole|{{wiki:icons:konzole.png?40 |Konzole}}]]
$ uname -a
Chcete/potřebujete nějaký program, který je k mání pouze ve formě zdrojových kódů:
* stáhnete si tedy ze stránek výrobce programu soubor ''muj_program.tar.gz'' a uložíte ho do nějakého adresáře (typicky ''~/Download/muj_program.tar.gz'')
* otevřete si program [[:konzole|Konzole]]
* přejdete do adresáře se souborem, v našem příkladu \\ [[:system:prikazovy_radek#konzole|{{wiki:icons:konzole.png?40 |Konzole}}]]
$ cd ~/Download
* pro jistotu si ověříte, že jste na správném místě: \\ [[:system:prikazovy_radek#konzole|{{wiki:icons:konzole.png?40 |Konzole}}]]
$ pwd /home/user/Download
* jsme na správném místě, můžeme pro jistotu zkontrolovat, že jsme soubor uložili na správné místo: [[:system:prikazovy_radek#konzole|{{wiki:icons:konzole.png?40 |Konzole}}]]
$ ls |grep muj_program
muj_program.tar.gz
* nyní musíme program z archívu (soubory jsou na internet dávány v komprimovaném stavu, aby se nemuselo stahovat tolik dat) tzv. rozbalit, dekomprimovat. K tomu slouží program [[:system:prikazovy_radek:archivy#tar|tar]]: \\ [[:system:prikazovy_radek#konzole|{{wiki:icons:konzole.png?40 |Konzole}}]]
tar -xzf muj_program.tar.gz
Archiv se rozbalí do podadresáře s názvem programu. Parametry znamenají následující:
|Parametr:|Popis:|
|''x''| - e''X''trakce, tedy rozbalení souborů z archívu|
|''z''| - použije se pro soubory zabalené komprimátorem g''Z''ip (obvykle soubory s příponou ''.gz'', ''.gz2'')|
|''f''| - všechny (''F''ile) soubory|
Nyní tedy máte adresáři ''~/Download/muj_program/'' zdrojové soubory instalovaného programu.
* Přejdete do adresáře programu příkazem \\ [[:system:prikazovy_radek#konzole|{{wiki:icons:konzole.png?40 |Konzole}}]]
cd muj_program
* najdete tam textový soubor s instalačními instrukcemi, obvykle se jmenuje ''readme'', ''README'', ''README.TXT'' apod. Instalace u mnoha programů neprobíhá podle stejného postupu, tady by jste měli najít potřebné informace (zpravidla angl.), někdy jsou zde zmíněny i potřebné knihovny či programy, které instalovaná aplikace potřebuje pro svoji funkci)
* pokud zde není uvedena žádná záludnost, ověřte si, že v adresáři existuje soubor ''configure''. Pokud ano, bude se začínat příkazem ''./configure'' (některé programy začínají instalaci rovnou příkazem ''make''; mělo by to být zmíněno v ''readme'')
* spustíte příkaz \\ [[:system:prikazovy_radek#konzole|{{wiki:icons:konzole.png?40 |Konzole}}]]
./configure
a budete sledovat výpisy v [[:konzole|Konzoli]]. Při ''configure'' se vypisují zjištěné systémové informace, verze klíčových programů, nainstalované knihovny či programy nezbytné pro funkci instalované aplikace. Pokud výpis končí zprávou o chybě, bude potřeba do systému nainstalovat příslušnou knihovnu či program. Někdy budete potřebovat najít konkrétní soubor, který chybí. Napomohou vám následující příkazy: \\ [[:system:prikazovy_radek#konzole|{{wiki:icons:konzole.png?40 |Konzole}}]]
$ urpmf --name nazev_balicku (vyhledá balíčky, kde se vyskytuje hledaný název)
$ urpmf --files nazev_souboru (vypíše soubory v balíčku obsažené)
$ urpmf --filename nazev_souboru (vypíše balíčky, obsahující hledaný soubor)
Všimněte si, že řádky až dosud začínají značkou "''$''" - příkazy tedy spouštějte jako běžný uživatel.
* otevřete si další okno s Konzolí, tam se přihlašte jako [[:root|správce (root)]] pomocí příkazu: \\ [[:system:prikazovy_radek#konzole|{{wiki:icons:konzole.png?40 |Konzole}}]]
$ su
a pomocí příkazu \\ [[:system:prikazovy_radek#konzole|{{wiki:icons:konzole.png?40 |Konzole}}]]
# urpmi nazev_balicku
doinstalujte, co chybí.
* spouštějte příkaz \\ [[:system:prikazovy_radek#konzole|{{wiki:icons:konzole.png?40 |Konzole}}]]
$ ./configure
tak dlouho, dokud neproběhne bez chybových hlášek.
* po úspěšném provedení příkazu ''configure'' následuje příkaz \\ [[:system:prikazovy_radek#konzole|{{wiki:icons:konzole.png?40 |Konzole}}]]
$ make
Postup je stejný. Sledujte chybová hlášení, pokud si instalátor stěžuje, že mu něco chybí ke spokojenosti, musíte to doinstalovat a spustit příkaz znovu (a znovu a znovu... :-) )
* úspěšným provedením příkazu ''make'' končí přípravné práce. Nyní je na řadě ''make install''. Nyní již musíte být [[:root|správce (root)]], protože instalujete do systému další komponentu: \\ [[:system:prikazovy_radek#konzole|{{wiki:icons:konzole.png?40 |Konzole}}]]
$ su
Heslo: (napište sem heslo správce, nevypisuje se na obrazovku)
[root@localhost user]# make install
Pokud instalace proběhne vpořádku, máte v systému nový program, knihovnu, utilitu. :-)
Lze předpokládat, že nový program nebude uveden v grafickém menu. Pokud ho tam chcete mít, musíte si ho tam přidat ručně.
Návod jak nainstalovaný program spustit [[software:instalace:rpm#spusteni_nainstalovaneho_programu_z_rpm|najdete zde]].