přejít na obsah přejít na navigaci

Linux E X P R E S, Gentoo: aneb vyplatí se stále kompilovat?

Gentoo: aneb vyplatí se stále kompilovat?

Gentoo

Gentoo je tu s námi jako distribuce již dlouhou dobu a spousta z vás jej určitě zná. Za dobu své existence se nejednou dostalo do skupiny distribucí, které vedou linuxový svět. Dokonce vývojáři ze společnosti Google na něm založili svůj operační systém Chrome OS. Je taky velmi známé jako distribuce pro „hardcore“ uživatele, co si chtějí dělat vše po svém. Bohužel postupem času se dostalo na pokraj zájmu (tedy alespoň podle statistik). Pojďme si ho tedy představit, jako dnešní moderní distribuci.


reklama

Od minulosti k současnosti

Jeho historie se začala psát v roce 2000, kdy jej vytvořil jeho „otec“ se jménem Daniel Robbins tehdy pod jménem Enoch. Robbins se již dlouhou dobu na jeho vývoji nepodílí, naposledy oficiálně přispěl v roce 2009 a od té doby se již stará o svou novou distribuci Funtoo. Největší slávu si Gentoo prožilo několik let po svém vzniku. Mohl za to především fakt, že počítače v té době neměli výkonu na rozdávání, a tak optimalizace kterou lze získat kompilací balíčků byla velmi žádoucí. Čas se ale sunul do předu a s tím i výkon počítačů, který byl čím dál větší. Díky tomu přišlo Gentoo o část svých uživatelů. Nebyl to, ale jen čas, kdo způsobil odliv uživatelů, byli to i časté spory mezi vývojáři, které trvaly někdy do roku 2013. Dnes už je situace okolo Gentoo klidná, vývoj probíhá stabilním tempem, a i situace okolo vývojářů se uklidnila. Dokonce lze nazvat komunitu okolo distribuce jako jednu z nejlepších, vždy pokud máte nějaký smysluplný dotaz nebo problém rádi vám pomůžou.

Nastavte si vše „podle své chuti“

Gentoo je jako distribuce maximálně flexibilní a celý systém si můžete sestavit podle svých představ. V základu (stage3) dostanete jen pár základních knihoven, skriptů a konfiguračních nástrojů. Pomocí těchto nástrojů si sestavíte systém dle vaší chuti. Je pravda, že instalaci nezvládne začátečník a už vůbec ne člověk co Linux ještě nikdy neviděl. Pokud ale již někde Linux provozujete, tak instalaci za pomocí Handbooku zvládnete lehce (je ale dobré si ho před instalací přečíst). Instalovat můžete buď z minimálního cd nebo z Live DVD. Pokud plánujete instalaci v režimu UEFI, tak je lepší instalovat z Live DVD.

Gentoo je známé také tím, že nabízí volnost v použití init systémů (lidé co opovrhují systemd můžou zajásat) a podporuje rovnou čtyři. Nejčastěji se ovšem setkáme s OpenRC, který je použit jako výchozí a v dokumentaci také většinou uvidíme i zmiňované systemd. Je pravda, že pokud chcete používat Gnome, tak se bez systemd neobejdete a obecně se doporučuje používat ho i s Plasmou, pokud proti němu nic nemáte.

1 Gentoo Handbook 1 Gentoo Handbook

Kompilujeme balíčky

Jestli jste již o Gentoo slyšeli, tak je možné, že to by v souvislosti v tom, že si někdo stěžoval na délku kompilace balíčků. To je možné, Gentoo totiž používá svého správce balíčků se jménem Portage, jehož charakteristickou vlastností je právě kompilace. Kdyby někdo netušil, co to ta kompilace je, tak to znamená, že se sestavují balíčky ze zdrojového kódu podle použitých USE flagů na vašem stroji za pomocí nějakého překladače (nejčastěji GCC).

Gentoo package list Gentoo package list

Portage pouze nestáhne balíčky a nerozbalí je jako běžný správce balíčků. Vykonává mnohem více práce – nejdříve urovná závislosti, potom stáhne zdrojové kódy daných balíčků, následně je sestaví (zkompiluje) dle vaší konfigurace make.conf (hlavní konfigurační soubor Portage, kde máte většinou zapsané zmiňované USE flagy) a nainstaluje. USE flagy slouží k regulování závislostí balíčků na jiných balíčcích a knihovnách. Prakticky je nemusíte řešit, ze začátku můžete používat jejich výchozí nastavení a případně časem si je můžete nastavit dle vaší chuti.

