LINUXSOFT.cz Přeskoč levou lištu

ARCHIV



   

> SourceMage Linux - 2

Druhý a poslední díl věnovaný seznámení s distribucí SourceMage. Dnes se podíváme na konfiguraci distribuce a její balíčkovací systém.

23.11.2009 00:00 | Radim Kolář | Články autora | přečteno 10173×

SourceMage GNU/Linux - 2

V přechozím dílu jsme společně nainstalovali Source Mage GNU/Linux, distribuci založenou na kompilaci ze zdrojových textů. Pokud jste neudělali nikde chybu a dílo se zdařilo měl by vás uvítat Source Mage login prompt. Přihlásíme se jako root a můžeme se pustit do díla.

K práci se Source Mage budeme potřebovat funkční internet připojení. Jeho funkčnost se obvykle kontroluje příkazem ping, který ovšem není součástí základního systému. Proto použijeme pro kontrolu spojení textový www prohlížeč lynx. Jako ve většině distribucí, tak i v SourceMage najdeme man stránku, která nás přivítá a nasměruje co máme dělat v nově nainstalovaném systému. V SourceMage se tato stránka jmenuje smgl-setup.

Prvním krokem po instalaci nového systému by měl být update balíčkovacího systému. Balíčkovací systém SourceMage se nazývá sorcery. Při první aktualizaci balíčkovacího systému jsou občas prováděny i kompilace programů které jsou uvedeny jako volitelné závislosti pro základní systém ale nejsou nainstalovány. Proto stáhneme nejprve aktuální seznam balíčků (v sourcemage se balíčkům říka kouzla - spelly) pomocí scribe update. Na dotaz zda opravit grimore metadata odpovězte y a odentrujte umístění stable větve grimore. Po stažení ignorujte stížnost na nemožnost překontrolování gpg signatury a seznam dostupných balíčků se zaktualizuje.

Nyní si již můžeme zaktualizovat vlastní balíčkovací systém příkazem sorcery update. Tento příkaz nakonfiguruje balíček basesystem a pak stáhne shell scripty tvořící vlastní balíčkovací systém.

Sorcery se nás bude postupně ptát jaké volitelné závislosti nebo alternativy si přejeme. V praxi to vypadá zhruba takto: balíček basesystem má závislost na nějakých INITSCRIPTS. Které initscripty chcete? init.d (nainstalováno), initng-ifiles, smgl-upstart? Balíky, které požadujeme, budou staženy, přeloženy a nainstalovány.

Na výše uvedeném příkladu můžete hezky vidět flexibilitu source based distribucí. Můžete si vybrat nejen komponenty, ale i kompilační volby většiny balíků. Kontrola nad systémem se vrátila z rukou tvůrců distribuce do rukou administrátora. Konečně jsem měl pocit, že jsem to já kdo ovládá systém a nikoliv balíčkovací program. Administrace se stala zase zábavou a ne nudnou pracovní povinností ve stylu apt-get upgrade. Podobný pocit jsem naposledy zažil před mnoha lety kdy jsem si skládal svůj vlastní linux. Jako základ jsem použil slackware a pak jsem už do něj ručně kompiloval jednotlivé programy.

Po aktualizaci sorcery a konfiguraci základního systému můžeme náš systém trochu pročistit. Záleží na tom, co jste si při původní instalaci zvolili za balíčky. Je docela možné, že máte nainstalováno jak lilo tak grub, editory elvis, jed i nano a podobně. Seznam instalovaných balíčků získáme příkazem gaze installed. Balíček odinstalujeme příkazem dispel <jméno balíčku>. Pokud si nejsme jisti příslušný balíček vlastně dělá, tak se dozvíme pomocí gaze what <jméno balíčku>.

Poslední věcí, kterou musíme dořešit abychom měli funkční systém je konfigurace poskytovatelů služeb remote-fs a crypt-fs, které potřebujeme k tomu aby se nám spustily při bootu služby které na nich závisí. Toto se provede pomocí cast -r init.d (pokud jsme si vybrali init.d INITSCRIPTS) kde odpovíte že si přejete nainstalované scripty použít jako default poskytovatele výše zmíněných služeb (pozor, default odpověď, která vám bude nabízena bude n).

