Beyond Linux From Scratch
Proto je třeba, se hned pustit do další fáze a tou je instalace grafického prostředí a vlastních aplikací. Tímto se
zabývá kniha Beyond Linux From Scratch. Kniha je volně ke stažení na domácích stránkách projektu BLFS a je stejně jako LFS
v pdf formátu i v html k online prohlížení.
V knize LFS bylo v počáteční fázi nutno postupovat balíček po balíčku, díky závislostem. Některý
balíček vyžadoval pro svou instalaci mít již nainstalovaný jiný balíček, tento se tedy musel instalovat dříve. Od
určitého okamžiku výše (nainstalování readline) už se žádné takové závislosti nevyskytovaly a tak se postupovalo
jednoduše podle abecedy. Trochu jinak je tomu v knize BLFS. I zde se vyskytují balíčky, jež závisí na
jiných balíčcích, ale místo lineárního řazení jsou balíčky uvedené v tématických skupinách, a na čem který balíček
závisí je uvedeno přímo v návodu jak balíček nainstalovat. Kniha je i ve verzi pdf plně hypertextová, takže seznam
závislostí jsou odkazy, jejichž prokliknutím se přeneseme rovnou na návod, jak onu závislost nainstalovat.
Instalace tedy neprobíhá lineárně, jak tomu bylo u LFS, ale tak, že uživatel si vybere aplikaci, kterou
chce nainstalovat, zkonzultuje návod v BLFS, zkontroluje, na čem balíček závisí, a potřebné doinstaluje.
Seznam závislostí bývá rozdělen do sekcí Required, tedy ty které jsou opravdu potřeba, a Optional, neboli
volitelné. Ty volitelné většinou zprovozňují nějaké přídavné funkce aplikace, které ale nejsou pro samotný běh kritické.
V případě, že je nepotřebujeme, není třeba je instalovat.
Hlavně zpočátku se nám bude stávat, že narazíme na závislost, která dále závisí na něčem jiném. Chce to trochu
trpělivosti, tato mrzutá situace velmi rychle přejde, s přibývajícími balíčky v našem systému budou přibývat i knihovny
a stále častěji se nám bude stávat, že jenom zběžně prolétneme seznam závislostí a konstatujeme „to všechno už tam mám“ a
rovnou instalujeme. Jakkoliv se závislostmi straší, kde se dá, ve skutečnosti se dá postavit klasický desktopový systém,
aniž by se v tom člověk ztratil, celkem jednoduše.
Doladění startu počítače
Než se ale pustíme do instalace grafického prostředí, je vhodné doladit pár věcí. Předně je nutné prozkoumat, zda je
správně zkompilovaný kernel, zda všechen hardware je vidět ve výpisu dmesg, případně v utilitách jako
je lspci a lsusb. Taky je třeba zkontrolovat, zda se správně načítají ty části jádra,
které jsou zkompilovány jako moduly. Kernel, neboli Linux, je srdcem a hnacím motorem systému, je proto
opravdu nutné, aby fungoval správně. Individuální přístup nám dává možnost si vytvořit kernel přesně na míru našemu
hardware, zároveň nám ale dává možnost na něco důležitého zapomenout. Všechno se sice dá později napravit, ale proč
nevyužít momentálně prázdného systému, kdy se ještě nestartují žádné služby a boot je tedy opravdu bleskurychlý.
V souvislosti s kernelem je taky dobré otestovat systém udev (pokud jej budeme používat).
Udev slouží k dynamickému vytváření souborů v adresáři /dev – pokud například k
počítači připojíme nějaké usb zařízení, kernel o tom řekne udevu a udev vytvoří v adresáři /dev
příslušný soubor podle určitých pravidel, a tento soubor potom uživatel může použít pro přístup na zařízení. Pokud pro
tento systém máme nějaká vlastní pravidla, můžeme teď vyzkoušet zda fungují.
Poté co jsme spokojeni s kernelem a případným systémem udev, je nutné vyladit konfiguraci bootování. Jediné, co se pustí
samo, je totiž kernel a ten automaticky pustí init, ale dál už se stará jen o své záležitosti. Co
provede init, už je čistě na uživateli. Init má svůj konfigurační skript
/etc/inittab, ve kterém se nastavuje defaultní runlevel, jaký skript pro jaký runlevel se spustí, a
taky jaký skript bude ten hlavní startovací. Tento skript je ten, který nás zajímá, v něm my můžeme nastavit, co přesně
se má při startu počítače pustit a jaké proměnné se mají nastavit. Opět nám individuální přístup dává možnost si celý
proces startování počítače udělat velmi jednoduše a přesně na míru našim potřebám, ale zároveň nám nechává prostor pro
chyby. Součástí knih LFS a BLFS jsou i ukázkové bootskripty, je dobré do nich
nahlédnout a inspirovat se. Soubor /etc/inittab může vypadat třeba takto:
id:5:initdefault: si:S:sysinit:/etc/rc.d/rc.sysinit l0:0:wait:/etc/rc.d/rc.0 l1:1:wait:/etc/rc.d/rc.1 l2:2:wait:/etc/rc.d/rc.2 l3:3:wait:/etc/rc.d/rc.3 l4:4:wait:/etc/rc.d/rc.4 l5:5:wait:/etc/rc.d/rc.5 l6:6:wait:/etc/rc.d/rc.6 ca:12345:ctrlaltdel:/sbin/shutdown -t1 -r now su:S1:respawn:/sbin/sulogin c1:2345:respawn:/sbin/agetty tty1 38400 linux c2:2345:respawn:/sbin/agetty tty2 38400 linux c3:2345:respawn:/sbin/agetty tty3 38400 linux c4:2345:respawn:/sbin/agetty tty4 38400 linux c5:2345:respawn:/sbin/agetty tty5 38400 linux c6:2345:respawn:/sbin/agetty tty6 38400 linux
Grafické prostředí Xorg
V okamžiku, kdy máme vyřešené tyto záležitosti, můžeme postoupit dále a pustit se do instalace Xorg.
Opět nás čeká kolotoč kompilací. Xorg je od verze 7.0.0 plně modulární, což znamená, že už není možno
stáhnou celý Xorg jako jeden velký balíček, ale nyní je to hromada balíčků a uživatel si může vybrat,
které chce. Vyznat se v tom napoprvé je téměř nemožné, naštěstí máme BLFS, kde je problému kompilace a
instalace Xorg věnována celá jedna sekce knihy. Je zde doporučeno, které balíčky jsou opravdu potřeba a
taky je názorně ukázáno, jak je jednoduše nainstalovat. Xorg se důsledně drží svaté trojice, což
znamená, že všechny moduly se kompilují a instalují naprosto stejně. To umožňuje dávkovou kompilaci a instalaci – pomocí
jednoho cyklu for se můžou najednou stáhnout, rozbalit zkompilovat a nainstalovat všechny potřebné balíčky
Protocol Headers například. Poněkud horší situace je u Xorg Libraries, kde jsou
některé vzájemné závislosti, které je třeba dořešit. Podrobný přehled všech vnitřních závislostí Xorg
je dostupný na wiki stránce LFS
Pokud se úspěšně prokoušeme instalací Xorg, máme v podstatě hotovo. Zbývá vybrat si a nainstalovat
oblíbené desktopové prostředí a zařídit, aby se to celé správně spustilo při puštění počítače a můžeme směle říci, že
máme nainstalován plnohodnotný linuxový systém včetně grafického prostředí. Tady je ta pomyslná hranice, kde končí
systém, a kde začíná uživatelovo pracovní prostředí. Následuje už jenom výběr aplikací potřebných k práci. Pokud jsme
došli až sem, je toto pro nás už hračka. Navíc stále máme k dispozici knihu BLFS, kde je spousta toho
nejpoužívanějšího software podrobně probrána.
Jak na aktualizaci
Protože software se neustále vyvíjí, stále vycházejí nové a nové verze, dostaneme se určitě i my někdy do situace, kdy
zatoužíme po aktualizaci. Klasické distribuce dotáhly pohodlnost aktualizací v podstatě k dokonalosti, a pokud uživatel
chce, může se mu software aktualizovat plně automaticky, maximálně odklikne souhlas.
V systému, který si tvoříme sami, jsme i sami odkázáni na udržování aktualizací, pokud o ně stojíme. Nic nám nebrání v
tom aktualizovat a samozřejmě nám nic ani nebrání setrvávat u verze aplikace, se kterou jsme spokojení. Případná
aktualizace pak probíhá zcela klasicky stažením nové verze, jejím zkompilováním a nainstalováním. Pokud novou verzi
nainstalujeme do samostatného adresáře například v /opt, můžeme mít klidně zároveň novou verzi i starou
pro případ, že by se nová neosvědčila.
V klasických distribucích se software instaluje a aktualizuje hlavně z distribučních repozitářů. Odkud jej ale vezmeme
my v našem vlastním systému? Nejlépe z domácích stránek jednotlivých programů, kde je k nalezení vždy nejaktuálnější
verze a spousta dalších informaci – kontakty na tvůrce, dokumentace atd. Kromě nejaktuálnějších verzí bývá volně
dostupný i archív starších verzí, takže si můžeme vybrat přesně tu verzi, kterou chceme.
Další možností je využít služeb serveru SourceForge.net. Jde o free hostingový
server, poskytující prostor a služby pro open source software projekty. V současné době je zde registrováno více než
230 000 projektů a přes 2 milióny uživatelů. Umožňuje vyhledávat v tomto množství software dle kritérií jako použitý
programovací jazyk, typ software, operační systém na kterém běží, jeho licence a v neposlední řadě dle zadaného
klíčového slova. Ale vyhledáváním jeho služby zdaleka nekončí. Pro registrované uživatele nabízí jednak prostor pro
umístění vlastního projektu a jednak rozšířené služby jako upozorňování na nové verze, ukládání výsledku vyhledávání,
diskusní fórum, různé žebříčky dle stahovanosti, aktivity vývojářů a podobně.
SourceForge není samozřejmě jediným svého druhu, obdobné služby poskytuje
code.google.com nebo třeba Freshmeat. Českým uživatelům je jisté dobře známý
projekt Linuxsoft, který vytváří přehledný archív software pro linux.
Závěr
Individuální přístup k tvorbě systému, o kterém byl celý tento miniseriál, nám kromě znalostí přinese především funkční
a použitelný systém. Tento systém se, záhy po dokončení instalací, ukáže být takřka bezúdržbový, veškerá konfigurace se
provádí totiž již během instalací a provádí se přímo na míru konkrétního případu a podle konkrétních potřeb uživatele.
Veškerá další systémová údržba spočívá pouze v případném dodatečném doinstalovávání software nebo jeho aktualizací.
Odpadá tak poinstalační opravování konfigurace, rozchozování hardware a různých částí systému, tolik známé z klasických
distribucí, a je tím tak trochu kompenzována ona delší doba instalace. Na druhou stranu – vždycky se najde něco, v čem se
dá vrtat. A je dobře pokud se najdou uživatelé ochotni se v tom vrtat, protože takové uživatele Linux
potřebuje jako sůl.
Na úplný závěr si dovolím obrázek, na kterém je vidět, jak vypadá kompilace Amaroku 1.4.10 v mém systému, který jsem si skromně nazval Atrinux.

