Configuring your system with variables
Updated 25 Septembre 2019
Configuration Portage
Comme nous le disions [précédemment] (fichiers_et_répertoires), Portage peut être configuré avec de nombreuses variables, à définir dans le fichier /etc/portage/make.conf.
Options de compilation
Configuration and compilation
Lorsque Portage compile une application, les variables suivantes sont passées au compilateur et au script de configuration :
- CFLAGS et CXXFLAGS définissent les indicateurs de compilation souhaités pour C et C++.
- CHOST fournit des informations sur la plate-forme, utilisables par le script de configuration
- MAKEOPTS+ est passé à la commande
make
et est généralement utilisé pour définir le niveau de compilation parallèle. Des informations plus détaillées sur les paramètres demake
sont disponibles sur la page principale de make.
Les variables USE sont également utilisées dans la configuration et la compilation. Nous en avions parlé en détail dans un chapitre antérieur.
Options d'installation
Lorsque Portage installe ("fusionne") une nouvelle version d'un logiciel, les anciennes versions sont supprimées du système. Portage donne à l'utilisateur cinq secondes avant de supprimer les anciennes versions. Ces 5 secondes sont définies par la variable CLEAN_DELAY.
Protection des fichiers de configuration
Emplacements protégés par le Portage
Portage substitue les fichiers fournis par la version la plus récente d'un paquet aux anciens, à moins qu'ils ne se trouvent dans un emplacement protégé. Les répertoires à protéger sont définis par la variable CONFIG_PROTECT. C'est l'emplacement normal des fichiers de configuration. Les noms de répertoire doivent être séparés par un espace.
Le fichier à enregistrer dans un répertoire protégé est renommé et l'utilisateur est généralement averti de l'existence d'une nouvelle version du fichier de configuration.
Pour connaître la valeur actuelle de CONFIG_PROTECT, consultez la sortie de emerge --info
:
emerge --info | grep 'CONFIG_PROTECT='
Pour en savoir plus sur le comment Portage protège les fichiers de configuration, utilisez la commande emerge
:
emerge --help config
Répertoires à exclure
Utilisez CONFIG_PROTECT_MASK pour annuler la protection de certains sous-répertoires d'un répertoire protégé.
Options de téléchargement
Emplacement du serveur
Si les informations ou les données demandées ne sont pas disponibles dans votre système, Portage les recherche en ligne. Les variables suivantes définissent l'emplacement des canaux d'information :
- GENTOOO_MIRRORS contient la liste des serveurs fournissant le code source, ou Distfiles.
- PORTAGE_BINHOST définit l'emplacement du serveur qui héberge les paquets binaires, ou précompilés pour votre système.
La troisième variable contient l'emplacement du serveur rsync, qui est utilisé pour mettre à jour votre arbre Portage :
- SYNC définit le serveur où Portage récupère l'arbre Portage.
Les variables GENTOO_MIRRORS et SYNC peuvent aussi être définies automatiquement par mirrorselect
. Commencez par l'installer, en exécutant emerge mirrorselect
. Pour plus d'informations, consultez la page d'aide de mirrorselect :
mirrorselect --help
Si vous devez utiliser un serveur mandataire, vous pouvez éditer HTTP_PROXY, FTP_PROXY et RSYNC_PROXY pour définir son adresse.
Commandes d'extraction
Lorsque Portage a besoin d'extraire du code source, wget
est utilisé par défaut. Ce comportement peut être modifié en ajustant la valeur de la variable FETCHCOMMAND.
Portage peut reprendre la récupération du code source précédemment interrompue. C'est wget
par défaut, mais il est possible de modifier la valeur de la variable RESUMECOMMAND.
Vérifiez si les commandes FETCHCOMMAND et RESUMECOMMAND enregistrent le code au bon endroit. Dans ces variables, utilisez \${URI} et \${DISTDIR} pour définir l'emplacement du code source et des fichiers distfiles, respectivement.
Il est également possible de changer les paramètres de protocole spécifiques, en modifiant par exemple la valeur de FETCHCOMMAND_HTTP, FETCHCOMMAND_FTP, RESUMECOMMAND_HTTP, RESUMECOMMAND_FTP, etc.
Configuration Rsync
La commande rsync que Portage utilise pour mettre à jour l'arbre de Portage ne peut pas être remplacée, mais il est possible de modifier les variables qui définissent son comportement :
- RSYNC_EXCLUDEFROM+ contient le chemin vers la liste des paquets et/ou des catégories que rsync doit ignorer lors de la mise à jour.
- RSYNC_RETRIES définit la fréquence à laquelle rsync doit essayer de se connecter au miroir spécifié dans la variable SYNC. La valeur par défaut est 3.
- RSYNC_TIMEOUT+ définit combien de temps (en secondes) une connexion rsync peut rester inactive avant d'être considérée comme ayant dépassé le temps d'attente. La valeur par défaut est 180, mais si vous utilisez une connexion par modem ou si vous avez un vieil ordinateur, vous voudrez peut-être augmenter cette variable à 300 ou plus.
Configuration Gentoo
Sélectionner une branche
Vous pouvez basculer d'une branche à l'autre en redéfinissant ACCEPT_KEYWORDS. La branche stable est utilisée par défaut. Votre architecture sera détectée automatiquement. Vous trouverez plus d'informations sur les branches de Gentoo dans le chapitre suivant.
Fonctionnalités de Portage
Pour affiner les fonctionnalités de Portage, n'hésitez pas à jouer avec la variable FEATURES. Les fonctionnalités de Portage ont été abordées dans les chapitres précédents, notamment dans les [Fonctionnalités de Portage] (portage_features).
Comportement de Portage
Affectation des ressources
La variable PORTAGE_NICENESS+ permet d'augmenter ou de diminuer la valeur nice appliquée à Portage. La valeur PORTAGE_NICENESS _est ajoutée à la valeur nice
actuelle.
Pour en savoir plus sur les paramètres nice
, reportez-vous au manuel :
man nice
Configuration de la sortie
La variable NOCOLOR ("false" par défaut) indique si Portage désactive la coloration des messages.