Protože dojde ke změně konfiguračních souborů tak se hned seznámíme s programem confmeld. Změny v konfiguračních souborech totiž nejsou automaticky prováděny, ale jsou vždy předloženy administrátorovi ke schválení. Po spuštění programu confmeld jsou nám interaktivně nabídnuty navrhované změny k posouzení. Nejčastěji budete pravděpodobně používat volbu 0 - akceptovat změnu, připadně 1 - akceptovat změnu, ale zazálohovat původní soubor. Velmi užitečná volba číslo 4 zobrazí diff mezi konfiguračnímy soubory. Po dokončení confmeld proveďte reboot.

Jednou z často zmiňovaných výhod source based distribucí je možnost ovlivnit nastavení kompilátoru. Nastavuje se architektura a zda si přejeme pomalejší a menší nebo rychlejší a větší kód. Na dnešních rychlých počítačích sice už tento rozdíl není, pokud zrovna nespouštíme benchmark, tak znatelný ale nastavení architektury neodmyslitelně patří k folklóru source based distrer.

Seznam podporovaných CPU architektur stáhneme příkazem cast smgl-archspecs. Pak spustíme sorcery kde v menu Options -> Optimize Architecture vybereme architekturu a kompilační volby (speedy + strip je dobrá výchozí volba). Konzervativní uživatelé ale tvrdí, že novější procesorové architektury jako třeba Core 2 nejsou v GCC tak dobře odladěné a vyzkoušené a proto tato optimalizace může způsobit nefunkční kód. Konzervativním uživatelům proto doporučuji zvolit i686/Pentium Pro.

Po nastavení architektury potřebujeme překompilovat binutils, gcc a g++ pro novou architekturu. Zde je potřeba trochu opatrnosti abychom si nerozbořili c++ kompilátor. Správný postup je: cast -c binutils gcc na otázku zda si přejeme c++ support pro gmp odpovědět ne. Systém by měl zdetekovat novou verzi gcc a nabídnout přeložení gcc, g++, gmp, mpfr. Pokud nabídne jen přeložení binutils gcc tak musíme nejprve ručně přeložit gmp bez c++ podpory nebo dočasně smazat c++ překladač (dispel c++) a pak přeložit binutils gcc gmp mpfr g++. Po úspěšném přeložení můžeme podporu pro C++ do gmp vrátit: cast -r gmp. Poslední krok je překompilovat glibc: cast -c libidn gettext glibc.

Tímto jsme úspěšně přenastavili architekturu. Nyní můžeme buďto překompilovat vše: sorcery rebuild nebo vybrané balíčky pomocí cast -c. Dobří kandidáti na individuální překlad jsou: zlib, gzip, openssh, bzip2, openssl

Balíčkovací systém

Krátké seznámení s balíčkovacím systémem aneb jak funguje balíčkovací systém Sorcery.

Abych se naučil balíčkovací systém distribuce SourceMage tak jsem se rozhodl aktualizovat jeden svůj program, který jsem našel v SourceMage nabalíčkovaný - fsp. Obsažená verze byla 2.8.1b24, aktuální je 2.8.1b26. Tyto dvě verze se od sebe liší v použitém build systému. Starý používal autoconf, nový scons.

K aktualizaci nebo vytváření balíčků se používá utilita quill. Vyzkoušel jsem ji, ale nedosáhl jsem s jejím použitím optimálních výsledků, zejména kvůli chybějící dokumentaci a zkušenostem. Proto jsem se rozhodl pro ruční práci. Musím říci, že balíčkovací systém SourceMage je velmi jednoduchý a práce je s ním velmi snadná. Je to asi nejjednoduší balíčkovací systém co jsem kdy viděl a velmi snadno se používá.

