Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Linux From Scratch

O projektu Linux From Scratch (LFS) se toho na českém Internetu zatím mnoho nenapsalo, přestože tato linuxová metadistribuce není již jen prostým HOWTO dokumentem, ale propracovanou knihou, která na podzim minulého roku vyšla ve verzi 6.0. Následující článek by si přál tuto situaci alespoň částečně zlepšit a přinést letmé seznámení s tímto zajímavým systémem.

Tweetni to Twitter Jaggni to! Jagg Del.icio.us Delicious

Distribuce, nebo kniha o Linuxu?

Na začátku stál roku 1998 Gerard Beekmans. Gerhard nebyl spokojen se žádnou z tehdy nabízených distribucí, a rozhodl se proto vytvořit si vlastní systém ze zdrojových textů za pomoci již existující linuxové instalace. Tento nový systém nazval příhodně Linux From Scratch a své zkušenosti s ním shrnul v linuxovém HOWTO dokumentu. Neméně důležitým záměrem k jeho sepsání bylo dát uživateli možnost porozumět vnitřnímu fungování Linuxu. Popularita projektu rychle vzrůstala a z HOWTO se za pomoci komunity vývojářů stala elektronická kniha, kterou lze na webu projektu nalézt ve verzi 6.0; hlavní idea, didaktický charakter a otevřená licence nadále zůstávají. LFS je tedy skutečnou metadistribucí, protože výsledkem práce týmu okolo projektu LFS není několik CD nabitých balíčky jednotlivých programů, ale dokument podrobně popisující instalaci základního Linuxového systému. Svým charakterem metadistribuce má LFS blízko k mladšímu projektu Gentoo, kde však u Gentoo stojí portage s ebuildy a emerge, nastupuje u LFS kniha a klávesnice.

Proč chtít LFS?

Již z prvního odstavce je jistě zřejmé, že nainstalovat LFS asi nebude úplně snadné. Proč tedy nesáhnout po binární distribuci a probdít několik nocí nad ruční kompilací? Kniha uvádí důvodů hned několik:

  • naučit se, jak v Linuxu a GNU systému věci fungují,
  • získat více kontroly nad systémem bez spoléhání se na nastavení někoho jiného (odtud i podtitul distribuce – „Your Distro. Your Rules.“)
  • možnost sestavit velice malý linuxový systém (menší než 100 MB),
  • bezpečnost získaná vlastnoručním aplikováním patchů na zdrojové kódy.

První dva důvody budou asi pro většinu lidí tím, proč se pro LFS rozhodnou. Jedno je však jisté – LFS není správná volba pro někoho, kdo ještě nikdy s Linuxem či Unixovým systémem nepracoval, nebo pro začátečníka, který neumí pracovat se základními příkazy typu ls, cp, mv, či který se domnívá, že M4 je zpravodajská agentura a mount /dev/hda himalájská osmitisícovka. Problémem pro některé uživatele by také mohl být fakt, že dosud neexistuje český překlad knihy. Zbudování LFS je poměrně náročné a nezdar na první pokus proto není výjimkou.

Před instalací

LFS verze 6.0 je založeno na gcc-3.4.1, glibc-2.3.4–20040701, binutils-2.15.91.0.2 a kernelu 2.6.8.1. Libovolný balíček v LFS lze samozřejmě nahradit verzí novější, ovšem za podmínky, že víte, co děláte. Alespoň napoprvé je vhodné držet se hesla fbbg – „Follow Book, Book Good.“. Ačkoli hlavní ideou LFS je tvorba systému „dle svého“, drží se kniha v hlavních částech linuxových standardů, a to např. Filesystem Hierarchy Standard či The Linux Standard Base a jako init systém nabízí Sysvinit, takže i bez velkého přemýšlení lze získat standardně použitelný linuxový systém.

