Gentoo Logo

[ << ] [ < ] [ Sommaire ] [ > ] [ >> ]


2. Les variables de configuration

Table des matières :

2.a. Configuration de Portage

Portage peut être configuré grâce à de nombreuses variables que vous définissez dans le fichier /etc/make.conf. Vous trouverez une description complète de ces variables dans la page man de make.conf. Pour la consulter, faites :

Exemple de code 1 : Lire la page man de make.conf

$ man make.conf

2.b. Options relatives à la compilation

Les options de configuration et de compilation

Quand Portage compile une application, il passe les variables suivantes au script de configuration et au compilateur :

  • CFLAGS et CXXFLAGS définissent les options des compilateurs C et C++.
  • CHOST définit le type d'hôte pour le script de configuration.
  • MAKEOPTS est passé au programme make et sert à définir le nombre de tâches de compilation maximum à lancer en parallèle. Vous trouverez plus d'information sur le programme make dans sa page man.

La variable USE est aussi utilisée par les processus de configuration et de compilation et a déjà été documentée dans des chapitres précédents.

Options d'intégration

Quand Portage a fini d'intégrer une nouvelle version d'un paquet au système, il supprime les fichiers des versions précédentes. Portage attend cinq secondes avant de supprimer ces fichiers. Ce délai est paramétrable grâce à la variable CLEAN_DELAY.

Vous pouvez aussi configurer emerge pour qu'il se lance systématiquement accompagné de certaines options en configurant la variable EMERGE_DEFAULT_OPTS. Cela peut-être utile pour des options comme --ask, --verbose et --tree par exemple.

2.c. Protection des fichiers de configuration

Répertoires protégés

Portage remplace les fichiers des anciennes versions des logiciels par ceux des nouvelles versions qu'il installe sauf si ceux-ci se trouvent dans un répertoire protégé. La liste de ces répertoires est définie par la variable CONFIG_PROTECT. Les répertoires sont séparés par des espaces. Ceux-ci sont généralement des répertoires qui accueillent des fichiers de configuration.

Un fichier qui devrait être installé dans un répertoire protégé est renommé et l'utilisateur est averti de la présence d'un nouveau fichier de configuration.

Vous pouvez afficher la liste des répertoires protégés avec la commande emerge --info :

Exemple de code 2 : Afficher la variable CONFIG_PROTECT

$ emerge --info | grep 'CONFIG_PROTECT='

Pour afficher l'aide intégrée dans Portage à propos de la protection des fichiers de configuration, utilisez la commande emerge comme suit :

Exemple de code 3 : Afficher l'aide de Portage sur la protection des fichiers

$ emerge --help config

Exclure des répertoires

Vous pouvez exclure certains répertoires de cette protection en les définissant dans la variable CONFIG_PROTECT_MASK.

2.d. Options de téléchargement

Les serveurs

Quand Portage a besoin de fichiers qui ne sont pas sur votre machine, il essaie de les télécharger. Les serveurs qu'il contacte sont définis dans les variables suivantes :

  • GENTOO_MIRRORS définit la liste des serveurs qui contiennent les sources des paquets (les « distfiles »).
  • PORTAGE_BINHOST définit les serveurs qui offrent des paquets binaires précompilés.

Une troisième variable contient le nom du serveur que Portage contacte quand il doit synchroniser son arbre :

  • SYNC définit le serveur utilisé pour synchroniser l'arbre Portage.

Les variables GENTOO_MIRRORS et SYNC peuvent être définies automatiquement par le programme mirrorselect. Vous devez l'installer avec la commande emerge mirrorselect si vous comptez l'utiliser. Vous pouvez consulter l'aide de mirrorselect avec la commande suivante :

Exemple de code 4 : Plus d'information sur mirrorselect

# mirrorselect --help

Si vous devez utiliser un serveur mandataire (« proxy server »), vous devez définir son nom dans les variables HTTP_PROXY, FTP_PROXY et RSYNC_PROXY.

Outils de téléchargement

Quand Portage doit télécharger les sources d'un paquet, il utilise wget par défaut. Vous pouvez lui faire utiliser une autre commande grâce à la variable FETCHCOMMAND.

Portage est capable de reprendre un téléchargement interrompu. Il utilise aussi la commande wget par défaut, mais vous pouvez changer cela grâce à la variable RESUMECOMMAND.

Veuillez vérifier que les commandes que vous définissez dans les variables FETCHCOMMAND et RESUMECOMMAND sauvent les fichiers téléchargés à la bonne place. Utilisez les valeurs \${URI} et \${DISTDIR} pour indiquer respectivement l'origine des sources et le répertoire dans lequel les enregistrer.

Vous pouvez même définir des commandes spécifiques par protocole grâce aux variables FETCHCOMMAND_HTTP, FETCHCOMMAND_FTP, RESUMECOMMAND_HTTP, RESUMECOMMAND_FTP.

Options de rsync

