Gentoo Logo

Upozornění : Tento dokument již neplatí a není udržován.


[ << ] [ < ] [ Domů ] [ > ] [ >> ]


3. Možnosti Portage — FEATURES

Obsah:

3.a. 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.2: Které FEATURES jsou již zapnuté?

$ emerge --info | grep FEATURES

3.b. 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 2.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 2.2: 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 2.3: Spuštění démonu distccd

# rc-update add distccd default
# /etc/init.d/distccd start

3.c. 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 3.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 3.2: 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 3.3: 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 3.4: Editace /etc/env.d/00basic

PATH="/usr/lib/ccache/bin:/opt/bin"

3.d. 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 4.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 4.2: 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 4.3: Manuálová stránka příkazu emerge

$ man emerge

[ << ] [ < ] [ Domů ] [ > ] [ >> ]


Tisk

Zobrazit všechny

Aktualizace: 7. září 2006

Tento překlad již není udržován

Shrnutí: Objevte možnosti, které Vám Portage nabízí, jako například distribuované překlady, ccache a další.

Sven Vermeulen
Autor

Roy Marples
Autor

Daniel Robbins
Autor

Chris Houser
Autor

Jerry Alexandratos
Autor

Seemant Kulleen
Gentoo x86 vývojář

Tavis Ormandy
Gentoo Alpha vývojář

Jason Huebel
Gentoo AMD64 vývojář

Guy Martin
Gentoo HPPA vývojář

Pieter Van den Abeele
Gentoo PPC vývojář

Joe Kallar
Gentoo SPARC vývojář

John P. Davis
Editor

Pierre-Henri Jondot
Editor

Eric Stockbridge
Editor

Rajiv Manglani
Editor

Jungmin Seo
Editor

Stoyan Zhekov
Editor

Jared Hudson
Editor

Colin Morey
Editor

Jorge Paulo
Editor

Carl Anderson
Editor

Jon Portnoy
Editor

Zack Gilburd
Editor

Jack Morgan
Editor

Benny Chuang
Editor

Erwin
Editor

Joshua Kinard
Editor

Tobias Scherbaum
Editor

Xavier Neys
Editor

Joshua Saddler
Editor

Grant Goodyear
Korektor

Gerald J. Normandin Jr.
Korektor

Donnie Berkholz
Korektor

Ken Nowack
Korektor

Lars Weiler
Přispěvatel

Jan Kundrát
Překladatel

Jan Nárovec
Překladatel

Martin Tesař
Překladatel

Mirek Dvořák
Korektor

Adam Kudrna
Korektor

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.