Balíčků je k dispozici asi 19 500 a další jsou k dispozici pomocí aplikace Layman, díky které si můžeme přidat i další repozitáře (většinou neoficiální).

2 Nejpoužívanější USE flagy 2 Nejpoužívanější USE flagy

Běží skoro všude

Gentoo je jedna z distribucí, které podporují spoustu platforem, je jich celkem deset (amd64, x86, alpha, arm, hppa, ia64, ppc, sparc, arm64, mips). Většina z nich je velmi kvalitně udržována a je velmi stabilní. Takže pokud máte doma nějaký „exotický“ hardware, který chcete oživit, tak jste na správném místě.

Situace ohledně nasazení na serveru je sporná a má svoje zastánce, ale i odpůrce. Mezi výhody patří právě možnost nastavení si všeho na míru (máte vše pod kontrolou) a celková stabilita tohoto řešení. Ovšem má to i nevýhody a mezi ně patří právě čas, který strávíte sestavováním systému (jak nastavováním, tak i kompilací) a hlavní spornou nevýhodou jsou aktualizace. Aktualizace je nutné provádět častěji, než jsou běžní správci zvyklí. Gentoo je rolling release distribuce, a tudíž se vám balíčky aktualizují vždy na nejnovější verzi. Kvůli tomu je nutné provádět častější aktualizace, doporučuje se jednou za týden. Kdybyste aktualizovali třeba po půl roce, tak by se mohlo stát, že se objeví tolik konfliktních závislostí, že se systém již neaktualizuje a jediným řešením bude udělat znovu instalaci. Lze jej tedy doporučit pro nějaký domácí testovací server, ovšem u produkčního serveru se vyplatí být opatrný.

Mimo to lze taky doporučit nasadit Gentoo na známý jednodeskový počítač Raspberry Pi, který je velmi dobře podporovaný a na oficiální wiki je velmi dobrý návod na instalaci. Zkušenosti uživatelů jsou velmi dobré a jediná nevýhoda je opět délka kompilace balíčků.

V nedávné době také proletěla světem zpráva o tom, že se nějakým hackerům podařilo spustit Gentoo na známé herní konzoly PS4, ale to je jen spíše zajímavost.

3 Aktualizace Gentoo 3 Aktualizace Gentoo

Zpět na desktop

Nejčastěji uživatelé používají Gentoo na desktopu. Je to hlavně díky dostatku populárních programů, stabilitě a dostupnosti mnoha desktopových prostředí – nejlépe je integrováno prostředí Plasma (KDE), které je velmi dobře odladěno a využívá ho primárně Live DVD. Pokud nejste příznivci Plasmy, tak nezoufejte, velmi dobře jsou udržována i ostatní prostředí (Xfce, LXQt, Mate, …). Problémy jsou jedině s Gnome, a to je vyřešeno používáním starších verzí. Gentoo vám velmi dobře bude sloužit jak na stolním PC, tak i na notebooku. Notebooky jsou u vývojářů Gentoo velmi oblíbené, a proto na oficiální wiki najdete popsaných mnoho notebooků, což se velmi hodí, pokud si sami nastavujete jádro nebo se snažíte zprovoznit Wi-Fi.

4 Plasma desktop na Live DVD 4 Plasma desktop na Live DVD

Závěrem

I když to tak na první pohled nevypadá, Gentoo je stále velmi aktivní distribuce. Pokud máte trochu času a chuť, tak určitě stojí za to ji vyzkoušet. Získáte tím nejen cenné zkušenosti, ale také možná zjistíte, že taková distribuce funguje jinak, než jste mysleli. Ano kompilace je sice delší než pouhá instalace, ale pokud vám nevadí, že vám na pozadí poběží několik procesů navíc (jen při instalaci nebo aktualizaci), tak vám určitě vadit nebude. Jako odměna vám za to bude dán rychlý a stabilní systém a případě problému vám pomůže velmi aktivní a ochotná komunita.

Odkazy

Nahoru

Příspěvky

Gentoo: aneb vyplatí se stále kompilovat?
Jirka 24. 01. 2018, 11:51:16
Odpovědět  Odkaz 
Tenhle typ práce s Linuxem (nutnost kompilace) je dost mimo mě, ale je určitě dobře, že se tomu někdo věnuje. Hardcore uživatel tak může ovlivnit to, co chce...