LFS může zkušený uživatel na rychlém počítači sestavit za půl dne, ovšem horní hranice je neomezená – záleží na rychlosti stroje a vaší trpělivosti. Pokud se rozhodnete gcc-3.4.1 nahradit verzí 2.95.x, může se kompilace urychlit, neboť gcc-2.95.x pracuje o kousek rychleji než řada 3. Kniha u každého balíčku uvádí dobu potřebnou k jeho překladu, a to v poměrných jednotkách SBU – Static Binutils Unit – které jsou podílem dob potřebných k překladu aktuálního balíčku a prvního balíčku, kterým je binutils. U většiny balíčků jsou k dispozici poinstalační testy, které kontrolují správnost překladu, a kniha je v mnoha případech doporučuje provádět. Tyto testy však často trvají mnohonásobně déle než samotný překlad, proto pro uživatele s pomalejšími stroji stojí za to zvážit, zda je spouštět či ne.

Před vlastní instalací je také vhodné se rozhodnout pro některou z gcc optimalizací. Nejjednodušší pro optimalizaci rychlosti by mohlo být nastavit před začátkem instalace proměnné CFLAGS resp. CXXFLAGS, např. v bashi takto:

export CFLAGS="-O3 -march=<architektura>"
export CXXFLAGS=$CFLAGS

kde „<architektura>“ může být například „athlon-xp“ či „pentium4“. K volbě „-O3“ je však třeba přistupovat opatrně, protože cenou za marginální zvýšení rychlosti výsledné binárky může být podstatné zvýšení její velikosti a nestabilita –„-O2“ je proto mnohdy lepší volbou. Nejlepší je samozřejmě konzultovat dokumentaci gcc a vybrat správně řešení na míru.

Instalace LFS

Ke zbudování LFS ve verzi 6.0 je zapotřebí alespoň 1.3GB partition, linuxová distribuce s jádrem minimálně 2.6.2 zkompilovaným gcc-3.0 či vyšším, zdrojové kódy programů, patche a moře volného času. Balíčků je v LFS přes padesát a lze je stáhnout jednotlivě z jejich oficiálních webů, získat jako jeden tarball (~ 133 MB), nebo na LFS LiveCD (~ 332 MB). Live CD je určeno pro instalaci LFS bez nutnosti instalace jiné distribuce na disk a je založeno jak jinak než na LFS. Kromě balíčků obsahuje LFS knihu, X Window System a Firefox pro její pohodlné čtení. Instalace systému probíhá ve čtyřech krocích:

  1. Vytvoření dočasného miniLFS. Ten se vytváří v chrootu z pomocné linuxového systému. LFS tedy neřeší problém slepice a vejce a nové gcc kompiluje kompilátorem z pomocné distribuce. Vytvořením miniLFS a jeho následným použitím k instalaci opravdového LFS systému se vyhneme závislostem – ve smyslu sdílených knihoven apod. – na pomocné distribuci. Autoři LFS uvádějí, že v knize popsaný postup tvorby dočasného minisystému není ideální, o to však je didaktičtější.
  2. Tvorba samotného LFS systému, nyní již za pomoci nástrojů z dočasného miniLFS. Pro ukrácení dlouhé chvíle při kompilování si lze v knize přečíst popis všech výsledných binárních programů, které právě kompilovaný balíček poskytuje.
  3. Příprava bootovacích skriptů a poladění konfiguračních souborů v adresáři /etc.
  4. Posledním krokem je kompilace vlastního jádra a nakonec zajištění bootovatelnosti systému, k čemuž kniha používá zavadeč GRUB.

Hotovo. Nyní zbývá již jen nabootovat do zbrusu nového LFS systému.

TIB2012

       

Mám bash prompt. Co dál?

