Hlavní navigace

Gentoo Linux - vezměte svůj Linux do vlastních rukou

9. 8. 2002
Doba čtení: 7 minut

Sdílet

Když jsem se před několika měsíci poprvé dozvěděl o Gentoo Linuxu, řekl jsem si, že to je distribuce přesně pro mě. Po několika letech a několika vyzkoušených distribucích jsem zatoužil po tom, vytvořit si vlastní Linux "from scratch" - tedy od nuly. Pokud si chcete něco podobného také vyzkoušet, je následující článek určen právě vám.

Na stránkách Gentoo Linuxu se dočtete, že Gentoo Linux je metadistribuce Linuxu založená na systému portů. To znamená, že namísto distribuce předkompilovaných a pěkně zabalených balíčků vám Gentoo Linux nabízí v podstatě pouze systém, který se postará o pohodlné stažení, zkompilování a instalaci programů ze zdrojových kódů.

Systém pro správu balíčků se nazývá Portage a je kompletně napsán v Pythonu. Nabízí kromě automatizované kompilace a instalace softwaru také systém řešení závislostí, odinstalaci, sandboxing (umožňuje instalovat software bez ovlivnění stávajícího systému) atd.

Pomocí konfiguračního souboru /etc/make.conf si můžete nastavit standardní volby, které budou použity při kompilaci (např. typ procesoru pomocí -mcpu apod.) a zkompilovat si tak celý systém optimalizovaný přesně pro Váš počítač.

Celou filosofii Gentoo bude asi nejlépe vysvětlit na instalaci samotné. Nebudu ji popisovat příliš podrobně – k tomu je určen vynikající instalační manuál – zaměřím se spíše na přehled jednotlivých kroků.

== Instalace ==

Gentoo (aktuální verze je 1.2) lze stáhnout v podobě ISO image pro vypálení na CD, nebo jako tarball, který je vhodný pro instalaci ze systému, kde už Linux běží. Já jsem se rozhodl pro instalaci na již fungujícím Linuxu, což představuje spoustu výhod. Můžete totiž na dvou virtuálních konzolích provozovat zároveň svůj stávající Linux a vedle instalovat na chrootovaném systému Gentoo. Navíc když uděláte nějakou chybu, vždy (skoro) tu máte možnost opravy.

Instalace je rozdělena do tří stádií (stage) a „předinstalační přípravy“. Pokud máte systém kompatibilní s architekturou i686 (Pentium Pro a vyšší), můžete si stáhnout instalační balíček s předkompilovaným systémem, který je už ve stádiu 3. My si ale popíšeme kompletní instalaci ze stádia 1.

Předinstalační příprava

Dříve, než můžeme začít podnikat cokoli dalšího, je třeba si Gentoo stáhnout. Základní (stage1) balíček má pouze 8MB, takže to půjde i přes vytáčenou linku. Poté je třeba vytvořit pro Gentoo vlastní diskový oddíl, namountovat ho a rozbalit do něj stažený balíček. Teď už můžeme pomocí příkazu chroot změnit kořenový systém a ocitneme se tak v systému Gentoo.

Nyní je třeba rozchodit síť, což ale v našem případě odpadá – máme přece vedle nainstalovaný plně funkční systém. Můžeme si tedy stáhnout aktuální „Portage tree“, tedy skripty, které popisují dostupné balíčky. Jejich velikost je cca 10MB, takže přes vytáčenou linku nám to dá alespoň čas uvařit si čaj a projít si další postup instalace.

Stage 1 – první stádium

Ve stádiu 1 si stáhneme a zkompilujeme gcc, standardní knihovnu glibc a několik dalších programů nutných ke kompilaci systému. Nejprve si však v /etc/make.conf nastavíme kompilační volby specifické pro naši architekturu, abychom dosáhli co nejlepší optimalizace systému. Samotný proces „bootstrapingu“ (jak byste tohle přeložili?) je pak už záležitostí skriptu, takže se nemusíte o nic starat.

Jediný problém nastává, pokud jste na vytáčené lince, protože stažení balíčků pro bootstrap je už trochu náročnější. Doporučuji podívat se do scriptu /usr/portage/scrip­ts/bootstrap.sh a stáhnout věci, na které se odkazuje (glibc, gcc, binutils apod.) někde jinde, donést je na zipce nebo cdčku a zkopírovat do /usr/portage/dis­tfiles. Tam totiž končí po stažení všechny balíčky pro případ, že by byly znovu potřeba, a Portage je tam hledá dřív, než se pokusí stáhnout je z internetu. Pokud jste na rychlé pevné lince nebo vám provolaný čas nevadí, můžete začít rovnou s výše uvedeným skriptem a jít si zdřímnout.

Stage 2 – druhé stádium

Když máme připravené vše pro kompilaci, můžeme přistoupit ke kompilaci vlastního systému. V této fázi si stáhneme a nainstaluje vše potřebné pro minimální fungující linuxový systém. Od této chvíle už budeme při instalaci komunikovat pouze se správcem balíčků Portage (ve skutečnosti jsme ho skrytě použili už při bootstrapingu prostřednictvím skriptu). Základním příkazem, který budeme používat, je:

emerge „package“

Tímto příkazem postupně stáhneme a nainstalujeme všechny závislosti pro „package“ a poté „package“ samotný. Pokud chceme zjistit, co se bude stahovat, použijeme:

emerge –pretend „package“

