3.5 Fichiers et répertoires

Les fichiers utilisés par Portage

Configurer Portage

La configuration par défaut de Portage se trouve dans le fichier /etc/make.globals. Vous remarquerez que toute la configuration de Portage se fait grâce à des variables. Les variables et leur utilisation sont décrites ci-dessous.

Puisque certaines directives de configuration diffèrent d'une architecture à l'autre, Portage utilise aussi plusieurs fichiers de configuration qui font partie de votre profil. Le profil sélectionné est celui vers lequel le lien symbolique /etc/portage/make.profile pointe. La configuration de Portage réside dans les différents fichiers make.defaults situés dans l'arborescence qui mène au répertoire de votre profil. Nous aborderons les profils et le répertoire /etc/portage/make.profile plus loin dans ce document.

Pour modifier une variable de configuration, ne modifiez ni le fichier /etc/make.globals, ni les fichiers make.defaults. Modifiez plutôt /etc/portage/make.conf qui a priorité sur les autres fichiers. Vous trouverez aussi un fichier /usr/share/portage/config/make.conf.example, un fichier exemple que Portage ne lit pas mais que vous pouvez utiliser pour configurer votre propre /etc/portage/make.conf.

Vous pouvez aussi définir ces variables dans votre environnement, mais nous ne recommandons pas cette pratique.

Informations spécifiques au profil

Nous avons déjà mentionné le répertoire /etc/portage/make.profile. Ce n'est pas vraiment un répertoire, mais un lien symbolique vers un profil qui se trouve, par défaut, dans /usr/portage/profiles ; vous pouvez également créer des profils ailleurs. Ce lien symbolique définit le profil utilisé par votre système.

Un profil contient des informations spécifiques pour chaque architecture telles que la liste des paquets qui forment un système de base, une liste de paquets qui ne fonctionnent pas ou qui sont masqués pour ce profil, etc.

Configuration par l'utilisateur

Pour influencer le comportement de Portage, vous devrez modifier des fichiers dans le répertoire /etc/portage. Il est vivement recommandé d'utiliser ces fichiers et de ne pas utiliser de variables d'environnement.

Vous pouvez créer les fichiers suivants dans le répertoire /etc/portage :

  • package.mask qui contient la liste des paquets que vous voulez ne jamais installer ;
  • package.unmask qui contient la liste des paquets que vous voulez installer bien qu'ils aient été masqués par les développeurs Gentoo ;
  • package.keywords qui contient la liste des paquets que vous voulez installer même s'ils ne sont pas (encore) considérés stables pour votre architecture ou votre système ;
  • package.use qui contient la liste des options de la variable USE que vous voulez appliquer à certains paquets, mais que vous ne voulez pas utiliser pour tout votre système.

La page man contient plus d'informations à propos de ce que l'on peut faire avec le répertoire /etc/portage et une liste exhaustive des fichiers qui influencent le comportement de Portage ; voir man portage.

Déplacer les fichiers et les répertoires de Portage

Les fichiers de configuration mentionnés ci-dessus ne peuvent pas se trouver ailleurs. Portage les recherche toujours à ces endroits précis. Cependant, Portage peut être configuré pour utiliser d'autres répertoires pour certains fichiers : le répertoire temporaire d'installation, les sources, l'arbre Portage, etc.

Par défaut, tous ces fichiers sont stockés dans des répertoires bien connus, mais ils peuvent être stockés ailleurs en fonction de variables définies dans le fichier /etc/portage/make.conf. Ce qui suit est consacré aux différents répertoires utilisés par Portage et à la methode à utiliser pour les déplacer.

Ce document n'est pas une liste exhaustive de tous les répertoires disponibles. Cette liste est disponible dans les pages man de Portage et de make.conf (man portage et man make.conf, respectivement).

Emplacemements des fichiers

L'arbre Portage

Le répertoire par défaut pour l'arbre Portage est /usr/portage. La variable PORTDIR peut être utilisée pour définir un autre emplacement. N'oubliez pas de rediriger le lien symbolique /etc/portage/make.profile vers le répertoire ad hoc.

Si vous redéfinissez la variable PORTDIR, vous devriez sans doute redéfinir les variables PKGDIR, DISTDIR et RPMDIR car elles ne prendront pas la valeur de PORTDIR en compte.

Binaires précompilés

Portage peut également utiliser des paquets précompilés lors des installations, bien que cette fonctionnalité soit désactivée par défaut. Les paquets précompilés sont placés dans le répertoire défini par la variable PKGDIR, qui est définie comme /usr/portage/packages par défaut.

Code source

Le code source des applications est conservé dans /usr/portage/distfiles. Cet emplacement est défini par la variable DISTDIR.

Fichiers RPM

Bien que Portage n'utilise pas les fichiers RPM, il est possible de les créer avec la commande ebuild (voir « Utiliser ebuild »). Par défaut, Portage stocke les RPM dans le répertoire /usr/portage/rpm, comme défini par la variable RPMDIR.

La base de données de Portage

Portage mémorise l'état de votre système (quels sont les paquets installés, quels fichiers appartiennent à quel paquet, ... ) dans le répertoire /var/db/pkg. Ne modifiez pas ces fichiers à la main ! Cela pourrait pourrait faire perdre à Portage l'exacte vision de votre système.

Le cache de Portage

Le cache de Portage (qui contient les dates de modification, les virtuels, les modifications de l'arbre de dépendances, ...) est stocké dans /var/cache/edb. Cet emplacement est réellement un cache, vous pouvez le vider si vous n'êtes pas en train d'exécuter une application en relation avec Portage.

Compiler les paquets

Fichiers temporaires

Portage sauvegarde ses fichiers temporaires dans /var/tmp par défaut. La variable PORTAGE_TMPDIR définit cet emplacement.

Si vous redéfinissez la variable PORTAGE_TMPDIR, vous devriez aussi redéfinir BUILD_PREFIX, car elle ne tient pas compte du changement automatiquement.

Répertoire de compilation

Portage crée un répertoire de compilation pour chaque paquet dans le répertoire /var/tmp/portage. Cet emplacement est défini par la variable BUILD_PREFIX.

Localisation du système de fichiers principal

Par défaut, Portage installe tous les fichiers sur le système de fichiers courant (/), mais il peut copier les fichiers ailleurs si vous redéfinissez la variable ROOT. Cela peut être utile si vous voulez construire des nouvelles images d'installation pour d'autres systèmes.

Fonctions de journalisation des événements

Les messages des ebuilds

Portage peut journaliser les messages des événements relatifs aux ebuilds en utilisant un fichier pour chaque ebuild, mais uniquement si la variable PORT_LOGDIR correspond à un répertoire dans lequel Portage peut écrire (l'utilisateur portage doit disposer des permissions nécessaires). Par défaut, cette variable n'est pas définie.

Thank you!