Configuring your system with variables
Updated 7 Novembre 2026
Cette page s'applique à Portage 3.0.82 et Calculate Utilities 3.8.
Configuration de Portage
Portage se configure par des variables. Dans une distribution ordinaire, on les écrit dans le fichier /etc/portage/make.conf, mais sur Calculate ce chemin est un répertoireles autres fichiers du répertoire sont distribués par des modèles Calculate, et les modifier à la main entrerait en conflit avec les mises à jour de la configuration de la distribution.
L'ensemble des variables est décrit dans les pages de référence de Portage :
man make.conf
man portage
Le fichier custom contient déjà des "poignées" prêtes à l'emploi - des lignes commentées auxquelles il suffit de retirer le # de début :
#------------------------------------ # Основные опции сборки #------------------------------------ # Использование для обновления бинарных пакетов (по умолчанию) либо # исходных кодов. #FEATURES="${FEATURES} -getbinpkg" # Список пакетов, которые будут всегда устанавливаться из исходного кода. # Используйте пробел в качестве разделителя. #USEPKG_EXCLUDE="--usepkg-exclude=''" # Количество пакетов для одновременной сборки. #EMERGE_JOBS="--jobs=1" EMERGE_DEFAULT_OPTS="${EMERGE_DEFAULT_OPTS} ${USEPKG_EXCLUDE} ${EMERGE_JOBS}" # Конфиги, защищённые от автоматической перезаписи # В этих путях будут появляться файлы вида ._cfg0000_*, # которые нужно принимать через etc-update или dispatch-conf. CONFIG_PROTECT="/var/calculate/etc" #------------------------------------ # Настройки компилятора #------------------------------------ # Количество параллельных процессов, запускаемых при установке пакета. MAKEOPTS="-j5" # Дополнительные параметры, передаваемые компилятору. Флаг '-march=native' # оптимизирует программы под ваше оборудование. #CFLAGS="-O2 -march=native -pipe" #CXXFLAGS="${CFLAGS}" # Максимальный размер ccache #CCACHE_SIZE="5G" # Параметры сжатия для бинарных пакетов BINPKG_COMPRESS_FLAGS="-19 -T4"
À quoi servent les poignées :
FEATURES="${FEATURES} -getbinpkg"- fait passer la mise à jour des paquets binaires au code source : l'optiongetbinpkgpousse emerge à toujours essayer de récupérer les paquets prêts depuis le miroir binaire distant, et le moins placé devant son nom la désactive.- USEPKG_EXCLUDE - la liste des paquets toujours installés depuis le code source (les valeurs sont séparées par un espace) ; elle est substituée dans EMERGE_DEFAULT_OPTS par l'intermédiaire de l'option --usepkg-exclude, qui s'applique aussi aux paquets binaires venus du serveur distant - y compris sans la clé explicite
-g. - EMERGE_JOBS - le nombre de paquets compilés simultanément, par l'option
--jobs. - MAKEOPTS - déjà décommentée :
-j5définit le nombre de processus de compilation parallèles à l'intérieur d'un même paquet. - CFLAGS et CXXFLAGS - des paramètres supplémentaires transmis au compilateur ; le drapeau
-march=nativeoptimise les programmes pour votre matériel. - CCACHE_SIZE - la taille maximale du cache ccache.
- BINPKG_COMPRESS_FLAGS - les paramètres de compression pour les paquets binaires.
Options de compilation
Options de configuration et de compilation
Lors de la compilation des applications, Portage transmet les valeurs des variables suivantes au compilateur et au script de configuration :
- CFLAGS et CXXFLAGS - les drapeaux du compilateur pour C et C++ ;
- CHOST - les informations sur la plateforme de compilation pour le script de configuration de l'application ;
- MAKEOPTS - passée à la commande
make; elle définit généralement le degré de parallélisation de la compilation.
Les détails sont dans la page de référence :
man make
La variable USE sert aussi à la configuration et à la compilation ; elle est décrite en détail sur la page Variables USE. Sur Calculate, les valeurs des variables du compilateur sont définies dans /etc/portage/make.conf/custom (voir la section Configuration de Portage).
Options d'installation
Quand Portage installe une nouvelle version d'un programme, les fichiers de la version obsolète sont supprimés du système. Après le lancement de emerge --unmerge, Portage affiche un compte à rebours avant la suppression ; sa durée est définie par la variable CLEAN_DELAY (5 secondes par défaut).
Pour qu'emerge démarre toujours avec certaines clés, énumérez-les dans EMERGE_DEFAULT_OPTS. Si vous voulez confirmer l'installation avant le merge, ajoutez --ask à l'ensemblele fichier custom y ajoute les valeurs USEPKG_EXCLUDE et EMERGE_JOBS, tandis que la distribution définit l'ensemble de base - il ressemble généralement à ceci :
EMERGE_DEFAULT_OPTS=" --autounmask --binpkg-changed-deps=n --binpkg-respect-use=y --jobs=4 --quiet-build=n "
Sur votre système, l'ensemble peut différer - vérifiez-le :
emerge --info | grep EMERGE_DEFAULT_OPTS
Certains de ces paramètres sont abordés sur la page Fonctionnalités Portage. Si vous ajoutez vos propres clés, ne réécrivez pas la variable en entier : ajoutez-y des valeurs par l'intermédiaire de ${EMERGE_DEFAULT_OPTS}, comme le fait le fichier custom.
Protection des fichiers de configuration
Répertoires protégés de Portage
Les fichiers fournis par une nouvelle version d'un programme sont écrasés par-dessus les anciens - sauf ceux qui se trouvent dans les répertoires protégés. La liste des chemins protégés est définie par la variable CONFIG_PROTECT (les répertoires sont séparés par des espaces) ; il s'agit généralement des emplacements des fichiers de configuration. Un fichier qui devait être écrit dans un répertoire protégé n'est pas écrasé : à la place, des fichiers de la forme ._cfg0000_* apparaissent dans le répertoire, et l'utilisateur reçoit un avertissement à propos d'une nouvelle version de configuration. Ces fichiers doivent être acceptés par etc-update ou dispatch-conf.
Le fichier custom contient CONFIG_PROTECT="/var/calculate/etc" - la configuration de la distribution est protégée elle aussi. La valeur réelle de la variable est visible dans la sortie de emerge --info :
CONFIG_PROTECT="/etc /usr/share/config /var/bind /var/calculate/etc"
Les détails de la protection des fichiers de configuration sont dans la page de référence d'emerge, section CONFIGURATION FILES :
man emerge
Exclusion de répertoires de la protection
Pour lever la protection de certains sous-répertoires d'un répertoire protégé, utilisez la variable CONFIG_PROTECT_MASK.
Options de téléchargement
Emplacements des serveurs
Quand les données demandées ne sont pas présentes sur le système, Portage les télécharge depuis l'Internet. Les adresses des serveurs sont définies par les variables suivantes :
- GENTOO_MIRRORS - la liste des serveurs qui hébergent le code source des paquets (distfiles) ; les fichiers eux-mêmes sont conservés sur Calculate dans le répertoire /var/calculate/distfiles (la valeur de DISTDIR) ;
- PORTAGE_BINHOST - le serveur de paquets binaires prêts pour votre système.
Le fichier /etc/portage/make.conf/binhost, qui porte l'adresse du miroir binaire, est créé par un modèle Calculate :
#------------------------------------------------------------------------------ # Modified Calculate Utilities 3.7.6.8 # Processed template files: # /var/db/repos/calculate/profiles/templates/6_ac_update_sync/binhost/binhost # To modify this file, create a /etc/portage/make.conf/binhost.clt template. #------------------------------------------------------------------------------ PORTAGE_BINHOST="http://mirror.mephi.ru/calculate/grp/x86_64"
Не правьте файл binhost вручную
Le fichier est géré par un modèle de la distribution, modifiez donc son contenu au moyen de votre propre modèle /etc/portage/make.conf/binhost.clt (voir Modèles). cl-update -m list affiche la liste des miroirs binaires disponibles pour la distribution - elle permet de choisir un autre serveur sans modifier le fichier à la main.
L'adresse du dépôt qui sert à mettre à jour l'arbre local se définit non pas dans make.conf, mais dans les fichiers du répertoire /etc/portage/repos.confil ne doit pas être modifié. Ajoutez vos propres dépôts dans un nouveau fichier du même répertoire - les détails sont sur la page S'écarter de l'arbre officiel.
Si l'accès à l'Internet exige un serveur proxy, déclarez les variables http_proxy, ftp_proxy et RSYNC_PROXY.
Commandes de téléchargement
Pour télécharger le code source des paquets, Portage utilise wget par défaut ; son comportement est modifié par la variable FETCHCOMMAND. La reprise d'un fichier partiellement téléchargé passe également par wget et se configure par la variable RESUMECOMMAND.
Assurez-vous que vos commandes FETCHCOMMAND et et RESUMECOMMAND enregistrent les fichiers au bon endroit enregistrent les fichiers au bon endroit : les variables utilisent en interne
Assurez-vous que vos commandes FETCHCOMMAND et et RESUMECOMMAND enregistrent les fichiers au bon endroit enregistrent les fichiers au bon endroit : les variables utilisent en interne ${URI} (l'adresse du code source) et ${DISTDIR} (le répertoire distfiles). Pour certains protocoles, on définit des commandes dédiées : FETCHCOMMAND_HTTP, , FETCHCOMMAND_FTP, , RESUMECOMMAND_HTTP, , RESUMECOMMAND_FTP et ainsi de suite. et ainsi de suite.
Configuration de rsync
Les dépôts de la distribution Calculate sont synchronisés par le mécanisme propre de la distribution (sync-type: calculate), donc les variables de cette section s'appliquent aux dépôts tiers configurés pour rsync ; la mise à jour habituelle de l'arbre est assurée par cl-update -s. La commande rsync elle-même, dont Portage se sert pour mettre à jour l'arbre, ne peut pas être remplacée, mais son comportement se règle par des variables :
- PORTAGE_RSYNC_OPTS - l'ensemble des options utilisées lors de la synchronisation (séparées par des espaces) ; ne le modifiez que si vous savez exactement ce que vous faites : certaines options sont obligatoires et sont appliquées même quand la valeur est vide ;
- PORTAGE_RSYNC_EXTRA_OPTS - des options de synchronisation supplémentaires, chacune séparée par un espace :
--timeout=est le nombre de secondes d'inactivité au-delà duquel rsync considère la connexion comme perdue (180 par défaut ; 300 ou plus sur une connexion lente),--exclude-from=/etc/portage/rsync_excludesest un fichier avec la liste des paquets et des catégories que rsync ignorera lors de la mise à jour,--quiet- moins de sortie à l'écran,--verbose- la liste complète des fichiers,--progress- un indicateur de progression pour chaque fichier ; - PORTAGE_RSYNC_RETRIES - le nombre de tentatives de connexion au miroir avant d'abandonner.
Les détails sont dans la page de référence :
man rsync
Branches et fonctionnalités
Choix de la branche
La branche de distribution est contrôlée par la variable ACCEPT_KEYWORDS : par défaut il s'agit de la branche stable de votre architecture (sur Calculate - amd64). Davantage d'informations sur les branches figurent sur la page Mélanger des branches. Sur Calculate, le profil système est défini par la distribution, et vous ne devriez pas le changer avec eselect - cela perturbe le fonctionnement de la distribution.
Fonctionnalités de Portage
Les fonctionnalités particulières de Portage s'activent par la variable FEATURES (par exemple l'option getbinpkg, décrite dans la section Configuration de Portage). Un aperçu des fonctionnalités est donné sur la page Fonctionnalités Portage.
Comportement de Portage
Répartition des ressources
La variable PORTAGE_NICENESS permet d'augmenter ou de diminuer la priorité de Portage permet d'augmenter ou de diminuer la priorité de Portage : sa valeur s'
La variable PORTAGE_NICENESS permet d'augmenter ou de diminuer la priorité de Portage permet d'augmenter ou de diminuer la priorité de Portage : sa valeur s'ajoute à la valeur nice actuelle du processus. Les détails sur les valeurs de nice sont dans la page de référence :
man nice
Options de sortie
La variable NOCOLOR détermine s'il faut désactiver la coloration des messages de Portage.