Přepínač –pretend zajistí, že se pouze vypíší všechny potřebné balíčky. Pro majitele vytáčených linek je tu krátký skript, kterým lze převést výstup z tohoto příkazu a získat tak přímo seznam souborů. Můžete si pak všechny soubory stáhnout na jiném počítači a přinést domů na vhodném médiu. Ideální je přesměrovat výstup ze skriptu do souboru a ten pak použít např. v kombinaci s wget.

emerge –pretend „package“ | p2files > soubory_ke_stazeni wget -i soubory_ke_sta­zeni –base=„http://m­irrors.sunsite­.dk/gentoo/dis­tfiles/“

Když máme všechno stažené, můžeme přikročit k instalaci vlastního systému. Ten je dostupný pomocí jediného „balíčku“ s názvem „system“. Pomocí „emerge system“ se tedy spustí instalace a můžeme si jít znovu schrupnout (a nebo do práce – podle nálady a denní doby).

Stage 3 – třetí stádium

Teď už máme všechno, co potřebujeme, chybí nám jen kernel a závěrečná konfigurace. Stáhneme si tedy kernel – jak jinak než pomocí „emerge“. Na výběr máme hned několik kernelů s různými přídavky (preemptible, low latency apod.).

Po jeho kompilaci a instalaci nám zbývá upravit pár nastavení, přidat případné další balíčky, popř. nainstalovat GRUB (pokud už nějaký bootloader nemáme) a je hotovo. Stačí rebootovat a máme běžící Gentoo Linux.

Další software

Málokdo by se ale asi spokojil s tak minimálním systémem – žádné X, jediný editor, žádné audio, video… nic.

Instalace dalšího softwaru už je nyní záležitostí Portage. Stačí zadat „emerge xfce“ a automaticky se vám stáhnou a nainstalují i všechny závislosti (X, Gtk+, …). Podobně můžeme nainstalovat třeba XMMS, KDE, GNOME – co vás napadne – výběr je jen na vás.

Než ale začnete, je vhodné v souboru /etc/make.conf nastavit v proměnné USE, co vlastně budete ve svém systému chtít. Např. při nastavení „mmx“ se vám při instalaci XMMS automaticky nainstaluje i podpora MMX, při nastavení „gnome“ se vám při instalaci programů, které mají nějakou zvláštní podporu pro gnome, nainstaluje i tato podpora. Naproti tomu pomocí „-kde“ dosáhnete toho, že se nenainstaluje žádné rozšíření pro KDE (příklady jsou pouze ilustrativní a nejsou nijak emocionálně zabarveny :). Nastavení USE může tedy vypadat např. takto: USE=„X gnome -kde avi png -gif mmx –3dnow …“. Více o možných volbách najdete v dokumentaci.

Jak dlouho to trvá?

Předpokládám, že každého v této chvíli napadne otázka: „Jak to proboha asi trvá dlouho – zkompilovat Xka nebo KDE?“

Pro informaci uvádím časy, které jsem získal na svém Pentiu-MMX 166, 80MB RAM, což, jak uznáte, je dneska už poměrně stařík:

bootstrap – méně než 9 hod. (večer spuštěno, ráno hotovo) system  – méně než 10 hod. (ráno spuštěno, večer hotovo) xfce (na naprosto holý systém, tedy včetně kompilace X) – 15,5 hod. gnucash (hned poté, spousta závislostí) – 10 hod.

Ostatní už pak tak dlouho netrvá, protože u prvních balíčků je třeba počítat se spoustou běžných závislostí. Např. gnome 2 trval necelých 6 hod., Gimp okolo 2 hod., menší věci zaberou chvíli.

Závěr

Jak vidíte, není instalace Gentoo Linuxu záležitost pro úplné začátečníky. S tím počítá i manuál a nerozebírá do detailů, jak vytvořit oddíl na disku, jak nakonfigurovat a nainstalovat kernel apod. Na druhou stranu je ale dostatečně podrobný pro běžného uživatele Linuxu, a tak by instalace neměla představovat problém. Navíc je podpora ze strany ostatních uživatelů i vývojářů velmi dobrá a na mailing listech se určitě dozvíte, jak vyřešit svoje případné problémy. Kromě toho je instalace velmi poučná, protože i když za vás systém dost věcí vyřeší, budete si muset např. sami vytvořit některé konfigurační soubory apod.

Samostatnou kapitolou je problém pomalého spojení na internet. Pro ty z nás, kteří disponují rychlým spojením z jiného počítače a k tomu zipkou či vypalovačkou, lze problém celkem pohodlně vyřešit. Ostatní si budou muset počkat na Gentoo 1.3 (věřím, že to nebude dlouho trvat), u kterého by měly být k disposici připravené ISO image i s běžně používanými programy (KDE, Gnome, Apache apod.) – samozřejmě ve zdrojové podobě :)

root_podpora

Pokud tedy máte čas a chuť vyzkoušet něco nového, možná se i něco nového dozvědět a k tomu ještě rychlé připojení na internet, neváhejte a instalujte. Odměnou vám bude Linux, který bude plně optimalizovaný pro Váš počítač, budete ho mít plně pod kontrolou a budete vědět, co v něm máte. Lidé, kteří si Gentoo nainstalovali, tvrdí, že díky optimalizaci celého systému dosáhli značného zrychlení běhu programů. Můžu jen potvrdit, že i když nejde o zázraky, některé aplikace se viditelně zrychlily.

p.s.- než se nějaký debianista zeptá – „emerge –update world“ provede update celého systému.

Byl pro vás článek přínosný?

Autor článku

Bedřich Košata je vedoucím Laboratoří CZ.NIC, výzkumného a vývojového centra sdružení CZ.NIC, správce české národní domény.