Instalujeme software do vlastního LFS systému

12. 5. 2009
Doba čtení: 7 minut

Sdílet

Dokončením instalace software z knihy LFS je vytvořen základní linuxový systém, který je sice plně funkční z hlediska operačního systému, ale nepříliš použitelný z pohledu uživatele. Software vybraný v LFS je vysloveně zaměřený na běh základního systému, jeho konfiguraci a jeho další rozšiřování. Co dál?

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

ict ve školství 24

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.

Atrinux

Autor článku