Files and directories

Updated 4 Juillet 2019

Fichiers Portage

Directives de configuration

Par défaut, les paramètres de Portage sont stockés dans /etc/portage/make.conf/custom. Si vous ouvrez ce fichier, vous verrez qu'ils sont tous des variables. Chaque variable sera expliquée par la suite.

Comme de nombreuses directives sont propres à une architecture donnée, Portage est livré avec des paramètres par défaut inclus dans votre profil. Le lien symbolique /etc/portage/make.profile pointe vers votre profil. Il est possible de configurer Portage via les fichiers make.defaults de votre profil et de ceux de n'importe lequel des profils parents. Nous reviendrons plus tard sur les profils et le fichier /etc/portage/make.profile.

Vous y trouverez également le fichier /etc/portage/make.conf/binhost, où cl-update stocke les paramètres du dépôt de paquets binaires, ainsi que /etc/portage/make.conf/0-base, où les descriptions des overlays activés avec layman sont importées.

Les variables Portage peuvent également être utilisées comme variables d'environnement, ce que nous déconseillons.

Configurations spécifiques au profil

Vous souvenez-vous du répertoire /etc/portage/make.profile ? En fait, il ne s'agit pas d'un répertoire, mais d'un lien symbolique vers un profil, par défaut celui contenu dans /var/lib/layman/calculate/profiles. Cependant, vous pouvez créer vos propres profils n'importe où, à condition de fournir les liens vers ceux-ci. Le profil vers lequel pointe le lien est votre profil système.

Un profil contient des informations spécifiques à l'architecture de Portage, telles que la liste des paquets présents dans le système, la liste des paquets endommagés (ou masqués), etc.

Configurations spécifiques à l'utilisateur

Si vous souhaitez modifier le comportement de Portage en ce qui concerne l'installation de logiciels, vous devrez éditer des fichiers contenus dans /etc/portage. Nous recommandons vivement de modifier les fichiers de /etc/portage pour reconfigurer Portage. N'essayez pas de le faire par le biais de variables d'environnement.

Les sous-répertoires disponibles dans /etc/portage sont les suivants :

  • +package.mask stocke des fichiers listant les paquets que Portage ne doit jamais installer ;
  • +package.unmask stocke les fichiers listant les paquets que vous souhaitez pouvoir installer, même si les développeurs de Gentoo ne le recommandent pas ;
  • +package.keywords, qui stocke les fichiers répertoriant les paquets disponibles pour l'installation, même s'ils ne sont pas (encore) recommandés pour votre système ou votre architecture ;
  • +package.use, qui stocke les fichiers répertoriant les valeurs USE spécifiques au paquet, remplaçant les valeurs globales.

Pour plus d'informations sur le répertoire /etc/portage, ainsi que sur les fichiers que vous pouvez y créer, consultez la page man de Portage. man portage.

Modifier des fichiers Portage et des emplacements

Les fichiers de configuration mentionnés ci-dessus ne peuvent être placés nulle part ailleurs, car Portage recherche toujours ses fichiers de configuration à l'emplacement dédié. Cependant, Portage utilise également un certain nombre d'autres répertoires à des fins diverses : compilation, enregistrement du code source ou de l'arbre Portage, etc.

Il existe des répertoires par défaut qui peuvent être modifiés à votre convenance en éditant /etc/make.conf. Le reste du présent chapitre traite des emplacements dédiés que Portage utilise à ses fins et du comment les modifier.

Attention, ce manuel ne reprend pas la documentation officielle. Si vous avez besoin d'informations détaillées, référez-vous aux pages man de Portage et de make.conf (respectivement man portage et man make.conf).

Stockage de fichiers

Arbre Portage

Par défaut, la structure, ou arborescence de Portage est sauvegardée dans le répertoire /usr/portage. C'est la valeur PORTDIR qui le définit. Si vous stockez l'arbre de Portage ailleurs (avec modification de cette variable), pensez à modifier le lien symbolique /etc/portage/make.profile en conséquence.

Si vous modifiez PORTDIR, vous devrez peut-être modifier aussi les variables PKGDIR, DISTDIR et RPMDIR, car celles-ci ne tiennent pas compte des modifications apportées à PORTDIR+. C'est lié à la façon dont Portage les traite.

Paquets binaires

Bien que Portage n'utilise pas de paquets précompilés par défaut, ils sont bien supportés. Si vous demandez à Portage de travailler avec des paquets précompilés, il les cherchera dans /var/calculate/remote/packages. Cet emplacement est défini par la variable PKGDIR.

Code source

Par défaut, tout code source est sauvegardé dans /var/calculate/remote/distfiles. Cet emplacement est défini par la variable DISTDIR.

Fichiers RPM

Bien que Portage ne puisse pas utiliser les fichiers RPM, il peut toujours les créer par le biais de la commande ebuild (voir Utiliser ebuild). Par défaut, Portage sauvegarde les fichiers RPM dans le répertoire /usr/portage/rpm, tel que défini par RPMDIR.

Base de données Portage

Portage conserve l'empreinte de l'état de votre système (paquets installés, fichiers relatifs à des paquets spécifiques, etc.) dans /var/db/pkg. Ne modifiez pas ces fichiers à la main ! Cela pourrait complètement perturber le fonctionnement de Portage.

Cache de Portage

Le cache de Portage (y compris l'heure de la dernière modification, les paquets virtuels, les données relatives aux dépendances, etc.) est conservé dans /var/cache/edb. Cet emplacement est en fait un cache : vous pouvez l'effacer à tout moment lorsque les utilitaires liés à Portage ne sont pas en cours d'exécution.

Compilation de logiciels

Fichiers temporaires créés par Portage

Par défaut, Portage stocke les fichiers temporaires dans /var/tmp. Ce comportement est défini par la variable PORTAGE_TMPDIR.

Si vous modifiez la valeur de PORTAGE_TMPDIR, vous devrez peut-être modifier BUILD_PREFIX également, car cette dernière ne tient pas compte des modifications de PORTAGE_TMPDIR. Cela s'explique par le comment Portage traite ses données.

Répertoire dédié à la compilation

Portage crée des répertoires de compilation par paquet dans /var/tmp/portage. C'est défini par la valeur de la variable BUILD_PREFIX.

Emplacement du système de fichiers live

Par défaut, Portage installe tous les fichiers dans le système de fichiers actuel (/), mais cela peut être changé en modifiant la valeur de la variable d'environnement ROOT. Cela peut être utile pour créer une image ISO personnalisée.

S'identifier

Journal ebuild

Portage peut créer des fichiers journaux par ebuild, mais uniquement si PORT_LOGDIR fournit un emplacement où Portage (i.e. utilisateur 'portage') est autorisé à écrire. Cette variable n'est pas définie par défaut.