Disclaimer :
Dit document is niet juist en is niet meer onderhouden.
|
[ << ]
[ < ]
[ Home ]
[ > ]
[ >> ]
3. Functionaliteiten van Portage
Inhoud:
3.a. De Portage Functies
Portage heeft verschillende functies die uw Gentoo-ervaring nog beter kunnen
maken. Veel van deze functies zijn afhankelijk van softwaretools die onder
andere de prestaties, de betrouwbaarheid en de veiligheid verbeteren.
Om bepaalde Portage-functies in of uit te schakelen moet de FEATURES
variabele in /etc/make.conf gewijzigd worden. Deze bevat de
verschillende feature keywords, gescheiden door een spatie. In enkele gevallen
moet ook software geïnstalleerd worden waar de functie afhankelijk van is.
Niet alle functies die Portage ondersteunt, worden hier besproken. Raadpleeg
voor een volledig overzicht de make.conf manpage:
Codevoorbeeld 1.1: De make.conf manpage raadplegen |
$ man make.conf
|
Voer emerge --info uit om te achterhalen welke FEATURES standaard
ingeschakeld zijn en zoek naar de FEATURES-variabele. Of gebruik grep om
de FEATURES variabele eruit te filteren:
Codevoorbeeld 1.2: Uitvinden welke FEATURES momenteel ingeschakeld zijn |
$ emerge --info | grep FEATURES
|
3.b. De compilaties verdelen
distcc gebruiken
distcc is een programma om te compileren bestanden te verdelen over
meerdere, niet perse identieke, computers in een netwerk. De distcc
client zendt alle nodige informatie naar de beschikbare distcc-servers
(distccd) zodat deze delen van de broncode kunnen compileren voor de
client. Het resultaat is een kortere compileertijd.
Meer informatie over distcc (en het met Gentoo laten werken) is te
vinden in onze Gentoo Distcc Documentatie
(Engelstalig).
Distcc installeren
Distcc wordt geleverd met een grafische schil om te kunnen zien welke taken
door de computer worden verzonden om gecompileerd te worden. Als u Gnome
gebruikt, dan kunt u 'gnome' in uw USE variabele opnemen. Als u geen Gnome
gebruikt en toch graag de grafische schil wilt gebruiken zult u 'gtk' in de
USE variabele op moeten nemen.
Codevoorbeeld 2.1: Distcc installeren |
# emerge distcc
|
Portage ondersteuning activeren
Voeg distcc toe aan de FEATURES variabele in
/etc/make.conf. Pas daarna de MAKEOPTS variabele aan naar eigen
wens. Een vuistregel zegt "-jX" in te vullen, waarbij X het aantal CPU's is
waarop distccd draait (inclusief de huidige host) plus een. Maar het
zou kunnen zijn dat betere resultaten behaald worden met andere getallen.
Start nu distcc-config en vul de lijst met beschikbare distcc-servers in.
Als simpel voorbeeld nemen we aan dat de beschikbare distcc-servers
192.168.1.102 (de huidige host), 192.168.1.103 en 192.168.1.104 (twee "remote"
hosts) zijn:
Codevoorbeeld 2.2: Distcc configureren om drie distcc servers te gebruiken |
# distcc-config --set-hosts "192.168.1.102 192.168.1.103 192.168.1.104"
|
Vergeet niet om zelf ook de distccd deamon te starten:
Codevoorbeeld 2.3: De distccd daemon starten |
# rc-update add distccd default
# /etc/init.d/distccd start
|
3.c. Compileren met gebruik van cache
Over ccache
ccache is een snelle compiler cache. Wanneer een programma gecompileerd
wordt, zal het de resultaten cachen zodat iedere keer dat hetzelfde programma
opnieuw gecompileerd wordt, de compileertijd flink gereduceerd wordt. Over het
algemeen kan dit resulteren in 5 tot 10 maal snellere compilaties.
Als u geïnteresseerd bent in de ins en outs van ccache, bezoek dan de
ccache homepage (Engelstalig).
Ccache installeren
Voer emerge ccache uit om ccache te installeren:
Codevoorbeeld 3.1: Ccache installeren |
# emerge ccache
|
Portage-ondersteuning activeren
Open /etc/make.conf en voeg ccache toe aan de
FEATURES variabele. Voeg daarna een nieuwe variabele toe met de naam
CCACHE_SIZE en geef deze de waarde "2G":
Codevoorbeeld 3.2: CCACHE_SIZE instellen /etc/make.conf |
CCACHE_SIZE="2G"
|
Om ccache-functies te controleren, kunnen er statistieken opgevraagd worden,
maar omdat Portage een andere ccache map gebruikt dan de standaard ccache
installatie, moet u de CCHACHE_DIR variabele gebruiken:
Codevoorbeeld 3.3: Ccache statistieken bekijken |
# CCACHE_DIR="/var/tmp/ccache" ccache -s
|
De map /var/tmp/ccache is de standaard ccache lokatie voor
Portage; wanneer u dit wilt veranderen, kunt u de variabele CCACHE_DIR
toevoegen in /etc/make.conf.
Wanneer u echter ccache buiten Portage om gebruikt, wordt de standaard
lokatie ${HOME}/.ccache gebruikt. Daarom moet u de variabele
CCACHE_DIR ingeven wanneer u de (Portage-)ccache statistieken wilt zien.
Ccache gebruiken voor niet-Portage-compilaties
Om ccache te gebruiken voor niet-Portage-compilaties, dient
/usr/lib/ccache/bin aan het begin van de PATH-variabele opgenomen
te worden (voor /usr/bin). Dit kan bereikt worden door
/etc/env.d/00basic aan te passen, omdat dit het eerste bestand is
dat wordt gebruikt om de PATH variabele te definieren:
Codevoorbeeld 3.4: /etc/profile aanpassen |
PATH="/usr/lib/ccache/bin:/opt/bin"
|
3.d. Ondersteuning voor binaire pakketten
Binaire pakketten maken
Portage ondersteunt de installatie van binaire pakketten. Hoewel Portage zelf
niet voorziet in binaire pakketten (afgezien van de GRP-snapshots) kan Portage
er wel mee omgaan.
Om een binair pakket te maken, kan voor reeds geïnstalleerde pakketten gebruik
worden gemaakt van quickpkg. Als het pakket nog niet geïnstalleerd is,
kan emerge met behulp van de --buildpkg of --buildpkgonly
opties een binair pakket gemaakt worden.
Om van elk pakket dat geïnstalleerd wordt een binair pakket te maken, kan
buildpkg aan de FEATURES-variabele toegevoegd worden.
Meer uitgebreide ondersteuning voor het maken van binaire pakketten kan worden
verkregen met catalyst. Voor meer informatie over catalyst, lees de Catalyst Reference Manual
(Engelstalig) en de Catalyst
Veelgestelde Vragen (Engelstalig).
Binaire pakketten installeren
Hoewel Gentoo er geen biedt, kan er een centrale plaats aangemaakt worden waar
de binaire pakketten opgeslagen worden. Om Portage hiervan op de hoogte te
stellen, dient de variabele PORTAGE_BINHOST te verwijzen naar deze plek. Als
bijvoorbeeld de binaire pakketten zich op ftp://buildhost/gentoo bevinden:
Codevoorbeeld 4.1: PORTAGE_BINHOST in /etc/make.conf instellen |
PORTAGE_BINHOST="ftp://buildhost/gentoo"
|
Om een binair pakket te installeren moet de --getbinpkg optie na de
--usepkg optie aan het emerge-commando meegegeven worden. De eerste
vertelt emerge om het binaire pakket te downloaden van de eerder ingestelde
server. De laatste vraagt emerge om eerst te proberen een binair pakket te
installeren voordat de broncode gedownload en gecompileerd wordt.
Om bijvoorbeeld gnumeric met een binair pakket te installeren:
Codevoorbeeld 4.2: Het gnumeric binaire pakket installeren |
# emerge --usepkg --getbinpkg gnumeric
|
Meer informatie over emerge's binaire pakket mogelijkheden kan gevonden worden
in de manpage van emerge:
Codevoorbeeld 4.3: De emerge manpage lezen |
$ man emerge
|
[ << ]
[ < ]
[ Home ]
[ > ]
[ >> ]
The contents of this document are licensed under the Creative Commons -
Attribution / Share Alike license.
|