/etc/portage/make.conf

From Gentoo Wiki
< /etc‎ | portage
Jump to:navigation Jump to:search
This page is a translated version of the page /etc/portage/make.conf and the translation is 89% complete.

/etc/portage/make.conf, anciennement /etc/make.conf, est le fichier de configuration principal pour régler l'environnement de Portage au niveau global. Le dossier /etc/portage contient la plupart des autres fichiers de configurations de Portage.

Les paramètres contenus dans make.conf s'appliqueront à chaque paquet à émerger. Ces paramètres contrôlent de nombreux éléments comme les drapeaux USE globaux, les options de langue, les miroirs de Portage, etc.

Une version de base est installée pendant l'extraction de l'archive de stage, un exemple peut aussi être trouvé dans /usr/share/portage/config/make.conf.example.

Comme beaucoup de fichiers de configuration de Portage, make.conf peut aussi être sous la forme d'un dossier, son contenu sera dans ce cas, fusionnés comme s'il s'agissait d'un seul et même fichier.

See also
Le Manuel décrit aussi l'utilisation de make.conf, tout particulièrement dans les sections drapeaux USE, fonctionnalités de Portage et les variables. Lisez man make.conf pour une documentation complète.

Préséance

La configuration finale de Portage ne se base pas uniquement sur make.conf. Les paramètres globaux de ce fichier peuvent être plus fins (ou redéfinis) au niveau d'un seul paquet dans les fichiers se trouvant dans /etc/portage/package.use/ ou dans les variables d'environnement. Les paramètres par défaut gérés par la distribution sont aussi disponibles (d'un côté par les paramètres par défaut du paquet Portage, de l'autre par le profil Gentoo qui a été choisi)

Remarque
Bien que Portage gère toujours l'ancien emplacement /etc/make.conf, son utilisation est déconseillé en faveur de /etc/portage/make.conf. Quand les deux fichiers existent en même temps, les paramètres dans /etc/portage/make.conf prévalent ceux dans /etc/make.conf.

Variables

Il existe de nombreuses variables à régler dans make.conf. Seules les plus communes sont expliquées plus loin dans cet article, avec un example et un lien (si pertinent). Pour plus d'informations et la liste complète des variables, consultez la page man de make.conf en lançant :

user $man make.conf

La plupart des variables sont facultatives, peuvent occuper plusieurs lignes, mais jamais ne peuvent apparaître plus d'une fois.

Remarque
Différentes configurations demanderont différentes variables à configurer. Ne prenez pas les exemples comme une liste immuable, ou un minimum vital. Ne configurez que les variables dont vous avez besoin.

CHOST

La variable CHOST est donné lors de l'étape de configuration des ebuilds pour régler la plateforme de compilation. Gardez à l'esprit que le profil Gentoo règle déjà la valeur CHOST appropriée et que le modifier requiert une expérience et une connaissance approfondies du système de construction des paquets.

See also
Vous pouvez lire l'article CHOST pour plus d'informations.

CFLAGS et CXXFLAGS

Les variables CFLAGS et CXXFLAGS définissent les paramètres de compilation qui seront utilisés pour tous les déploiements de paquets (avec quelques exceptions filtrant les options connues pour poser problème dans le paquet). La variable CFLAGS est utilisée pour la compilation du C tandis que CXXFLAGS est utilisée pour la compilation du C++. Il est conseillé pour la majorité des utilisateurs de garder les deux valeurs identiques.

FILE /etc/portage/make.confParamétrages de base et sans danger pour CFLAGS et CXXFLAGS
CFLAGS="-march=native -O2 -pipe"
CXXFLAGS="${CFLAGS}"
See also
Pour plus d'informations, référez-vous à l'article Optimization de GCC, safe CFLAGS, le manuel à la page CFLAGS et CXXFLAGS ainsi que la FAQ.

CONFIG_PROTECT

La variable CONFIG_PROTECT contient une liste des répertoires, séparés par une espace, où Portage ne copiera pas aveuglément de nouvelles versions des fichiers, mais traitera plutôt ces fichiers comme des fichiers de configuration pour lesquels l'utilisateur devra confirmer à la main que les changements sont souhaitables et valides.

A current list of presently protected locations can be displayed with portageq:

user $portageq envvar CONFIG_PROTECT
/etc /usr/share/config /usr/share/gnupg/qualified.txt

Using portageq is a short hand alternative to running a regular expression search on verbose, informational output from the emerge command:

user $emerge --verbose --info | grep -E '^CONFIG_PROTECT='
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt"