LFS neobsahuje žádné uživatelské programy, pouze základní systém potřebný pro nabootování počítače do shellu a kompilaci. Pro studijní účely to možná postačuje, ale k tomu, aby byl nový systém použitelný, ať už jako server, či desktop, je nutno vyvinout ještě další úsilí. Toto usilí se pokouší zmírnit jiná část projektu LFS, pro změnu opět kniha – Beyond LFS, jejímž autorem je Larry Lawrence. BLFS obsahuje popisy instalací všeho od nejrůznějších utilit a knihoven přes Postfix a TeX po KDE či Gnome. Najdeme zde vše, co bychom očekávali v „plnohodnotné“dis­tribuci. V BLFS je již didaktická stránka věci notně potlačena a popis instalací se redukuje na výčet závislostí, doby překladu a příkazů k němu potřebných. Dalšími podprojekty LFS jsou Automated LFS, který se, na první pohled poněkud paradoxně, snaží o automatizaci instalačního procesu, a Hardened LFS, jenž se zaměřuje na zlepšení bezpečnostních nastavení a zvýšení bezpečnosti v LFS vůbec. Dále je na webu LFS udržována sbírka krátkých HOWTO dokumentů nazývaných Hints a obsahujících návody na instalaci těch programů, které v knihách nejsou, či návody na alternativní instalační metody. Ačkoli kvalita těchto dokumentů, sepsaných přímo uživateli, značně kolísá, neměly by uniknout pozornosti nikoho, kdo to s užíváním LFS myslí vážně.

Co lze od LFS očekávat?

Od LFS lze na 100 % očekávát dlouhé hodiny strávené kompilováním, googlováním chybových hlášení gcc a dalším kompilováním – nějaký ten vlas určitě zešediví. To by však nemělo nikoho odradit, protože pocit z vlastnoručně sestaveného a na míru optimalizovaného systému za to stojí. Jestli bude LFS i přínosem k hlubšímu pochopení toho, jak Linux funguje, záleží již na osobním přístupu. Zkopírováním příkazů z knihy do konzole zvládne nainstalovat LFS „kdekdo“, ještě to ale neznamená, že ví, co příkazy znamenají. Pokud by někdo přes veškerou snahu nemohl odolat použití copy&paste na úplně každý příkaz v knize, může si na webu LFS objednat tištěný výtisk knihy. Bude nucen všechno poctivě naťukat a ještě tak přispěje na další vývoj projektu.

Školení Google+ pro firmy

DW - Školení PPC
  • Jak využít Google+ pro firemní komunikaci a marketing.
  • Čím se liší Google+ od Twitteru a Facebooku z pohledu firemního využití.
  • Jak využít Google+ v souladu s pravidly užívání.
  • Založení Google+ Page (Stránky) krok po kroku, včetně praktických tipů.

Detailní informace o školení Google+ »

Ohodnoťte jako ve škole:
Průměrná známka 2,67

Přehled názorů

Stoji minimalne za precteni
MarSik 10. 2. 2005 00:39
Nový
rovnez LFS doporucuji
Ondrej OldFrog Nemecek 10. 2. 2005 02:12
Nový
└ 
Re: rovnez LFS doporucuji
anonymní uživatel 10. 2. 2005 08:24
Nový
 
├ 
Re: rovnez LFS doporucuji
anonymní uživatel 10. 2. 2005 09:11
Nový
 
│
├ 
Re: rovnez LFS doporucuji
anonymní uživatel 10. 2. 2005 09:26
Nový
 
│
└ 
Re: rovnez LFS doporucuji
petrp 7. 3. 2005 10:52
Nový
 
├ 
Re: rovnez LFS doporucuji (Martin Sedláček)
anonymní uživatel 10. 2. 2005 09:13
Nový
 
│
└ 
Re: rovnez LFS doporucuji (Martin Sedláček)
anonymní uživatel 10. 2. 2005 09:25
Nový
 
│
 
├ 
Re: rovnez LFS doporucuji (Martin Sedláček)
Michal Ludvig 10. 2. 2005 09:42
Nový
 
│
 
│
├ 
Re: rovnez LFS doporucuji (Martin Sedláček)
anonymní uživatel 10. 2. 2005 09:47
Nový
 
│
 
