3.5 Fichiers et répertoires¶
- 3.5 Fichiers et répertoires
- Les fichiers utilisés par Portage
- Configurer Portage
- Informations spécifiques au profil
- Configuration par l'utilisateur
- Déplacer les fichiers et les répertoires de Portage
- Emplacemements des fichiers
- L'arbre Portage
- Binaires précompilés
- Code source
- Fichiers RPM
- La base de données de Portage
- Le cache de Portage
- Compiler les paquets
- Fichiers temporaires
- Répertoire de compilation
- Localisation du système de fichiers principal
- Fonctions de journalisation des événements
- Les messages des ebuilds
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.