Les sous-répertoires des répertoires listés peuvent être exclus grâce à la variable CONFIG_PROTECT_MASK.

La variable a des paramètres de configuration sains par défaut gérés par l'installation de portage et le profil Gentoo de l'utilisateur. Ces paramètres peuvent être étendus par le biais de l'environnement du système (qui est souvent utilisé par les applications qui mettent à jour la variable via leur fichier /etc/env.d) et des paramètres de configuration de l'utilisateur définis dans /etc/portage/make.conf.

FILE /etc/portage/make.confExemple de définitions avec CONFIG_PROTECT
CONFIG_PROTECT="/var/bind"

Voir également le chapitre Environment variables dans le manuel de Gentoo.


FEATURES

The FEATURES variable contains a list of Portage features that the user wants enabled on the system, effectively influencing Portage's behavior. It is set by default via /usr/share/portage/config/make.globals, but can be easily updated through /etc/portage/make.conf. Since this is an incremental variable, FEATURES values can be added without directly overriding the ones implemented through the Gentoo profile.

FILE /etc/portage/make.confAdding keepwork to FEATURES in Portage
FEATURES="keepwork"

For more information, please see Portage features in the Gentoo Handbook and the FEATURES article. For a complete list of available features, see man 5 make.conf.

See also
Rendez-vous sur l'article FEATURES pour plus d'informations.

GENTOO_MIRRORS

See also
Rendez-vous sur l'article GENTOO_MIRRORS pour plus d'informations.

MAKEOPTS

La variable MAKEOPTS est utilisée pour spécifier les arguments donnés à make quand les paquets sont construits à partir du code source.

FILE /etc/portage/make.confParamètres recommandés pour un processeur dual core avec hyper-threading et 8 Go de RAM
MAKEOPTS="-j4"
See also
Rendez-vous sur l'article MAKEOPTS pour plus d'informations.
Remarque
Rendez-vous aussi à l'article EMERGE_DEFAULT_OPTS car cette variable aussi modifie le comportement de la construction des paquets.

EMERGE_DEFAULT_OPTS

EMERGE_DEFAULT_OPTS is a variable for Portage that defines entries to be appended to the emerge command line.

EMERGE_DEFAULT_OPTS is often used to allow for concurrent emerge operations through the --jobs N and --load-average X.Y options, which tell Portage how many package builds can be ran simultaneously and up to what system load (load average) the parallelism can be used.

For example, to run up to three build jobs simultaneously:

FILE /etc/portage/make.confEnabling 3 parallel package builds
EMERGE_DEFAULT_OPTS="--jobs 3"

For more information, see the EMERGE_DEFAULT_OPTS article.

PORTAGE_SCHEDULING_POLICY

See also
Rendez-vous sur l'article Priorité de Portage.

PORTAGE_TMPDIR

La variable PORTAGE_TMPDIR définit l'emplacement des fichiers temporaires de Portage. Par défaut, ce dernier est le dossier /var/tmp, donnant alors /var/tmp/portage pour l'emplacement des constructions de paquets, /var/tmp/ccache pour le support de ccache de Portage et ainsi de suite.

FILE /etc/portage/make.confParamétrage PORTAGE_TMPDIR par défaut
PORTAGE_TMPDIR="/var/tmp"

Si vous avez suffisamment de mémoire vive disponible, vous pouvez accélérer la construction des paquets en montant PORTAGE_TMPDIR en RAM. Rendez-vous sur l'article TMPDIR de Portage sur tmpfs pour plus d'informations.

DISTDIR

La variable DISTDIR définie l'emplacement dans lequel Portage conservera le code source téléchargé. Par défaut, elle est définie à /usr/portage/distfiles.

Les utilisateurs peuvent définir la variable DISTDIR dans /etc/portage/make.conf

Attention !
Beware where you place your DISTDIR! Only trusted users should be granted write access to this location.


File integrity check and unpacking is not atomic operation, allowing for an attack where file is swapped in between possibly leading to compromise the system.
FILE /etc/portage/make.confUtiliser un emplacement DESTDIR différent
DISTDIR=/var/gentoo/distfiles

Pour plus d'informations, reportez vous à l'aticle sur DISTDIR.

PKGDIR

PKGDIR/fr

USE

La variable USE permet l'activation ou la désactivation des drapeaux USE au niveau système. Cette variable est une liste séparée par des espaces et peut s'étendre sur plusieurs lignes.

