Krkavec versus havran
V druhé části tohoto seriálu jsem uvedl, že anglický název ptáka z loga Source Mage GNU/Linux je raven, což je v českém překladu krkavec. V diskusi se ale objevilo upozornění, že Edgar Allan Poe napsal báseň The Raven, jejíž český překlad nese název Havran. Nepovedlo se mi zjistit, proč je tomu tak. Důvodů může být několik. Možná chtěl překladatel použitím slova havran něco závažného sdělit nebo se chtěl více přiblížit svým čtenářům. Přece jenom se kolem nás objevuje více havranů než krkavců. Možná překladatel pouze použil nekvalitní anglicko-český slovník, nebo se mu do překladu básně slovo havran více hodilo. Možná Edgar Allan Poe psal o havranovi a ve své slavné básni jej pojmenoval slovem raven. A možná se ve skutečnosti jednalo o vránu obecnou černou. :-))
Nejenom ve speciálním ptačím slovníku je uvedeno, že překladem slova raven by mělo být v českém i slovenském jazyce slovo krkavec.
anglický název | latinský název | český název | slovenský název |
raven | Corvus corax | krkavec velký | krkavec čierny |
rook | Corvus frugilegus | havran polní | havran čierny |
carrion crow | Corvus corone corone | vrána obecná černá | vrana obyčajná západoevropská |
Správa softwarových produktů
V binárních linuxových distribucích je správa softwarových produktů založena na binárních balíčcích. Vývojáři těchto distribucí vytvářejí ze zdrojových kódů softwarových produktů (například xxx.tar.gz) zdrojové balíčky (xxx.src.rpm) a z nich balíčky binární (xxx.i386.rpm). V binárních distribucích se doporučuje pouze instalace oficiálních binárních balíčků, případně binárních balíčků vytvořených z oficiálních zdrojových balíčků. Instalace softwarových produktů přímo ze zdrojových kódů je zavrhována, protože správa softwarových produktů nemá informace o takto instalovaných produktech. Produkty instalované ze zdrojových kódů nelze jednoduchým způsobem aktualizovat ani odinstalovat. Doporučeným způsobem nelze zjistit ani seznam souborů patřících produktu, ani verzi nainstalovaného produktu.
V Source Mage GNU/Linux se softwarové produkty instalují především ze zdrojových kódů. Nevýhody instalace ze zdrojových kódů zmíněné v předešlém odstavci ale v této distribuci neplatí. Správa softwarových produktů zde plní stejné funkce jako správa softwarových produktů v binárních linuxových distribucích. Samozřejmě je nutné instalaci produktů přenechat správě softwarových produktů, tj. musí existovat spell popisující daný softwarový produkt a jeho instalace musí být provedena příkazem „cast“. Ani v této distribuci nelze cokoli kamkoli ručně nainstalovat a očekávat, že správa softwarových produktů to dokáže spravovat.
Podrobnější pohled na spell (kouzlo)
Spell (kouzlo) je popis softwarového produktu. Abecedně setříděný seznam spellů, tj. seznam softwarových produktů, které lze jednoduše nainstalovat, lze získat na oficiálních stránkách distribuce. Seznam spellů rozdělený podle zaměření (http, crypto, video, �) lze získat na stránkách projektu grimoire-gurus. Aktuální počet spellů v devel grimoire je 2027.
Spell je složen z několika textových souborů. Nejjednodušší spelly jsou složeny pouze ze dvou souborů: DETAILS a HISTORY.
DETAILS
SPELL=lcrack VERSION=20030404 SOURCE=$SPELL-$VERSION.tar.gz SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION SOURCE_URL[0]=http://usuarios.lycos.es/reinob/lcrack/$SOURCE MD5[0]=94cd232e1d5cc794e4a184c75b9c5675 WEB_SITE=http://usuarios.lycos.es/reinob/ ENTERED=20030410 UPDATED=20030410 LICENSE[0]=GPL MAINTAINER=hgr@vabo.cz SHORT="lcrack - Lepton's Crack is a generic password cracker" cat << EOF Lepton's Crack is a generic password cracker, easily customizable with a simple plug-in system. It can perform a dictionary-based (wordlist) attack, as well as a brute-force (incremental) password scan. Currently the formats supported are: standard MD4 hash, standard MD5 hash, NT MD4/Unicode, Lotus Domino HTTP password (R4) and SHA-1. EOF |
Soubor DETAILS je nejdůležitějším souborem spellu. Obsahuje následující položky:
SPELL | Jméno spellu, obvykle stejné jako jméno softwarového produktu. |
VERSION | Verze spellu, obvykle stejná jako verze softwarového produktu. |
SOURCE | Jméno souboru obsahujícího zdrojové kódy softwarového produktu. |
SOURCE_DIRECTORY | Adresář, do kterého se při instalaci produktu rozbalují zdrojové kódy. |
SOURCE_URL | URL na soubor obsahující zdrojové kódy softwarového produktu. |
MD5 | MD5 otisk dekoprimovaného souboru $SOURCE, tj. bez gz nebo bz2. |
WEB_SITE | Domovská stránka softwarového produktu. |
ENTERED | Datum vytvoření spellu, obvykle datum jeho přidání do devel grimoire. |
UPDATED | Datum posledního nutného přeinstalování. Při změně verze je spell automaticky přeinstalován. Tato položka je měněna pouze v případech, kdy je nutné spell přeinstalovat, i když má stejnou verzi. Využívá se toho například v případě bezpečnostních záplat. Verze spellu se nezmění, změní se pouze obsah souboru BUILD. |
LICENSE | Licence softwarového produktu. |
MAINTAINER | E-mail adresa „údržbáře“ spellu. |
SHORT | Krátký, jednořádkový popis spellu – produktu. |
cat << EOF EOF |
Dlouhý popis spellu. |
HISTORY
2003-04-10 Ladislav Hagara < hgr@vabo.cz > created and added to grimoire |
Soubor HISTORY popisuje historii spellu: kdy, kým, co, případně proč bylo změněno. Nejčastěji se jedná o aktualizaci verze produktu.
PRE_BUILD
mk_source_dir $SOURCE_DIRECTORY && cd $SOURCE_DIRECTORY && unpack $SOURCE ${MD5[0]} |
Rozbalením běžného souboru obsahujícího zdrojové kódy vznikne adresář s danými kódy, tj. rozbalením souboru xxx-y.z.tar.bz2 vznikne adresář xxx-y.z. Někdy jsou ale zdrojové kódy rozbalovány přímo do aktuálního adresáře. Tomu je nutné předejít například pomocí souboru PRE_BUILD. V něm může být definováno vytvoření požadovaného adresáře a rozbalení zdrojových kódů.
BUILD
( create_account sshd sedit "s/CFLAGS = -O2 -Wall/CFLAGS = $CFLAGS/" Makefile.in sedit "s/\/local//" Makefile.in patch -p1 < $SOURCE_CACHE/$SOURCE2 ./configure $ARCHITECTURE && make && prepare_install && cp lcrack /usr/bin/lcrack ) > $C_FIFO 2>&1 |
Pokud produkt nelze nainstalovat standardním způsobem (./configure, make, make install), je nutné do spellu přidat soubor BUILD. Ten zabezpečí případnou úpravu zdrojových kódů (pomocí sedit nebo pomocí patch), překlad i instalaci produktu. V souboru BUILD lze využít i funkcí poskytovaných sorcery, například vytvoření účtu.
DEPENDS
depends gtk+ && depends glib && optional_depends "libvorbis" \ "" \ "" \ "to play Ogg Vorbis files" && optional_depends "gnome-core" \ "--with-gnome" \ "--without-gnome" \ "for gnome support" |
Soubor DEPENDS definuje závislosti mezi spelly. Jedná se o seznam spellů, jejichž instalace je pro daný spell bezpodmínečně nutná (depends), nebo ovlivňuje jeho vlastnosti (optional_depends).
CONFIGURE
if ! grep -q "KMail=" $SPELL_CONFIG; then if query "Do you want pinentry due to KMail?" n then echo "KMail=y" >> $SPELL_CONFIG else echo "KMail=n" >> $SPELL_CONFIG fi fi |
Soubor CONFIGURE slouží ke konfiguraci spellu. Odpovědi na otázky se ukládají do souboru $SPELL_CONFIG. Dle odpovědí je ovlivňován například průběh překladu:
BUILD
( case $KMail in y|Y) OPTS="$OPTS --disable-pinentry-gtk \ --disable-pinentry-curses \ --disable-fallback-curses" ;; esac default_build ) > $C_FIFO 2>&1 |
CONFLICTS
conflicts ssh |
Spelly, které nelze mít nainstalované současně, obsahují soubor CONFLICTS. V případě instalace takového spellu jsou spelly obsaženy v souboru CONFLICTS odinstalovány. Jedná se například o spelly obsahující soubory se stejnými jmény nebo využívající stejná čísla portů.
TRIGGERS
on_cast zlib cast_self on_cast openssl cast_self |
Po instalaci, před instalací, po odinstalování nebo před odinstalováním spellu může být nutné provést některé akce, například opětovné přeložení vybraných již nainstalovaných spellů. Příkladem může být knihovna zlib. Pokud je k produktu staticky linkována, je nutné produkt po aktualizaci knihovny opětovně přeložit. K tomu je využíván soubor TRIGGERS. Ten může obsahovat čtyři spouště (on_cast, on_pre_cast, on_dispel, on_pre_dispel) a čtyři akce (cast_self, dispel_self, check_self, run_script).
PROVIDES
mozilla email-client web-browser graphical-web-browser |
Soubor PROVIDES lze využít například pro vyhledávání požadovaného spellu – softwarového produktu. Ve spolupráci s příkazem gaze lze vypsat například všechny spelly, které lze použít pro čtení pošty (gaze provides email-client).
V spellu mohou být obsaženy i další soubory. Nebyly zde zmíněny například soubory PREPARE, POST_INSTALL, PRE_REMOVE, POST_REMOVE. Další informace lze získat na wiki serveru.
PS:
Jsem rád, že se mi povedlo několik jedinců „nakopnout správným směrem“ a přimět je k instalaci této kouzelné distribuce. Jedním z „nakopnutých“ je i largon, jehož „subjektivní názor na Source Mage v praxi“ prezentovaný na serveru penguin končí slovy „Kdo jednou zkusí, nechce nic jiného.“
Nechcete také vyzkoušet? :-))