Hlavní navigace

Source Mage GNU/Linux - I

24. 2. 2003
Doba čtení: 6 minut

Sdílet

Což takhle linuxovou distribuci, kterou lze 100% optimalizovat pro konkrétní hardware? Což takhle linuxovou distribuci, která je průběžně aktualizována a kdykoli obsahuje nejnovější verze softwarových produktů? Což takhle linuxovou distribuci Source Mage GNU/Linux?

Přibližně před rokem jsem si řekl, že se už nenechám omezovat binárními linuxovými distribucemi, a vrhnul jsem se na jednu z distribucí, které lze celé nainstalovat ze zdrojových kódů. Již instalace této distribuce mne natolik uchvátila (začínala tam, kde většina knih o Linuxu končí, tj. překladem linuxového jádra), že jsem jí zcela propadl a dokonce se začal „aktivně“ spolupodílet na jejím vývoji. Dnešní název této kouzelné distribuce je Source Mage GNU/Linux.

smgl logo

Kouzlo distribuce způsobilo, že jsem se rozhodl podpořit Source Mage GNU/Linux také seriálem článků. První díl je věnován linuxovým systémům instalovaným ze zdrojových kódů a bohužel v něm na Source Mage GNU/Linux nezbylo místo.

Binární linuxové distribuce

Binární linuxové distribuce trpí mnoha neduhy:

  • nejsou optimalizovány pro konkrétní hardware, a proto nemohou využívat všech jeho možností,
  • obvykle jsou již v době svého vzniku zastaralé, tj. obsahují zastaralé verze softwarových produktů,
  • binární balíčky a závislosti mezi nimi, obvykle považované za klad binárních distribucí, se často stávají noční můrou náročnějších uživatelů.

Uživatelům, kterým postačují v distribuci obsažené softwarové produkty a vůbec jim nevadí, že některé produkty byly již před několika měsíci nahrazeny novějšími, lze binární distribuci doporučit. Náročnějším uživatelům, vyžadujícím novější verze softwarových produktů, nebo dokonce produkty, které v distribuci vůbec nejsou obsaženy, lze doporučit instalaci celého linuxového systému ze zdrojových kódů.

Zastánci binárních linuxových distribucí mohou namítat, že stačí ze zdrojových kódů, nebo ještě lépe ze zdrojových balíčků, instalovat pouze vybrané softwarové produkty. Zcela jistě mají pravdu. Pokud se jedná pouze o instalaci několika málo produktů, jsou binární linuxové distribuce vhodné. Pokud se ale ze zdrojových kódů nebo ze zdrojových balíčků upravuje půlka „binární distribuce“, lze instalaci linuxového systému ze zdrojových kódů vřele doporučit.

Softwarové produkty mohou být aktualizovány denně, kdežto binární distribuce jsou aktualizovány „pouze“ několikrát do roka. Mezi vydáními jednotlivých verzí distribuce jsou obvykle poskytovány pouze bezpečnostní záplaty. Výjimkou jsou vývojové verze některých binárních distribucí, například Mandrake Cooker, Red Hat Rawhide nebo Debian Unstable. Vývojové verze jsou ale vhodné pouze k testování.

Problémy binárních balíčků

U binárních distribucí se předpokládá instalace binárních balíčků vytvářených vývojáři dané distribuce. Pokud vývojáři balíček s požadovaným produktem nevytvoří, nastávají problémy.

I když lze na internetu binární balíčky běžně používaných softwarových produktů relativně snadno získat, jejich instalace může být velice komplikovaná, často až nemožná. Instalaci zpravidla brání závislosti mezi balíčky. Binární balíček obvykle vyžaduje stejné verze knihoven, jaké byly nainstalovány v jeho „rodném“ systému. Tvůrci binárních balíčků většinou poskytují kromě binárních balíčků také zdrojové balíčky, tj. balíčky obsahující zdrojové kódy softwarového produktu a instrukce pro jejich překlad a následné vytvoření binárních balíčků. Při jejich vytváření se upraví závislosti a nově vytvořené binární balíčky tak lze nainstalovat. Ne vždy je ale možné binární balíček jednoduše vytvořit. Někdy může být nutné přeložit a vytvořit několik dalších binárních balíčků. Pro některé softwarové produkty nejsou balíčky k dispozici. Lze je instalovat pouze ze zdrojových kódů.

Instalace softwarových produktů ze zdrojových kódů

Při instalaci softwarových produktů ze zdrojových kódů se tyto zdrojové kódy překládají na stejném počítači, na kterém budou následně instalovány a spouštěny. Zdrojové kódy produktu obvykle spolupracují s několika verzemi požadovaných knihoven. Z „bezpodmínečně nutných“ knihoven se při instalaci produktu ze zdrojových kódů často stávají pouze knihovny volitelné. Některé vlastnosti softwarových produktů lze navíc ovlivnit pouze při jejich překladu ze zdrojových kódů, například pomocí parametrů příkazu configure nebo úpravou různých konfiguračních souborů.