FILE /etc/portage/make.confExemple de drapeaux USE globaux
USE="-kde -qt5 ldap"
See also
Rendez-vous sur l'article sur les drapeaux USE pour une explication complète. Regardez aussi le fichier /etc/portage/package.use pour savoir comment utiliser les drapeaux USE au niveau d'un paquet.
Remarque
Prenez un temps de réflexion sur si activer ou désactiver un drapeau USE global vaut le coup et sur les conséquences que ça aura sur votre système. Il peut être préférable de ne l'activer que sur un ou plusieurs paquets.
Conseil
Un drapeau peut temporairement être activé ou désctivé dans la ligne de commande pour voir les effets que ça aura, avant de les écrire dans le fichier world : USE="[drapeau(x) USE à tester]" emerge --pretend --verbose --update --deep --newuse world

ACCEPT_LICENSE

La variable ACCEPT_LICENSE signale à Portage quelles licences de logiciel sont acceptées. Le paquets dont la licence n'aura pas été accepté ne seront pas installées sur le système.

FILE /etc/portage/make.confPour accepter toutes les licences sur tous les logiciels (mauvaise idée)
ACCEPT_LICENSE="*"
FILE /etc/portage/make.confPour accepter les licences de logiciels libres
ACCEPT_LICENSE="-* @FREE"

LINGUAS

FILE /etc/portage/make.conf
LINGUAS="de pt_BR en en_US en_GB"

USE_EXPAND

La variable USE_EXPAND est une liste écrite dans profiles/base/make.defaults depuis Portage 2.0.51.20. [1]

CPU_FLAGS_*

See also
Rendez-vous sur l'article CPU_FLAGS_* pour plus d'informations.

La variable CPU_FLAGS_* informe Portage sur les fonctionnalités du processeur. Cette information est utilisé pour optimiser les constructions de paquets pour utiliser lesdites fonctionnalités. Sont gérés aujourd'hui : CPU_FLAGS_X86 pour les architectures amd64 et x86, CPU_FLAGS_ARM pour les architectures arm et arm64, et CPU_FLAGS_PPC pour les architectures ppc et ppc64.

L'utilitaire cpuid2cpuflags (se trouvant dans le paquet app-portage/cpuid2cpuflags) peut être utilisé pour obtenir une liste complète des fonctionnalités du processeur de la machine. Après installation, entrez :

user $cpuid2cpuflags
CPU_FLAGS_X86: aes avx f16c mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3

Ce résultat peut ensuite être ajouté dans /etc/portage/make.conf ou /etc/portage/package.use/.

INPUT_DEVICES

Rendez vous à la section make.conf de l'article Xorg/Guide et sur les valeurs possibles.

L10N

Redez-vous sur L10N dans le guide de localisation.

FILE /etc/portage/make.conf
# Réglage des langues
L10N="de pt-BR en en-US en-GB"
Remarque
Bien que les codes de langue sur deux caractères (comme de ou fr) sont identiques dans LINGUAS et L10N, les valeurs plus complexes ont une syntaxe différente car L10N utilise la norme IETF (alias BCP 47). Par exemple, pt_BR et sr@latin dans LINGUAS deviennent respectivement pt-BR et sr-Latn dans L10N.

VIDEO_CARDS

Pour les valeurs possibles de cette variable USE_EXPAND, rendez-vous sur VIDEO_CARDS.

Mettre la bonne valeur dans VIDEO_CARDS installera les bons pilotes :

FILE /etc/portage/make.confRéglage de VIDEO_CARDS sur intel nvidia radeon vesa
VIDEO_CARDS="intel nvidia radeon vesa"

Changez le nom du ou des pilotes à utiliser. Le table suivant énumère les configurations communes de machines et de cartes graphiques :

Machine Discrete video card VIDEO_CARDS
Intel x86 None See Intel#Feature support
x86/ARM Nvidia nvidia
Any Nvidia except Maxwell, Pascal and Volta nouveau
Any AMD since Sea Islands amdgpu radeonsi
Any ATI and older AMD See radeon#Feature support
Any Intel intel
Raspberry Pi N/A vc4
QEMU/KVM Any virgl
WSL Any d3d12

Après avoir modifié la valeur de VIDEO_CARDS, n'oubliez pas de mettre à jour le système en utilisant la commande suivante pour que les changements puissent faire effet :

root #emerge --ask --changed-use --deep @world

Pour l'utilisateur lambda, si un environnement de bureau graphique est utilisé, cette variable devrait être définie explicitement. Pour plus d'informations, rendez-vous sur la section make.conf du guide de Xorg.

Pour plus de détails, les articles AMDGPU, Intel, Nouveau et NVIDIA sont à votre disposition.

Voir aussi

Ressources Externes

Références