Hlavní navigace

Poznejte své Gentoo (3)

Jaroslav Kotěšovec 20. 12. 2004

Dnes zakončíme mini-seriál o balíčkovacím systému hromádkou tipů a triků, které se nám budou při spravování Gentoo hodit. V závěru najdete seznam různých informačních zdrojů a portálů věnující se Gentoo.

Tipy, triky a postřehy

Zvýrazněná syntaxe pro Vim

Pokud používáte Vim, nainstalujte si balíček gentoo-syntax, ve kterém je zvýrazňování syntaxe pro portage – ebuildy, changelogy, packages.* atd.

Logování při instalaci

Při instalaci vás ebuild varuje před různými problémy nebo vám radí, co je potřeba po instalaci udělat. Jinak řečeno samé užitečné informace. Jenže jak si je má člověk přečíst, když se instaluje víc balíčku najednou. Jednou z možností je podívat se přímo do ebuildu, ale to vás asi brzo přestane bavit. Takže se podíváme na trochu pohodlnější způsob. Do make.conf si připište, kam chcete ukládat logovací soubory (1) a stáhněte si utilitku portlog-info, která tyto logy parsuje a najde vám, co budete potřebovat. Ovládání je jednoduché, spusťte portlog-info --help a uvidíte.

echo "PORT_LOGDIR=/var/log/portage" >> /etc/make.conf (1)

ACCEPT_KEYWORD → package.keywords

Jestli jste dosud používali k instalaci testovacích balíčků ACCEPT_KEYWORDS a správně jste se rozhodli používat package.keywords, mohl by vám pomoci tento mini script, který všechny balíčky instalované s ACCEPT_KEYWORDS=~x86  zapíše do package.keywords.

cd /var/db/pkg
for p in $(grep -RiH KEYWORDS * | grep ~x86 | cut -d / -f -2 | sed 's/-[0-9].*//'); do echo ${p} ~x86; done >> /etc/portage/package.keywords 

USE → package.use

Stejně jako v předchozím případě je potřeba najít všechny rozdíly mezi aktuálním nastavením USE a tím, s jakými USE jsou zkompilované jednotlivé programy. S tím nám pomůže utilitka usetool.

usetool -d -po -ip >> /etc/portage/packages.use

Úklid distfiles

Emerge se nestará o to, jak se kupí tarbally se zdrojovými kódy v /usr/portage/distfiles. Pokud máte rychlou linku a málo místa na disku, nic vám nebrání promazání adresáře distfiles po instalaci nebo upgradu. Pokud jste odkázáni na modemové připojení, je samozřejmé, že se vám nebude chtít tahat desítky mega, abyste si mohli překompilovat novou revizi programu. Dobrým kompromisem je distclean.py, který odstraní všechny tarbally nesouvisející s nainstalovanými programy.

Čistka systému

Bez povšimnutí by neměl zůstat další script od Ecatmura – cruft. Jeho účel je poměrně jednoduchý. Najde všechny soubory v systému, které nepatří žádnému nainstalovanému programu. Obsahuje spoustu výjimek pro různé programy, aby nevypisoval soubory, které si většinou programy tvoří za běhu apod. Více se dozvíte na forums.gentoo.org nebo se můžete podívat do samotného scriptu.

Až budete hledat na svém disku trochu místa, zaměřte se ještě na adresář /var/tmp/portage. Pokud přerušíte emerge uprostřed kompilace a stejnou verzi už později nekompilujete, nemá emerge příležitost po sobě uklidit. Některé nabubřelejší programy potřebují při kompilaci až několik giga, což ani dnes není uplně zanedbatelné. S klidným svědomím můžete zmiňovaný adresář občas smazat.

Hledání balíčků

