Hlavní navigace

Source Mage GNU/Linux: trocha historie

11. 3. 2003
Doba čtení: 5 minut

Sdílet

Správa linuxových distribucí založených na zdrojových kódech může být stejně "snadná" jako správa binárních linuxových distribucí. Stačí se naučit několik základních příkazů. V případě Source Mage GNU/Linux stačí pochopit jednu anglickou větu (uvnitř článku). Před podrobným "větním rozborem" se ale nejprve podíváme trochu do historie.

Source Mage GNU/Linux

Historie Source Mage GNU/Linux

Na počátku byl Kyle Sallee, který dne 21. července 2001 oznámil na serveru freshmeat vznik nové linuxové distribuce s názvem Sorcerer GNU/Linux (SGL).

Celá distribuce se instalovala ze zdrojových kódů. Zdrojové kódy se nestahovaly z domovské stránky distribuce, ale přímo z domovských stránek jednotlivých softwarových produktů, případně jejich mirrorů. Do zdrojových kódů nebylo nutné zasahovat, nebylo nutné aplikovat záplaty, ani spouštět ./configure, make, make install. Softwarovému managementu (realizovanému pouze pomocí bash skriptů) stačilo sdělit, co je třeba nainstalovat, a on se už o vše postaral.

Po neshodách ve vývojářské komunitě se na přelomu ledna a února 2002 část vývojářů osamostatnila a vytvořila distribuci Lunar-Penguin. Jméno distribuce bylo později změněno na Lunar-Linux, přičemž Lunar-Penguin by měl v budoucnu zastřešovat kromě linuxové distribuce Lunar-Linux i další projekty.

Kyle Sallee byl tímto krokem dosti rozladěn a 8. března 2002 oznámil, že projekt opouští, a webové stránky projektu smazal. Místo popisu distribuce a souborů nutných pro instalaci a aktualizaci zůstalo na webové stránce pouze krátké sdělení, že projekt končí. Nakrátko se na stránce také objevila matoucí informace, že oficiálním nástupcem distribuce Sorcerer GNU/Linux se stává distribuce Lunar-Penguin. Tato informace ale byla vývojáři Lunar-Penguin popřena a následně ze stránky smazána.

Sorcerer byl naštěstí uvolněn pod GPL licencí, ta umožňovala vývojářům v projektu pokračovat. Jméno distribuce bylo změněno na Sorcery-Linux. Byla zaregistrována, dnes již neexistující, doména sorcerylinux.org. Brzy vznikly nové stránky projektu, přičemž důležité soubory byly obnoveny z lokálních záloh vývojářů a uživatelů.

Kyle Sallee ale 28. března 2002 „svůj“ Sorcerer opět oživuje a licenci mění z GPL na SPL (Sorcerer Public License). SPL licence je založena na QPL licenci a umožňuje změny ve zdrojových kódech pouze pomocí záplat, tj. zabraňuje tomu, aby vznikly další nezávislé distribuce. SPL licence ale nemůže platit zpětně, proto mohly Sorcery-Linux i Lunar-Linux dál zůstat nezávislými a ubírat se svými vlastními cestami. Jedním z prvních kroků vývojářů distribuce Sorcery-Linux bylo přejmenování jejich distribuce na Source Mage GNU/Linux.

Správa Source Mage GNU/Linux

Nejprve ona v úvodu zmiňovaná věta:

Ride the raven to gaze the sorcery world,

where you can summon, cast and dispel spells

Pro neznalé angličtiny, raven (krkavec) je ten pták z loga Source Mage GNU/Linux.

V binárních linuxových distribucích se správa softwarových produktů točí kolem binárních balíčků. Správa softwarových produktů v Source Mage je založena na spellech (kouzlech). Spell je popis softwarového produktu. Skládá se z několika textových souborů popisujících jak softwarový produkt (například jeho verzi nebo adresu, odkud se mají stahovat zdrojové kódy), tak historii samotného spellu. Pokud produkt nelze nainstalovat pouze pomocí ./configure, make, make install, jsou součástí spellu i konfigurační a instalační skripty, případně i záplaty.

Spelly jsou uloženy v grimoire (kniha kouzel). Source Mage nabízí hned tři grimoire: devel, test a stable. Jak již názvy napovídají, devel grimoire obsahuje vývojové, tj. nejaktuálnější, ale také nejmíň testované spelly. K důkladnému testování jak nových spellů, tak i změn v již existujících spellech slouží test grimoire. V stable grimoire (stabilní kniha kouzel) se proto mohou objevit pouze prověřené spelly. Porovnání nabízených grimoire – které verze spellů (softwarových produktů) jsou obsaženy v jednotlivých grimoire – lze získat na webových stránkách distribuce. Samozřejmostí je možnost vytvoření vlastní grimoire.

Správce systému může pomocí příkazu scribe (opisovač) rozhodnout, které grimoire budou používané, tj. které grimoire (knihy kouzel) budou vloženy do codex (knihovna). Pokud je spell obsažen v několika grimoire, použije se spell z preferované grimoire (pořadí stanoveno uživatelem).

K správě systému slouží sorcery (čarodějnictví) – v bash skriptech vytvořená sada magických příkazů (summon, cast, dispel, gaze, scribe, sorcery), knihoven a konfiguračních souborů. Správce systému může opět určit, zda bude používána vývojová, nebo stabilní verze sorcery, tj. devel sorcery, nebo stable sorcery.

Pro stáhnutí zdrojových kódů softwarového produktu slouží příkaz summon (svolat, povolat). K instalaci a odinstalaci spellu (softwarového produktu) slouží příkazy cast a dispel (cast spell – začarovat, dispel spell – odčarovat). Informace o systému, především o spellech, lze získat příkazem gaze (zírat, upřeně hledět). Příkaz sorcery může sloužit jako grafická nadstavba zmíněných příkazů, nebo jako řádkový příkaz například pro aktualizaci systému či k opětovnému překladu všech instalovaných softwarových produktů.

Optimalizace pro konkrétní hardware

Vývojáři binárních linuxových distribucí mají zájem na tom, aby bylo možné jejich distribuci instalovat na co nejširší škále hardwarových platforem. Pokud má distribuce fungovat na všech Intel kompatibilních procesorech od i386 až po Pentium 4 nebo Athlon XP, musí vývojáři zajistit, aby binární spustitelné soubory neobsahovaly instrukce, které nelze provést na všech procesorech. I když lze překlad zdrojových kódů optimalizovat pro nejnovější procesory, z důvodu zpětné kompatibility se toho u binárních distribucí nevyužívá. Binární kód obsahující například instrukce procesoru Athlon XP nelze provést na procesoru i386. Instrukce procesoru i386 ale na nejnovějších procesorech provést lze. Proto se může stát, že binární distribuce degradují váš nejnovější a nejrychlejší procesor na rychlejší „i386“.

Optimalizaci binárních distribucí provádějí jejich vývojáři. U distribucí založených na zdrojových kódech může o všem rozhodovat správce systému. Ten rozhoduje o tom, zda překlad zdrojových kódů bude optimalizován pro konkrétní procesor, čímž lze dosáhnout urychlení některých aplikací.

Překladač GCC umožňuje pomocí voleb „-mcpu=cpu-type“a „-march=cpu-type“ optimalizovat generovaný kód pro konkrétní procesor. Hodnota cpu-type může u GCC nabývat hodnot: i386, i486, i586, i686, pentium, pentium-mmx, pentiumpro, pentium2, pentium3, pentium4, k6, k6–2, k6–3, athlon, athlon-tbird, athlon-4, athlon-xp a athlon-mp.

Pomocí sorcery lze v Source Mage snadno určit cílový procesor. Překlad všech zdrojových kódů bude pro tento procesor optimalizován.

CS24_early

Architecture Menu

Správce může také rozhodovat o tom, zda je u výsledních binárních souborů důležitější rychlost, nebo jejich velikost. Někdy mohou být vhodnější například pomalejší, ale menší binární soubory. Příslušné volby překladače (compiler) a sestavovacího programu (linker) lze také nastavit pomocí sorcery.

Volby speedy (-O3), risky (-ffast-math -funroll-loops) a tiny (-Os) ovlivňují činnost překladače a combreloc (-z combreloc) a strip (-s) mají vliv na činnost sestavovacího programu.

Sorcery Spell Management Utility

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