Vous ne pouvez pas utiliser une autre commande que rsync pour mettre l'arbre Portage à jour, mais vous pouvez configurer cette commande avec les variables suivantes :

  • PORTAGE_RSYNC_OPTS définit un ensemble d'options, séparées par une espace, qui seront utilisées par défaut. Cette variable ne devrait pas être modifiée, sauf si vous savez exactement ce que vous faites. Notez que certaines options sont indispensables et seront toujours utilisées, même si elles ne sont plus dans PORTAGE_RSYNC_OPTS.
  • PORTAGE_RSYNC_EXTRA_OPTS est utilisée pour définir des options supplémentaires à passer à rsync. On sépare ces options avec une espace.
    • --timeout=<number> : définit le délai maximum (en secondes) pour établir la connexion avec le serveur rsync. La valeur par défaut est de 180 mais les utilisateurs de modem RTC ou ceux qui possèdent une machine lente peuvent monter cette valeur à 300 et plus.
    • --exclude-from=/etc/portage/rsync_excludes est un fichier qui contient la liste des paquets et/ou des catégories de paquets que rsync ignorera pendant la mise à jour. Dans cet exemple, le ficher en question est /etc/portage/rsync_excludes. La syntaxe à utiliser est détaillée dans le document Diverger de l'arbre officiel.
    • --quiet : réduit les sorties à l'écran.
    • --verbose : Imprime la liste complète des fichiers.
    • --progress : affiche une barre de progression pour chaque fichier.
  • PORTAGE_RSYNC_RETRIES est le nombre d'essais maximum pour tenter d'établir une connexion avec le miroir (dont l'adresse est définie par la variable SYNC). Par défaut, cette variable est égale à 3.

Pour plus d'informations sur toutes les options disponibles, référez-vous à la page du manuel rsync.

2.e. Configuration de Gentoo

Choix de la branche

Vous pouvez définir la branche à utiliser avec la variable ACCEPT_KEYWORDS. La valeur par défaut est la branche stable pour votre architecture. Vous trouverez plus de détails à ce sujet dans le chapitre suivant.

Fonctionnalités de Portage

Vous pouvez activer certaines fonctionnalités de Portage grâce à la variable FEATURES. Celles-ci ont déjà été abordées dans des chapitres précédents tels que Portage et ses fonctionnalités.

2.f. Comportement de Portage

Gestion des ressources

La variable PORTAGE_NICENESS permet de réduire ou d'augmenter la valeur « nice » avec laquelle Portage s'exécute. La valeur de PORTAGE_NICENESS est ajoutée à la valeur « nice » en cours. Cette valeur permet de rendre le processus de compilation plus ou moins prioritaire. Une valeur élevée rend Portage moins prioritaire par rapport aux autres processus et laisse le système plus disponible.

Pour plus d'information à propos de nice, veuillez consulter sa page man :

Exemple de code 5 : La page man de nice

$ man nice

Configuration de l'affichage

La variable NOCOLOR, dont la valeur par défaut est « false », indique à Portage de ne pas utiliser de couleurs dans son affichage.


[ << ] [ < ] [ Sommaire ] [ > ] [ >> ]


Imprimer

Dernière mise à jour le 2 juin 2007

Une version originale plus récente datée du 7 juillet 2007 existe.

Résumé : L'outil Portage est entièrement configurable via diverses variables que vous pouvez déclarer soit dans les fichiers de configuration, soit comme des variables d'environnement.

Sven Vermeulen
Auteur

Grant Goodyear
Auteur

Roy Marples
Auteur

Daniel Robbins
Auteur

Chris Houser
Auteur

Jerry Alexandratos
Auteur

Seemant Kulleen
Développeur Gentoo x86

Tavis Ormandy
Développeur Gentoo Alpha

Jason Huebel
Développeur Gentoo AMD64

Guy Martin
Développeur Gentoo HPPA

Pieter Van den Abeele
Développeur Gentoo PPC

Joe Kallar
Développeur Gentoo SPARC

John P. Davis
Correcteur

Pierre-Henri Jondot
Correcteur

Eric Stockbridge
Correcteur

Rajiv Manglani
Correcteur

Jungmin Seo
Correcteur

Stoyan Zhekov
Correcteur

Jared Hudson
Correcteur

Colin Morey
Correcteur

Jorge Paulo
Correcteur

Carl Anderson
Correcteur

Jon Portnoy
Correcteur

Zack Gilburd
Correcteur

Jack Morgan
Correcteur

Benny Chuang
Correcteur

Erwin
Correcteur

Joshua Kinard
Correcteur

Tobias Scherbaum
Correcteur

Joshua Saddler
Correcteur

Gerald J. Normandin Jr.
Relecteur

Donnie Berkholz
Relecteur

Ken Nowack
Relecteur

Lars Weiler
Contributeur

Xavier Neys
Correcteur, traducteur

Camille Huot
Traducteur

Benjamin Girault
Traducteur

Olivier Fisette
Traducteur

Olivier Roomans
Traducteur

Vincent Strubel
Traducteur

Donate to support our development efforts.

Gentoo Centric Hosting: vr.org

VR Hosted

Tek Alchemy

Tek Alchemy

SevenL.net

SevenL.net

php|architect

php|architect

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