Hlavní navigace

LFS: postavte si vlastní Linux

20. 4. 2009
Doba čtení: 4 minuty

Sdílet

Možná znáte seriál The Big Bang Theory. Konkrétně ten díl, kde parta fyziků předvádí své kamarádce ovládání hudební věže pomocí signálu, který oběhne celou planetu po internetu. Ona se jich ptá, proč to dělají. A oni odpoví: „Protože můžeme!“ Stejné je to i s projektem Linux From Scratch.

Co je to Linux From Scratch

Linux From Scratch (dále jen LFS) vlastně není distribucí v pravém slova smyslu. Jde spíš o ucelený a propracovaný návod, jak na svém počítači vlastními silami vytvořit operační systém s jádrem Linux. Tedy to, co normálně za uživatele dělají tvůrci distribuce. Popisuje, jaký software je k tomu potřeba, kde jej vzít a co udělat, aby to fungovalo. Tato dokumentace je dostupná na Linux From Scratch.

LFS se zabývá vytvořením základního operačního systému postaveném na linuxovém jádře přímo překladem ze zdrojových kódů. Výsledný systém je klasická příkazová řádka v textovém režimu. Ovládá se pomocí standardních příkazů zadávaných na klávesnici. Obsahuje pouze nejnutnější software potřebný pro to, aby počítač nabootoval, byl schopen se připojit k síti a mohly v něm být přeloženy další programy. Toto je dostačující základ, na kterém lze vytvořit prakticky cokoliv. Cílem LFS je právě tento základ. Jak s ním dále bude naloženo, je již plně pod kontrolou uživatele. Takže uživatel si rozhodne (a taky sám obstará, přeloží, nainstaluje a nakonfiguruje), jaké grafické pracovní prostředí chce, jaké aplikace bude potřebovat, jak budou rozložené a využité adresáře, jaký a zda vůbec nějaký balíčkovací systém, jak to celé bude startovat atd.

Na webu projektu je kromě základního LFS i řada další užitečné dokumentace – například kniha Beyond LFS, která obsahuje návody na instalaci nejpoužívanějšího OSS přímo ze zdrojových kódů, díky nimž je možné snadno si vlastnoručně vytvořit plnohodnotný desktopový systém. Dále dokumenty označené jako „Hints“, kde, jak už sám název napovídá, je k nalezení celá řada rad, jak co nastavit, zprovoznit či zjednodušit. Také je zde k nalezení LiveCD, jež obsahuje vše potřebné pro budování vlastního systému. Toto se hodí, pokud se chce někdo do LFS pustit, ale nemá nainstalovánu žádnou linuxovou distribuci, jež je pro tvorbu LFS nezbytná.

Cíle tohoto seriálu

V této minisérii článků bych rád přiblížil celý tento proces. V dnešním díle pojednám především o tom, proč se do něčeho takového pouštět, co je možné tím získat a jaké jsou výhody či nevýhody. V dalších dílech rozeberu proces vlastní tvorby systému LFS a v poslední části popíšu, co dál s hotovým systémem, tedy to, čím se zabývá kniha BLFS. Tato minisérie si klade za cíl vnést světlo do tématiky a ukázat, že se ani zdaleka nejedná o natolik složitou a nepraktickou záležitost, jak by se mohlo na první pohled zdát.

Odkud se LFS vzalo?

Na počátku projektu LFS stál roku 1998 jistý Gerard Beekmans, který, nespokojený s žádnou tehdejší distribucí, usoudil, že nejlepší bude, když si vytvoří vlastní systém. Poté co se mu jeho záměr podařil, napsal HOWTO, o které se podělil s tehdejší linuxovou komunitou. Ono HOWTO se do dnešního dne rozrostlo do knihy o 315 stránkách (platí o současné stabilní verzi 6.4 v PDF formátu). Jak už jsem uvedl – obsahuje opravdu podrobný popis, jak ze zdrojových kódů vytvořit základní funkční systém, kde ty zdrojové kódy vzít a jakým způsobem a v jakém pořadí je přeložit a nainstalovat.

Pustit se do toho či ne?

S touto knihou po ruce si takový systém může vytvořit každý, pouhým následováním návodu. Každý krok je srozumitelně vysvětlen, každý parametr příkazu je popsán. Jistá výchozí počítačová gramotnost je samozřejmě vyžadována, pro naprostého nováčka to asi není. Na druhou stranu nováček, který by tomu věnoval ten čas a prokousal se úspěšně k funkčnímu systému, by ze získaných vědomostí mohl jenom těžit. Gerard Beekmans sám v předmluvě ke knize zdůrazňuje především vzdělávací význam tvorby LFS. Po dokončení tvorby LFS by měl tvůrce mít jasno mimo jiné v tom, co je vlastně v systému důležité, na čem to celé stojí a co na čem závisí.

Dalším, poněkud prozaičtějším důvodem, je možnost získat systém ušitý na míru svým požadavkům. Ačkoliv nelze upřít tvůrcům klasických distribucí snahu, přece jenom není možné zavděčit se všem. A těm nespokojencům se v LFS prostě přímo nabízí možnost udělat si systém sám podle svých představ. Nemusí jít však pouze o nespokojence, může jít i o nějaké speciální případy, třeba o požadavek na minimální jednoúčelový systémek – díky ovládnutí tajů tvorby vlastního systému je možno vytvořit systém o velikosti řádově pár MB.

Tvorba vlastního linuxového operačního systému má ale i jednu velkou nevýhodu – je časově hodně náročná. Zatímco klasickou binární distribuci je možno mít na disku do hodiny, v případě LFS je třeba počítat s mnoha hodinami až dny v závislosti na výkonu počítače, na kterém probíhá kompilace jednotlivých programů. Taktéž instalace každého dalšího software může být časově náročná právě díky tomu, že se bude hodně pravděpodobně taktéž kompilovat ze zdrojových kódů.

CS24_early

Shrnutí

Neexistuje a ani nikdy nebude existovat operační systém, který by stoprocentně vyhovoval úplně všem. Linux je pouhé jádro operačního systému, které vytváří jakousi pomyslnou vrstvu, na jejíž jedné straně stojí hardware počítače a na té druhé jsou uživatelovy aplikace. Uživatel má v podstatě na výběr ze dvou možností – buď se spolehne na nějakou distribuci, která mu naservíruje ony aplikace pod nos, a nebo si je obstará sám. Pro ty, co se rozhodnou pro vlastní cestu, je tu dokumentace LFS, kde najdou vše, co budou na této cestě potřebovat. Uživatel tak má možnost si vytvořit systém, který bude na těch sto procent vyhovovat aspoň jemu samotnému. Linux a open source software toto umožňují, tak proč toho nevyužít?

Příště se podíváme, jak se to vlastně dělá.

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

Autor článku