Pokud tušíte přibližné jméno programu, stačí hledat v názvech (1) ebuildů. Často nastává situace, kdy víte, co od programu chcete, ale neznáte žádný konkrétní název – na to se hodí prohledávání v popisu ebuildů (2). Problém je, že emerge prohledává vždy celé portage, a s tím se přirozeně zabaví na dost dlouho. Vzniklo několik náhrad, které si nejdřív prolezou portage, zaindexují, a pak už to sviští. Z vlastní zkušenosti doporučuji esearch ( emerge esearch). Ovládá se podobně jako emerge (3, 4). V balíčku je ještě přibalen šikovný script esync (5), který nejdříve pustí emerge sync, pak si zindexuje aktualizovaný portage strom pomocí eupdatedb a ještě nám pěkně vypíše, co nového v portage přibylo. Esearch už lecos umí, takže doporučuji zběžně prohlédnout manuálovou stránku. Jen bych chtěl upozornit na šikovnou volbu (6), která najde a zobrazí příslušný ebuild.

emerge -s torrent (1)
emerge -S webmail (2)
esearch torrent (3)
esearch -S webmail (4)
esync  (5)
esearch -e mutt (6)

Já jsem si odinstaloval Exima? Kdy?!

Emerge poctivě zapisuje všechno, co udělá, do /var/log/emerge.log. Dolovat z něj informace grepem a podobně není zrovna nejpohodlnější. Potřebujeme nějaký parser, který to udělá za nás. Já jsem si oblíbil genlop ( emerge genlop). V manuálových stránkách je spousta příkladů, ale přesto stručně projedu ty zajímavější volby, abyste si udělali představu, co se od něj dozvíte.

Jednoduše si můžete vypsat celou historii, jak jste si postupem času do systému instalovali balíčky (1). Nebo jak dlouho trvalo emergování firefoxu (2), případně jak dlouho bude trvat právě běžící emergování (4) – samozřejmě to dokáže odhadnout, pouze pokud už má zkušenost z předchozích verzí. Nebo si můžeme zjistit čas celého upgradu (4). Pátá ukázka zobrazí vyčerpávající informace (5) o balíčku – jak se postupem času instalovaly novější verze, nastavení USE a CFLAGS při instalaci atd.

genlop -l (1)
genlop -t mozilla-firefox (2)
genlop -c (3)
emerge -puD world | genlop --pretend (4)
genlop -eui postfix (5)

Další utilitky

Kolem portage časem vznikl slušný počet různých utilit a scriptů. Některé jsme během seriálů využili, ale samozřejmě jich existuje mnohem více. Předně doporučuji se podívat na ty z gentoolkitu ( emerge gentoolkit) – příklady použití najdete na gentoo.org. Další neoficiální utilitky, které nejsou přímo v portage, najdete na forums.gentoo.org

Zdroje informací

Gentoo se vyznačuje kvalitní rozsáhlou dokumentací a výbornou uživatelskou podporou. Nic není dokonalé, ale v Gentoo máte jistotu, že když víte, kde hledat, můžete své problémy řešit velmi rychle.