Scripty pro kompilaci fsp se nachází v adresáři /var/lib/sorcery/codex/stable/ftp/fsp. Nejdůležitější je soubor DETAILS. Začneme tím, že v něm změníme VERSION. Jelikož mně quill hlásil, že nemůže překontrolovat SOURCE_URL, tak jsem mu mírně poopravil download URL tak aby mu kontrola prošla. Balíčkovací systém podporuje kontrolu integrity zdrojových textů pomocí GPG signatur, pokud tedy výrobce software GPG signaturu poskytuje. FSP signaturu má a tak ji použijeme. Jméno souboru se signaturou zadáme do SOURCE2 a URL odkud se má stáhnout zadáme do SOURCE2_URL. Také je potřeba balíčkovacímu systému říci, že je to jen signatura a tudíž není životně důležitá pro překlad. Toho dosáhneme SOURCE2_IGNORE=signature. Ke kontrole signatury potřebujeme ještě GPG klíč. Ten musíme balíčkovacímu systému ručně dodat a to v gpg (nikoliv ASCII) formátu. Toho dosáhneme naimportováním klíče do gpg z key serveru pomocí gpg --recv-keys a exportem gpg --export > key.gpg. Jméno klíče zadáme do položky SOURCE_GPG.

Zdrojový kód máme stažen a překontrolován, jdeme ho překládat. FSP závisí na glibc, flexu a scons. Tyto závislosti umístíme do souboru DEPENDS. Protože scons build systém je nestandardní (balíčkovací systém podporuje default gnu autotools) je potřeba vytvořit soubory BUILD a INSTALL který spustí scons s patřičnými volbami.

V souboru CONFIGURE máme možnost ovlivnit kompilační volby. Dělá se to velmi snadno - zeptáme se uživatele zda si přeje přeložit fsp klienty s nekonečným timeoutem:

config_query_option FSP_OPTS "Infinite timeout for clients" n "disable-timeout=yes" "disable-timeout=no"

Formát je jednoduchý jméno proměnné, prompt, default odpověď, co nastavit v případě ano a co nastavit v případě ne. Proměnou FSP_OPTS pak použijeme ve scriptech BUILD a INSTALL.

Rád bych upozornil že například na rozdíl od většiny balíčkovacích systémů není potřeba ručně vytvářet seznam nainstalovaných souborů. Tato vymoženost značně šetří čas a lépe funguje když si nainstalujete balíček castfs.

Výsledné dílo poté vložíme jako přílohu do bugzilly bugzilla.sourcemage.org, sekce codex. Pro nové balíčky je preferován formát tar, pro aktualizace diff.

Závečné hodnocení

SourceMage GNU/Linux jsem používal něco přes měsíc a velmi se mi líbíl. Pokud si rádi hrajete a nastavujete systém, tak se vám bude SourceMage rozhodně dost líbit. Je to výborná distribuce pokud se chcete naučit administrovat linux. Čas od času narazíte na nějaké drobné problémy, ale schopnost řešit problémy je základní dovednost dobrých administrátorů a proto buďte rádi, že máte na čem trénovat. V případě problémů vám na Freenode #sourcemage rychle poradí. Není to distribuce pro úplné nováčky, pro její provozování musíte být středně pokročilý uživatel linuxu.

Druhá otázka je, zda je SourceMage vhodný i pro masové produkční nasazení. Tady bych řekl že ne. Pokud máte hodně serverů tak musíte čistě z ekonomického hlediska minimalizovat čas strávený administrací a mít distribuci podporovanou komerčním softwarem, který je při podnikovém nasazení občas potřeba. Je žádoucí nepoužívat současně více distribucí než dvě, abychom omezili náklady na administraci a zbytečně netříštili vynaložené prostředky. Volba primární distribuce se tak omezí na duopol Suse nebo Redhat, případně Ubuntu LTS. Ubuntu je mimo jiné zajímavé tím, že je to jediná free distribuce na které jsou podporovány některé produkty firmy IBM - nejzajímavější z nich jsou Lotus Notes, Websphere CE a databáze IBM DB2. Jako sekundární distribuci bych SourceMage nedoporučoval, některé aktualizace jsou poněkud problematické a je docela snadné rozbořit si celý systém i takovými drobnostmi jako je například pořadí kompilace balíčků při aktualizaci sdílené knihovny. Narozdíl od FreeBSD nejsou tyto náročnější aktualizace nikde popsány a v produkčním nasazení není moc času na experimenty. Pro produkční nasazení je lepší ideově podobné FreeBSD, popřípadě Gentoo.