Nicméně jedna věc mi u kompilace není jasná: jak je vlastně ošetřeno to, kam všude se po kompilaci daná aplikace "rozleze" a jak je eventuelně možné ji kompletně smazat?

Ono tohle - pokud vím - i při instalaci z balíčků funguje jen třeba v Synapticu, kde je možnost volby mezi "Odstranit" nebo "Úplně odstranit" (včetně konf. souborů).

Čili to vede směrem k distribucím, které Synaptic používají. Pokud si matně vzpomínám třeba na openSUSE, tak tam (a to i s alternativními správci balíčků) byla možnost odinstalace jen jedna a mám pocit, že konfigurace zůstávaly...

Cítím tohle jako lehkou podobnost s Windows, kde se navíc průběžně zapisuje do registrů a časem tam smetí roste až k nepoužitelnosti. Tam ovšem existují nástroje jako CCleaner apod., které situaci alespoň částečně řeší.

Je úplná likvidace všeho při odinstalaci aplikací v Linuxu nějak cíleně řešená a jak se to dělá u kompilovaných aplikací?

Možná by to stálo za samostatný článek...
Re: Gentoo: aneb vyplatí se stále kompilovat?
Marián Kyral 24. 01. 2018, 13:31:51
Odpovědět  Odkaz 
> Nicméně jedna věc mi u kompilace není jasná: jak je vlastně ošetřeno to, kam všude se po kompilaci daná aplikace "rozleze" a jak je eventuelně možné ji kompletně smazat?

Kompilace i následná instalace probíhá v sandboxu. Ten si pak portage proskenuje a do databáze poznamená jaké soubory a kam se mají nainstalovat a následně provede opravdovou instalaci. A později je může zase odinstalovat. Taky si hlídá závislosti, takže knihovny kompletně odinstaluje až poté, co už opravdu nejsou potřeba.

Ale soubory, které si aplikace vytvoří až po instalaci portage nijak neřeší. Ty tam bohužel zůstanou a musí se promazat ručně (pokud na ně člověk někdy narazí).
Re: Re: Gentoo: aneb vyplatí se stále kompilovat?
Jirka 24. 01. 2018, 14:49:02
Odpovědět  Odkaz 
No, onen "portage" je zřejmě výlučnou záležitostí Gentoo (nebo odvozenin).

Já jsem ale ten dotaz myslel univerzálně, tedy prostě kompilace a instalace/odinstalace aplikací v Linuxu jako takovém...
Re: Re: Re: Gentoo: aneb vyplatí se stále kompilovat?
Marián Kyral 24. 01. 2018, 15:18:31
Odpovědět  Odkaz 
Myslím, že obecně se to řeší hodně podobně. Instalace se provede do prázdného stromu a vše co v něm je se zabalí do balíčku, který pak balíčkovací systém nainstaluje. Do databáze se pak poznamená co a kam se nainstalovalo, aby to bylo možné odinstalovat.

Navíc ve definici balíčků může autor definovat, které další soubory daný program za běhu vytváří a ty jsou pak odstraněny v té fázi "Úplně odstranit"

Co se obecně kompilace týká, tam záleží jednak na build systému daného balíku a taky jej autor nastavil.

Většinou se dá nakonfigurovat, kam se má instalovat (prefix=/usr/local) a většinou je kromě "make install" také definován cíl "make uninstall".

Nicméně vlastní kompilace je na linuxu až jedna z posledních možností instalace programů. Preferovány jsou předpřipravené distribuční balíčky.

A když se na to podívám blíže, tak jediný rozdíl mezi Gentoo a jinou distribucí je v tom, že u Gentoo se ten balíček kompiluje až při instalaci a na cílovém stroji. A i v Gentoo může být výsledkem kompilace binární balíček, který pak instaluji jinde.

Stejně tak si mohu stáhnout src.rpm a zkompilovat si vlastní rpm balíček.
Re: Re: Re: Gentoo: aneb vyplatí se stále kompilovat?
Vinicius 26. 01. 2018, 18:39:41
Odpovědět  Odkaz 
Obecně balíčkovací systémy při odinstalaci dokáží odstranit soubory o kterých při instalaci "vědí". Soubory, či další vedlejší efekty vytvořené aplikací samotnou po jejím používání balíčkovací systém neřeší, ale myslím, že při odinstalaci lze vlastně spustit libovolný skript.

Na druhou stranu, pokud se aplikace chová slušně, tak po ní zbudou jenom datové soubory vytvořené uživatelem (to je jistě žádoucí) a konfigurační soubory v domovském adresáři. Ty ale jen zabírají místo na disku, nic více.

Jistě jsou ale systémy provázaných aplikací, které používají jedno společné úložiště pro konfiguraci.

"Zanášení" systému hrozí daleko méně než u Windows. Není to až tak operačním systémem samotným, ale disciplínou tvůrců aplikací a uspořádáním souborového systému.

Novější Windows se ale k tomu uspořádání poněkud přibližují - už několik posledních verzí Windows má třeba koncept "domovského adresáře" a mnoho programu si ukládá svoji konfiguraci právě tam. Registr samozřejmě zůstává.
Re: Re: Re: Re: Gentoo: aneb vyplatí se stále kompilovat?
Jirka 26. 01. 2018, 22:25:33
Odpovědět  Odkaz 
U balíčkovacích systémů to je jasné, jenže já se ptal na chování při instalaci a odinstalaci pomocí kompilace...
Gentoo: aneb vyplatí se stále kompilovat?
Marián Kyral 24. 01. 2018, 13:44:06
Odpovědět  Odkaz 
Gentoo je fajn, některé baličky (libreoffice, webkit) jsou i na moderních systémech na zabití, počítání závislostí je někdy ukrutně pomalé a pokaždé se dělá znova, takže někdy i drobná oprava zadání (Změna Use flagu, odmaskování balíku) znamená další dvě minuty čekání.

Na druhou stranu, fórum a bugzilla je velmi aktivní a problémy na které občas narážím se tam řeší. I ta zmiňovaná aktualizace po půl roce je možná. Jen to chce více trpělivosti a sem tam něco konfliktního dočasně odinstalovat.

Super je možnost uživatelsky přidat patch, který se pak automaticky použije při kompilaci. Využitelné hlavně, když vývojáři něco pokazí, oprava existuje, ale neplánují kvůli ní vydat opravnou verzi a vydání další verze je v nedohlednu.
Re: Gentoo: aneb vyplatí se stále kompilovat?
Filip 26. 01. 2018, 06:36:50
Odpovědět  Odkaz 
Používám Gentoo pres 10 let a neměnil bych... Občas večer sync a pres noc dám update. Systém se nezadrhava... Jede pořád (nevypinam jen uspavam). Svoboda (mám tam jen to co chci) a možnosti systému jsou obrovské. Komplikace na výkonnějším notebooku netrvá zas tak dlouho, technika od té doby dost pokrocila. Pamatuji na své začátky kdy instalace systému byla otázkou 3 dnů a více. Člověk musí znát dobře svůj hw aby jej správně naklikal v kernelu, což mi kdysi trvalo i týdny :) Mohu říct že jsem asi běžný uživatel (nepíšu ebuildy, neprogramuju v Pythonu :) )
Gentoo: aneb vyplatí se stále kompilovat?
Vlado 28. 01. 2018, 08:54:38
Odpovědět  Odkaz 
Gentoo je výborné aj na malých strojoch, napríklad na malom netbooku (Intel(R) Atom(TM) x5-Z8350 CPU @ 1.44GHz) sa mi nedarilo nič seriózne rozbehať, zato Gentoo ide fajn aj s plasmou.
Samozrejme na kompiláciu som použil discc, inak by som na Libreoffice či Firefox čakal asi niekoľko dní. Druhá možnosť by bola použitie binárnych balíkov, zrovna tieto 2 existujú.

Přidat názor

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Top články z OpenOffice.cz

Tomáš Pospíšil

Jsem nadšenec do open-source technologií a zajímám se o vše ve světě Linuxu a *BSD.


  • Distribuce: Gentoo
  • Grafické prostředí: KDE



Public Relations

Obnovte ztracená data pomocí nástroje EaseUS Data Recovery Wizard Free

EaseUS Data Recovery Wizard FreeBezplatná aplikace Data Recovery Wizard Free od společnosti EaseUS je nejpoužívanějším softwarem, pokud jde o získání ztracených dat, ať už se jedná o data z pevného disku PC, paměťovou SD kartu, CF kartu, Apple desktop nebo MacBook. Tento software je vhodný pro nasazení ve firmě i pro individuální použití. Data Recovery se každým rokem upgraduje a nová verze pro rok 2018 byla právě vydána.

Pokračování ...