www.gentoo.org
Oficiální stránky gentoo slouží především jako rozcestník k dalším informacím. Projděte si dokumentaci, kterou nabízejí – budete překvapeni, co všechno je k dispozici, a když se ji naučíte efektivně využívat, ušetříte spoustu času.
forums.gentoo.org
Jeden z největších zdrojů informací. 95 % problémů už někdo řešil před vámi – stačí hledat. Obsah fóra je opravdu gigantický. Necházejí se tam i různá howto, utility a tipy.
bugs.gentoo.org
Tady se nachází bugzilla pro Gentoo. Je to nejvýznamnější prostředek pro komunikaci uživatelů s vývojáři. Neslouží jen k nahlašování chyb a problémů, ale i pro požadavky na nové funkce, nové ebuildy apod. Pokud nemůžete v portage najít nějaký program nebo novou verzi, často stačí se podívat do bugzilly. Vývojáři nemohou opravovat chyby, pokud nebudou mít zpětnou vazbu od uživatelů. Uvědomte si, že nahlášením chyby zvyšujete kvalitu Gentoo. Samozřejme je důležité se předtím pokusit chybu najít, aby nebyla v bugzille několikrát, protože to vývojáře zbytečně obírá o čas.
packages.gento­o.org
Oficiální přehled programů, které jsou v portage. Je možné i odebírat konkrétní RSS pro vaši architekturu, abyste měli přehled, co za nové programy nebo verze dorazily do portage.
www.gentoo-portage.com
Neoficiální portál, ale velmi propracovaný a užitečný. V přehledné podobě si můžete prohledávat/prochá­zet portage. Můžete komentovat a hodnotit jednotlivé programy. U každého programu se můžete podívat na jeho závislosti, zpětné závislosti nebo skočit rovnou do bugzilly na jeho chyby. K dispozici jsou také různé statistiky a mnoho dalšího.
www.gentoo.cz
Česko-slovenský portál o gentoo.
irc.freenode.net/gen­too.cs
Oficiální Česko-slovenský irc kanál v síti freenode. Co dodat – jste vítáni :). Pokud tam přicházíte s problémem, nejdříve zkuste hledat – forums.gentoo.org, google.com, bugs.gentoo.or­g apod.
gentoo-wiki.com
Klasický wiki portál plný různých howto, tipů a triků. Také výborný zdroj informací.
Český neoficiální handbook
Celou instalací a základní konfigurací vás provází instalační handbook, který najdete na www.gentoo.org. Pokud máte problémy s angličtinou, doporučuju vám na ní trochu zapracovat, abyste mohli aktivně využívat všechny zdroje. Pro většinu je pohodlnější si alespoň přečíst instalační příručky v češtině. Nejsou tam zahrnuty poslední vylepšení a úpravy z originálu, ale pořád výborně poslouží.

Závěr

Tak a je to za námi. Nezbývá mi než doufat, že se vám krátká série článků líbila. Moc děkuji elviinovi, merlikovi a _st0rm_, kteří mi pomohli s odladěním článků do smyslupné podoby :).

Našli jste v článku chybu?

4. 3. 2008 22:52

Mintaka (neregistrovaný)
cat /var/lib/portage/world

13. 9. 2005 9:23

jj (neregistrovaný)
nema byt pozretie prave prebiehajuceho emerge takto?:

watch genlop -c

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Vitalia.cz: Znáte „černý detox“? Ani to nezkoušejte

Znáte „černý detox“? Ani to nezkoušejte

Vitalia.cz: 7 originálních adventních kalendářů pro mlsné

7 originálních adventních kalendářů pro mlsné

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

Podnikatelům dorazí varování od BSA

Vitalia.cz: Dáte si jahody s plísní?

Dáte si jahody s plísní?

DigiZone.cz: ČT má dalšího zástupce v EBU

ČT má dalšího zástupce v EBU

DigiZone.cz: Flix TV má set-top box s HEVC

Flix TV má set-top box s HEVC

Lupa.cz: Propustili je z Avastu, už po nich sahá ESET

Propustili je z Avastu, už po nich sahá ESET

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí

Vitalia.cz: 9 největších mýtů o mase

9 největších mýtů o mase

Root.cz: Vypadl Google a rozbilo se toho hodně

Vypadl Google a rozbilo se toho hodně

120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu

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

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

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

Podnikatel.cz: EET: Totálně nezvládli metodologii projektu

EET: Totálně nezvládli metodologii projektu

Vitalia.cz: To není kašel! Správná diagnóza zachrání život

To není kašel! Správná diagnóza zachrání život

120na80.cz: Jak oddálit Alzheimera?

Jak oddálit Alzheimera?

Vitalia.cz: Mondelez stahuje rizikovou čokoládu Milka

Mondelez stahuje rizikovou čokoládu Milka

Podnikatel.cz: 1. den EET? Problémy s pokladnami

1. den EET? Problémy s pokladnami