|
1.
Možnosti Portage (FEATURES)
Aby se Vám s Gentoo lépe pracovalo, nabízí Portage mnoho dalších možností.
Některé z nich závisí na různých doplňkových nástrojích vylepšujících výkon,
spolehlivost, bezpečnost,...
Pro povolení nebo zakázání určité možnosti musíte změnit proměnnou
FEATURES v souboru /etc/make.conf, která obsahuje
různé hodnoty oddělené mezerami. V některých případech budete navíc muset
doinstalovat příslušný nástroj, na kterém daná funkce závisí.
V tomto dokumentu nebudou popsány všechny funkce, které Portage umí; pro
jejich kompletní přehled se podívejte na manuálovou stránku
make.conf:
Výpis kódu 1.1: Zobrazení manuálové stránky make.conf |
$ man make.conf
|
Abyste zjistili, jaké možnosti jsou zapnuty, podívejte se do výstupu
emerge --info na proměnnou FEATURES:
Výpis kódu 1.1: Které FEATURES jsou již zapnuté? |
$ emerge --info | grep FEATURES
|
1.
Distribuované kompilace
Použití distcc
distcc slouží pro rozdělení kompilace mezi více strojů v síti, které
navíc nemusí být nutně stejné. Klient distcc posílá dostupným serverům, na
kterých běží distccd, všechny potřebné informace, takže mohou kompilovat
části zdrojového kódu paralelně. Výsledkem je celkové urychlení kompilace.
Více informací o distcc a o jejím použití s Gentoo můžete najít
v Gentoo distcc dokumentaci.
Instalace distcc
Distcc je dodávaná s grafickým nástrojem pro monitorování úkolů, které Váš
počítač požaduje od ostatních. Používáte-li Gnome, přidejte do USE proměnnou
'gnome', pokud ne, a přesto chcete mít tento nástroj k dispozici, přidejte
'gtk'.
Výpis kódu 1.1: Instalace distcc |
# emerge distcc
|
Aktivace podpory v Portage
V souboru /etc/make.conf přidejte do proměnné FEATURES hodnotu
distcc. Dále je potřeba změnit nastavení MAKEOPTS; známé pravidlo je
hodnota "-jX", kde X je celkový počet procesorů, na kterých běží distccd
(včetně počítače, který posílá požadavky na kompilace) plus jedna, avšak můžete
dosáhnout lepších výsledků i s jinými hodnotami.
Nyní spusťte distcc-config a zadejte seznam dostupných distcc serverů.
Popíšeme si jednoduchý příklad, kde budeme používat servery 192.168.1.102
(počítač, na kterém nyní pracujeme), 192.168.1.103 a 192.168.1.104 ("vzdálené"
stroje):
Výpis kódu 1.1: Nastavení distcc pro použití tří serverů |
# distcc-config --set-hosts "192.168.1.102 192.168.1.103 192.168.1.104"
|
Nezapomeňte spustit démona distccd:
Výpis kódu 1.1: Spuštění démonu distccd |
# rc-update add distccd default
# /etc/init.d/distccd start
|
1.
Vyrovnávací paměť kompilace (cache)
Představujeme ccache
ccache je rychlá vyrovnávací paměť (cache) kompilátoru, která si
zapamatuje výsledek každého překladu. V případě, že budete chtít
překompilovat stejný program později, se tak celý proces podstatně urychlí, pro
běžné aplikace přibližně pětkrát až desetkrát.
Pokud Vás zajímají výhody i nevýhody ccache, navštivte prosím její
domovskou stránku.
Instalace ccache
Pro instalaci ccache spusťte emerge ccache:
Výpis kódu 1.1: Instalace ccache |
# emerge ccache
|
Aktivace podpory v Portage
Otevřete soubor /etc/make.conf a přidejte ccache do proměnné
FEATURES. Navíc vytvořte další proměnnou CCACHE_SIZE a nastavte ji na hodnotu
"2G":
Výpis kódu 1.1: Změna CCACHE_SIZE v /etc/make.conf |
CCACHE_SIZE="2G"
|
Abyste zjistili, zda ccache funguje, požádejte ji o zobrazení statistiky.
Protože Portage používá pro ccache jiný domovský adresář, musíte nastavit
proměnnou CCACHE_DIR:
Výpis kódu 1.1: Zobrazení statistiky ccache |
# CCACHE_DIR="/var/tmp/ccache" ccache -s
|
Adresář /var/tmp/ccache je výchozí umístění domovského adresáře
ccache pro Portage. Chcete-li jej přesunout jinam, změňte proměnnou
CCACHE_DIR v souboru /etc/make.conf.
Když však spouštíte ccache ručně, snaží se používat adresář
${HOME}/.ccache. Při dotazech na využití ccache Portage proto
musíte použít proměnnou CCACHE_DIR.
Použití ccache pro C kompilace mimo Portage
Chcete-li používat ccache i pro kompilace mimo Portage, musíte přidat
/usr/lib/ccache/bin na začátek proměnné PATH (před
/usr/bin). Dosáhnete toho editací souboru
/etc/env.d/00basic, který obsahuje první definici proměnné
prostředí PATH:
Výpis kódu 1.1: Editace /etc/env.d/00basic |
PATH="/usr/lib/ccache/bin:/opt/bin"
|
1.
Podpora binárních balíčků
Vytváření předkompilovaných balíčků
Portage podporuje instalace z předkompilovaných balíčků. I když je samo
Gentoo kromě takzvaných GRP snapshotů neposkytuje, Portage je zpracovávat umí.
Pokud je balíček již nainstalován, můžete z něj vytvořit binární pomocí
quickpkg; pokud není, použijte emerge s parametrem
--buildpkg či --buildpkgonly.
Chcete-li, aby Portage vytvářelo předkompilované balíčky při každé instalaci,
přidejte do proměnné FEATURES hodnotu buildpkg.
Rozšířenější podporu vytváření předkompilovaných skupin balíčků poskytuje
catalyst; pro více informací si prosím přečtěte Referenční manuál
Catalyst (anglicky) a Catalyst často kladené dotazy
(anglicky).
Instalace předkompilovaných balíčků
Gentoo sice předkompilované balíčky přímo neposkytuje, ale můžete si je vytvořit
sami. Pokud se tak rozhodnete, musíte Portage informovat, kde je má hledat,
a to pomocí proměnné PORTAGE_BINHOST. Ukládáte-li například balíčky na
ftp://buildhost/gentoo, použijte:
Výpis kódu 1.1: Nastavení PORTAGE_BINHOST v /etc/make.conf |
PORTAGE_BINHOST="ftp://buildhost/gentoo"
|
Když chcete nainstalovat předkompilovaný balíček, přidejte --getbinpkg
k volbě --usepkg příkazu emerge. První zajistí stažení
předkompilovaného balíčku, druhá jeho použití namísto nové kompilace.
Chcete-li například nainstalovat gnumeric z předkompilovaného
balíčku, použijte toto:
Výpis kódu 1.1: Instalace gnumeric z předkompilovaného balíčku |
# emerge --usepkg --getbinpkg gnumeric
|
Více informací o předkompilovaných balíčcích najdete v manuálové stránce
příkazu emerge:
Výpis kódu 1.1: Manuálová stránka příkazu emerge |
$ man emerge
|
|