/etc/portage/make.conf
emerge — configuration — ebuild repository — dispatch-conf
world file — USE flags — ebuilds — profiles
upgrades — using testing packages — binary packages
tools — gentoolkit — eselect
Portage FAQ — cheat sheet — FAQ
all articles
/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.
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)
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.
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.
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.
CFLAGS="-march=native -O2 -pipe"
CXXFLAGS="${CFLAGS}"
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.
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.
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.
Rendez-vous sur l'article FEATURES pour plus d'informations.
GENTOO_MIRRORS
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.
MAKEOPTS="-j4"
Rendez-vous sur l'article MAKEOPTS pour plus d'informations.
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:
EMERGE_DEFAULT_OPTS="--jobs 3"
For more information, see the EMERGE_DEFAULT_OPTS article.
PORTAGE_SCHEDULING_POLICY
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.
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
Beware where you place your DISTDIR! Only trusted users should be granted write access to this location.
DISTDIR=/var/gentoo/distfiles
Pour plus d'informations, reportez vous à l'aticle sur DISTDIR.
PKGDIR
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.
USE="-kde -qt5 ldap"
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.
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.
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.
ACCEPT_LICENSE="*"
ACCEPT_LICENSE="-* @FREE"
LINGUAS
Rendez vous sur LINGUAS dans le guide de localisation.
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_*
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.
# Réglage des langues
L10N="de pt-BR en en-US en-GB"
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 :
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
- Variables de Portage (Manuel AMD64)
- Fonctionnalités de Portage (Manuel AMD64)
- Variables d'environment (Manuel AMD64)
- Fonctionnalités avancés de Portage (Manuel AMD64)
- Problème d'Emerge avec
/.git/index.lock
à la racine
Ressources Externes
- make.conf - paramètres de Portage - page man de make.conf.