Verze pro tisk

pridej.cz

 

DISKUZE

Nejsou žádné diskuzní příspěvky u dané položky.



Příspívat do diskuze mohou pouze registrovaní uživatelé.
> Vyhledávání software
> Vyhledávání článků

28.11.2018 23:56 /František Kučera
Prosincový sraz spolku OpenAlt se koná ve středu 5.12.2018 od 16:00 na adrese Zikova 1903/4, Praha 6. Tentokrát navštívíme organizaci CESNET. Na programu jsou dvě přednášky: Distribuované úložiště Ceph (Michal Strnad) a Plně šifrovaný disk na moderním systému (Ondřej Caletka). Následně se přesuneme do některé z nedalekých restaurací, kde budeme pokračovat v diskusi.
Komentářů: 1

12.11.2018 21:28 /Redakce Linuxsoft.cz
22. listopadu 2018 se koná v Praze na Karlově náměstí již pátý ročník konference s tématem Datová centra pro business, která nabídne odpovědi na aktuální a často řešené otázky: Jaké jsou aktuální trendy v oblasti datových center a jak je optimálně využít pro vlastní prospěch? Jak si zajistit odpovídající služby datových center? Podle jakých kritérií vybírat dodavatele služeb? Jak volit vhodné součásti infrastruktury při budování či rozšiřování vlastního datového centra? Jak efektivně datové centrum spravovat? Jak co nejlépe eliminovat možná rizika? apod. Příznivci LinuxSoftu mohou při registraci uplatnit kód LIN350, který jim přinese zvýhodněné vstupné s 50% slevou.
Přidat komentář

6.11.2018 2:04 /František Kučera
Říjnový pražský sraz spolku OpenAlt se koná v listopadu – již tento čtvrtek – 8. 11. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma umění a technologie, IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář

4.10.2018 21:30 /Ondřej Čečák
LinuxDays 2018 již tento víkend, registrace je otevřená.
Přidat komentář

18.9.2018 23:30 /František Kučera
Zářijový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 20. 9. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář

9.9.2018 14:15 /Redakce Linuxsoft.cz
20.9.2018 proběhne v pražském Kongresovém centru Vavruška konference Mobilní řešení pro business. Návštěvníci si vyslechnou mimo jiné přednášky na témata: Nejdůležitější aktuální trendy v oblasti mobilních technologií, správa a zabezpečení mobilních zařízení ve firmách, jak mobilně přistupovat k informačnímu systému firmy, kdy se vyplatí používat odolná mobilní zařízení nebo jak zabezpečit mobilní komunikaci.
Přidat komentář

12.8.2018 16:58 /František Kučera
Srpnový pražský sraz spolku OpenAlt se koná ve čtvrtek – 16. 8. 2018 od 19:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát jsou tématem srazu databáze prezentaci svého projektu si pro nás připravil Standa Dzik. Dále bude prostor, abychom probrali nápady na využití IoT a sítě The Things Network, případně další témata.
Přidat komentář

16.7.2018 1:05 /František Kučera
Červencový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 7. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát bude přednáška na téma: automatizační nástroj Ansible, kterou si připravil Martin Vicián.
Přidat komentář

   Více ...   Přidat zprávičku

> Poslední diskuze

31.7.2023 14:13 / Linda Graham
iPhone Services

30.11.2022 9:32 / Kyle McDermott
Hosting download unavailable

13.12.2018 10:57 / Jan Mareš
Re: zavináč

2.12.2018 23:56 / František Kučera
Sraz

5.10.2018 17:12 / Jakub Kuljovsky
Re: Jaký kurz a software by jste doporučili pro začínajcího kodéra?

Více ...

ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2024) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze