gblend-1
Accueil du site > Documentations > Système > Guide du fichier make.conf

Guide du fichier make.conf

Publié le jeudi 15 décembre 2005, mis a jour le samedi 15 mars 2008, par Maxime Brunel

Cette documentation explique comment configurer correctement le fichier d’optimisation de la Gentoo.

Introduction

Dans cette documentation, je vais parler du make.conf, c’est-à-dire du fichier d’optimisation de la compilation pour la distribution Gentoo. Il est important de savoir configurer ce fichier quand on veut avoir un système optimisé.

Normalement quand vous le configurez pour la première fois, vous devez en être à l’installation. Il est donc important de remplir les variables correctement, sinon vous aurez quelques problémes avec les applications, ou même des erreurs pendant la compilation. Il ne faut donc pas négliger ce fichier. Le fichier se trouve dans /etc/make.conf

La configuration s’organise en plusieurs rubriques qui seront décrites ci-dessous... il en existe huit.

Les rubriques du make.conf

Rubrique : Build-time functionality

Dans cette rubrique, vous y trouverez la variable USE. Elle sert à définir les modules qui seront actifs pendant la compilation. Par exemple, si vous mettez -ssl dans la variable et que vous compilez KDE, vous n’aurez aucun support ssl sous kde. Aucune application de l’interface ne reconnaitra SSL (ex : konqueror et https). Cette variable est très importante pour le fonctionnement des applications que vous désirez. Le logiciel, ufed, vous indique toutes les USE existantes et leurs descriptions.

USE="nptl pie pic -qt gtk"

Vous pourrez aussi avec la description des USE en regardant dans le fichier /usr/portage/profiles/use.desc

# less /usr/portage/profiles/use.desc

Rubrique : Host Setting

La variable est CHOST. Vous indiquerez quel sous-architecture vous possédez (i386, pentium...). Pour les athlons, vous devrez mettre : i686-pc-linux-gnu, les pentiums : i586-pc-linux-gnu (et de même pour les K6).

CHOST="i686-pc-linux-gnu"

Vous pouvez aussi savoir la valeur de la variable en installant genflags.

$ emerge app-portage/genflags
$ info2flags

CHOST="i686-pc-linux-gnu"

Rubrique : Host and optimization settings

Pour l’optimisation, CFLAGS (drapeaux en C) est bien une des variables les plus importantes à configurer. Pour savoir quels "drapeaux" entrer, il y a plusieurs solutions :

  • Soit à la main, en allant regarder dans le fichier /proc/cpuinfo où vous trouverez toutes les flags qui correspondent à votre ordinateur et suivre la documentation de freehackers,
  • soit à l’aide de genflags,
  • ou sinon à l’aide d’un script déterminant les CFLAGS que vous devez placer dans la variable.

CFLAGS="-march=athlon -mmx -m3dnow"

Dans la même rubrique, il y a la variable CXXFLAGS (les drapeaux de C++). Vous pouvez les trouver encore avec genflags. Sinon vous mettez $CFLAGS, cela mettera la même valeur que pour CFLAGS.

Rubrique : Advanced Masking

Dans cette rubrique, vous n’aurez à configurer qu’une variable : ACCEPT_KEYWORDS. Vous y metterez l’architecture de votre ordinateur. Il existe en tout 15 architectures (alpha, amd64, arm, hppa, ia64, macos, mips, ppc, ppc64, ppc macos, s390, sparc, x86, x86 obsd, x86 fbsd) supportées par Gentoo. Vous inscrirez x86 pour un PC, pour une station sun : sparc.

Vous pouvez aussi déterminer l’architecture avec la commande info2host (contenu dans le paquet genflags).

Pour avoir les versions instables des paquets de Gentoo, vous taperez : avant votre architecture.

ACCEPT_KEYWORDS="~x86"

Rubrique : Portage Directories

Cette rubrique concerne tous les chemins et répertoires de Portage. Si vous voulez avoir votre organisation, il est conseillé de paramétrer ces variables. PORTAGE_TMPDIR

  • Il suffit juste d’entrer le chemin où seront stockés les fichiers temporaires de la compilation. Il est conseillé de supprimer souvent les fichiers temporaires, sinon vous manquerez de place.

PORTAGE_TMPDIR="/var/tmp"

PORTDIR

C’est là où l’arbre portage sera téléchargé. La valeur conseillée pour ne pas avoir de problème est /usr/portage.

PORTDIR=/usr/portage

DISTDIR

C’est ici que les archives sont enregistrées avant l’installation d’un paquet (désactiver cette variable pour les utilisateurs de la GRP). Le répertoire peut avoir plus de 9G de sources, faites donc attention !

DISTDIR="${PORTDIR}/distfiles"

PKGDIR

Il faut indiquer le chemin où seront stockés les binaires des paquets que vous créez avec l’option —buildpkg ou -b.

PKGDIR="${PORTDIR}/packages"

PORT_LOGDIR

Vous inscrirez si vous souhaitez avoir des fichiers logs (fichiers inscrivant toutes les installations de paquets), le chemin des fichiers logs pour Portage.

PORT_LOGDIR="/var/log/portage"

PORTDIR_OVERLAY

Vous indiquerez où se situent les ebuilds qui ne font pas partie de l’arbre portage officiel. Vous pouvez mettre, bien entendu, plusieurs valeurs dans cette variable.

PORTDIR_OVERLAY="/usr/local/portage /usr/local/portage/others"

Rubrique : Fetching Files

Cette rubrique conserne l’optimisation du temps de téléchargement des paquets (sources ou binaires) et l’indication de quelques options de wget ou lukemftp.

Vous indiquerez dans les variables FETCHCOMMAND et RESUMECOMMAND, les commandes pour télécharger les archives et leurs options.

Ensuite dans GENTOO_MIRRORS, vous inscrirez l’adresse qui contient les archives. Vous pouvez soit le trouver avec la page des mirroirs de Gentoo ou soit avec le logiciel mirrorselect.

GENTOO_MIRRORS="http://gentoo.osuosl.org"

Aprés il y a PORTAGE_BINHOST (ftp ou http), c’est la même chose que la variable GENTOO_MIRRORS sauf qu’elle sert pour les utilisateurs de la GRP. Il faut indiquer l’adresse où sont stockés les binaires. Vous pouvez indiquer un serveur http ou un serveur ftp.

PORTAGE_BINHOST="http://grp.mirror.site/gentoo/grp/1.4/i686/athlon-xp/"

Rubrique : Synchronizing Portage

Dans cette section, vous trouverez toutes les variables concernant l’optimisation du téléchargement de l’arbre portage.

SYNC

Il faut mettre l’adresse du serveur rsync qui contient l’arbre Portage. Il est conseillé de n’y mettre que des serveurs officiels de Gentoo.

SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"

RSYNC_RETIRES

Quand il y a des erreurs de connexion, la commande emerge rsync va réessayer de se connecter. Dans cette variable, il faut indiquer le nombre de fois que Portage va tenter pour se connecter.

RSYNC_RETIRES="5"

RSYNC_TIMEOUT

Dans le même genre, vous devez mettre le temps que la connection doit persister pour se connecter au serveur. Le temps est en secondes.

RSYNC_TIMEOUT="120"

Rubrique : Advanced Features

Dans cette rubrique, vous y trouverez toutes les options avancées configurables qui sont souvent utiles.

MAKEOPTS

Cette variable ne doit être décommentée que si vous utilisez distcc. Vous indiquerez le nombre de compilations paralléles.

MAKEOPTS="-j4"

PORTAGE_NICENESS

C’est la priorité de portage en vers les autres processus ou applications lancés. Si vous voulez que Portage prenne moins de capacité pendant la compilation, vous devrez indiquer une valeur positive sinon une valeur négative.

PORTAGE_NICENESS="-3"

AUTOCLEAN

Quand vous compilez des paquets, Portage enregistre au fur et à mesure les fichiers temporaires de la compilation. Pour que les fichiers soit supprimés à la fin de l’installation d’un paquet, indiquez yes dans cette variable.

AUTOCLEAN="no"

FEATURES

Portage posséde maintenant beaucoup de fonctionnalités, pour les activer, il faut indiquer la ou les fonction(s) que vous voulez.

Voici quelques exemples de fonctions :

  • distcc : active le support distcc pour la compilation
  • digest : génération automatique d’un digest pour chaque paquet
  • candy : un nouveau spinner avec des fortunes
  • maketest : test du paquet aprés compilation

CCACHE_SIZE

Si vous utilisez la fonction ccache, vous indiquerez la taille maximum du répertoire. La taille peut être précisée en G (Gigabytes), M (Megabytes) ou K (kilobytes). Le répertoire de CCACHE par défaut est /.ccache.

CCACHE_SIZE="10G"

RSYNC_EXCLUDEFROM

Elle indique le fichier qui désigne les paquets qui seront exclus du téléchargement de l’arbre portage. Attention, cela peut poser des problémes si vous mettez des dépendances d’une application que vous voulez installer.

PORTAGE_RSYNC_EXTRA_OPTS="—exclude-from=/etc/portage/rsync_excludes"

Répondre à cet article

1 Message


Suivre la vie du site RSS 2.0 | Plan du site | Espace privé | SPIP | squelette