Linuxový systém instalovaný ze zdrojových kódů

Problémy binárních distribucí lze řešit instalací celého linuxového systému ze zdrojových kódů. Jak vybudovat linuxový systém „na zelené louce“, lze zjistit například na stránkách projektu Linux From Scratch (LFS). Kniha LFS-BOOK popisující instalaci LFS, tj. i instalaci konkrétních softwarových produktů, je využívaná nejenom přívrženci LFS. Budování linuxového systému z ničeho ale není triviální, vyžaduje spoustu času a bohaté praktické zkušenosti. I když lze zkušenosti získat také instalací LFS, vznikají projekty, které se snaží instalaci co nejvíce zjednodušit, například skript lfs-install.

Obtížnost instalace linuxového systému ze zdrojových kódů může být pokládána také za výhodu. Instalací lze zjistit, jak linuxový systém doopravdy uvnitř funguje, jak do sebe zapadají jednotlivé jeho části: jádro, knihovny, vývojové nástroje, aplikace. Čím podrobněji je správce seznámen se systémem, tím kvalitněji jej může spravovat.

Systém instalovaný ze zdrojových kódů lze mít zcela pod kontrolou. Můžete vytvořit jedinečný linuxový systém dokonale vyhovující konkrétním požadavkům. Velikost systému lze minimalizovat, proto je možné jen použít i v embedded zařízeních. Například systém s webovým serverem Apache lze vtěsnat do 5 MB. Rozhodování o tom, co bude obsahem minimálního systému, není nutné přenechat na tvůrcích binárních distribucí.

Využití internetových zdrojů

Pokud chtějí vývojáři binárních distribucí podporovat různé hardwarové architektury, musí pro každou z nich vytvářet jedinečné binární balíčky. Obvykle z jednoho zdrojového balíčku vytvářejí binární balíčky nejenom pro x86 kompatibilní procesory, ale i pro architektury IA-64, SPARC, Alpha, PA-RISC, PowerPC a další.

Při instalaci softwarových produktů ze zdrojových kódů lze přitom stejné zdrojové kódy přeložit na všech podporovaných hardwarových architekturách. Vlastníci několika hardwarových architektur tak nemusí zbytečně stahovat stejné softwarové produkty několikrát.

Zajímavé je také opravování bezpečnostních chyb, případně aktualizace systému. Oprava chyby se zpravidla provádí úpravou několika řádku zdrojových kódů. U binární distribuce je nutné stahovat někdy i několikamega­bajtový nový balíček. Při instalaci ze zdrojových kódů stačí stáhnou několikakilobaj­tovou záplatu, aplikovat ji a zdrojové kódy opět přeložit. Záplatu lze na rozdíl od binárního balíku stáhnout i pomocí modemu.

Pokud se objeví chyba v knihovně (například problém s knihovnou zlib), která se staticky linkuje k několika produktům, je u binární distribuce nutné stáhnout kromě balíčku s opravenou knihovnou i balíčky všech produktů, které knihovnu využívaly. Při instalaci ze zdrojových kódů stačí stáhnout pouze záplatu pro knihovnu, knihovnu přeložit a následně přeložit příslušné produkty. Není nutné nic zbytečně stahovat.

Správa balíčků

Linuxový systém nepotřebuje správu balíčků. Pro instalaci aplikace často postačuje rozbalit zdrojové kódy aplikace a spustit příkazy ./configure, make a make install. Některé aplikace lze také snadno odinstalovat. Stačí spustit příkaz make uninstall a soubory nainstalované pomocí make install budou zase smazány. Protože aplikace nemusí mít ve zdrojových kódech definováno make uninstall, lze k jejich instalaci a odinstalaci použít například CheckInstall nebo Buildpkg.

root_podpora

Linuxové distribuce instalované ze zdrojových kódů

Poslední dobou roste obliba linuxových distribucí instalovaných ze zdrojových kódů. Ty spojují výhody linuxových systémů instalovaných ze zdrojových kódů s výhodami systémů balíčků a jejich správců. I když je vše vytvářeno ze zdrojových kódů, správce zdrojových balíčků usnadňuje správu systému, pohodlným způsobem umožňuje softwarový produkt instalovat, odinstalovat, nebo se vrátit k jeho předešlé verzi. Uživatel se nemusí zajímat o problémy spojené s překladem, nemusí vědět proč a jaké záplaty musely být aplikovány, nemusí znát volby a verzi použitého překladače. O vše se postará správce zdrojových balíčků.

Porovnání nejznámějších linuxových distribucí instalovaných ze zdrojových kódů lze najít na serveru DistroWatch. Jsou zde porovnávány distribuce Gentoo, Lunar-Linux, ROCK, Sorcerer a Source Mage GNU/Linux.

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