Hlavní navigace

Source Mage GNU/Linux: spelly

Ladislav Hagara

Logo linuxové distribuce Source Mage GNU/Linux obsahuje velkého černého ptáka. Angličané jej nazývají raven. Jaké je jeho české jméno? Krkavec, nebo havran? Kromě ornitologického koutku dnes zmíníme i správu softwarových produktů v linuxových distribucích. Hlavní pozornost je věnována spellům - kouzlům. Chcete se naučit kouzlit?

logo: Source Mage GNU/Linux

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.

Tabulka č. 407
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

Tabulka č. 408
           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:

Tabulka č. 409
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

Tabulka č. 410
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

Tabulka č. 411
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

Tabulka č. 412
(

  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

Tabulka č. 413
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

Tabulka č. 414
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

Tabulka č. 415
(

  case $KMail in

    y|Y) OPTS="$OPTS --disable-pinentry-gtk      \
                     --disable-pinentry-curses   \
                     --disable-fallback-curses"
         ;;
  esac

  default_build

) > $C_FIFO 2>&1

 

CONFLICTS

Tabulka č. 416
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

Tabulka č. 417
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

Tabulka č. 418
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? :-))

Našli jste v článku chybu?

29. 4. 2003 5:35

jan (neregistrovaný)

Predchazejici odpoved je spatne, omlouvam se za mystifikaci. Psal jsem to drive nez jsem se podival poradne na licenci :-(
Skutecnost je takova, ze Sorcerer je mozne kopirovat a distribuovat nemodifikovany se vsemi licencnimi podminkami apod. Lze provadet modifikace a distribuovat je, ale zvlast, napr. ve forme patchu.
Modifikace nesmi zmenit nebo odstranit copyright. Na zverejnene modifikace ma "non-exclusive royalty-free"
pravo puvodni vyvojar, tedy Kyle, aby je distribuoval
v budoucich ve…



29. 4. 2003 5:13

jan (neregistrovaný)

Pokud licenci spravne rozumim, tak lze kdykoliv zacit pracovat na vlastni vetvi, ktera se musi jmenovat jinak.

DigiZone.cz: SES zajistí HD pro M7 Group

SES zajistí HD pro M7 Group

DigiZone.cz: R2B2 a Hybrid uzavřely partnerství

R2B2 a Hybrid uzavřely partnerství

Měšec.cz: Za palivo zaplatíte mobilem (TEST)

Za palivo zaplatíte mobilem (TEST)

Vitalia.cz: To nejhorší při horečce u dětí: Febrilní křeče

To nejhorší při horečce u dětí: Febrilní křeče

Root.cz: Nová třída SD karet A1 s vysokým výkonem

Nová třída SD karet A1 s vysokým výkonem

Měšec.cz: Jak vymáhat výživné zadarmo?

Jak vymáhat výživné zadarmo?

Root.cz: Certifikáty zadarmo jsou horší než za peníze?

Certifikáty zadarmo jsou horší než za peníze?

DigiZone.cz: Sat novinky: slovenská TV8 HD i ruský NTV Mir

Sat novinky: slovenská TV8 HD i ruský NTV Mir

Vitalia.cz: Test na HIV je zdarma i za pět set

Test na HIV je zdarma i za pět set

Vitalia.cz: Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

120na80.cz: 5 nejčastějších mýtů o kondomech

5 nejčastějších mýtů o kondomech

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá

120na80.cz: Co všechno ovlivňuje ženskou plodnost?

Co všechno ovlivňuje ženskou plodnost?

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA

Podnikatel.cz: Udávání a účtenková loterie, hloupá komedie

Udávání a účtenková loterie, hloupá komedie

Podnikatel.cz: Chaos u EET pokračuje. Jsou tu další návrhy

Chaos u EET pokračuje. Jsou tu další návrhy

Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte

Lupa.cz: Kdo pochopí vtip, může jít do ČT vyvíjet weby

Kdo pochopí vtip, může jít do ČT vyvíjet weby

DigiZone.cz: Česká televize mění schéma ČT :D

Česká televize mění schéma ČT :D

Podnikatel.cz: Vládu obejde, kvůli EET rovnou do sněmovny

Vládu obejde, kvůli EET rovnou do sněmovny