│
├ 
Re: rovnez LFS doporucuji
anonymní uživatel 10. 2. 2005 09:54
Nový
 
│
 
│
│
└ 
Re: rovnez LFS doporucuji
digero 11. 2. 2005 00:30
Nový
 
│
 
│
│
 
└ 
Re: rovnez LFS doporucuji
Pichi 11. 2. 2005 08:17
Nový
 
│
 
│
└ 
Re: rovnez LFS doporucuji (Martin Sedláček)
Geo 20. 3. 2005 19:59
Nový
 
│
 
└ 
Re: rovnez LFS doporucuji (Martin Sedláček)
anonymní uživatel 10. 2. 2005 10:15
Nový
 
│
 
 
└ 
Re: rovnez LFS doporucuji (Martin Sedláček)
anonymní uživatel 10. 2. 2005 12:26
Nový
 
│
 
 
 
└ 
Re: rovnez LFS doporucuji
Marek Turnovec 10. 2. 2005 20:13
Nový
 
│
 
 
 
 
└ 
Re: rovnez LFS doporucuji
anonymní uživatel 11. 2. 2005 10:01
Nový
 
│
 
 
 
 
 
└ 
Re: rovnez LFS doporucuji
BoodOk 11. 2. 2005 17:59
Nový
 
│
 
 
 
 
 
 
└ 
Re: rovnez LFS doporucuji
anonymní uživatel 12. 2. 2005 12:29
Nový
 
│
 
 
 
 
 
 
 
└ 
Re: rovnez LFS doporucuji
anonymní uživatel 13. 2. 2005 10:17
Nový
 
└ 
Ubuntu
c0rg1.r3v0.net 12. 2. 2005 20:38
Nový
LFS cloveka nauci
anonymní uživatel 10. 2. 2005 04:46
Nový
My life with LFS
iWan 10. 2. 2005 10:42
Nový
└ 
Re: My life with LFS
anonymní uživatel 10. 2. 2005 12:11
Nový
 
└ 
Re: My life with LFS (Pavel Vodicka)
anonymní uživatel 10. 2. 2005 14:15
Nový
Tom: LFS je nejlepší
anonymní uživatel 10. 2. 2005 15:44
Nový
LFS
Jan Neruda 10. 2. 2005 16:22
Nový
└ 
Re: LFS
Tom 12. 2. 2005 21:51
Nový
LFS je dobra skola pro Gentoo
Hynek `rADOn` Fabian 10. 2. 2005 17:24
Nový
└ 
Re: LFS je dobra skola pro Gentoo
BillyThePilgrim 10. 2. 2005 17:59
Nový
 
├ 
Re: LFS je dobra skola pro Gentoo
Radek Podgorny 11. 2. 2005 00:10
Nový
 
└ 
Re: LFS je dobra skola pro Gentoo
Hynek `rADOn` Fabian 11. 2. 2005 09:46
Nový
cross-lfs
pht 11. 2. 2005 17:39
Nový
az taky zazrak to nie je
disposable 12. 2. 2005 17:50
Nový
└ 
Re: az taky zazrak to nie je
Tom 12. 2. 2005 22:03
Nový
desktop?
w0rm 12. 2. 2005 19:22
Nový
├ 
Re: desktop?
disposable 14. 2. 2005 15:14
Nový
└ 
Re: desktop?
pht 14. 2. 2005 18:43
Nový
 
└ 
Re: desktop?
marek 25. 9. 2006 21:40
Nový
 
 
└ 
Re: desktop?
w0rm 25. 9. 2006 21:50
Nový
Zdrojove kody
Petr Demuth 14. 2. 2005 09:55
Nový
├ 
Re: Zdrojove kody
xkesh 15. 2. 2005 00:59
Nový
└ 
Re: Zdrojove kody
cyrdo 1. 12. 2005 14:24
Nový
LFS 6.2 - installed;)
Martin Mikusek 27. 10. 2006 10:54
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem