This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.
Please visit our production wiki at https://wiki.gentoo.org
Arbre alternatif
Un "dépôt ebuild", également appelé "overlay" est une structure arborescente composée de répertoires et de fichiers, utilisée pour enrichir la liste des logiciels disponibles dans le gestionnaire de paquets du système. Ces dépôts sont également utilisés par les développeurs de Gentoo pour prototyper, en attendant la création de nouveaux ebuilds. Un tel dépôt peut contenir des ebuilds pour un ou plusieurs EAPIs.
The main repository on a Gentoo system is known as the Gentoo ebuild repository. It contains ebuilds maintained by official Gentoo developers and members of the community (through the Proxy Maintainers project). System administrators can add additional ebuild repositories to the system using various utilities and methods described below.
Traitement des arbres alternatifs
Un arbre alternative n'est ni plus ni moins qu'un ensemble de fichiers (ebuilds, fichiers de métadonnées principalement). Ils peuvent-être récupérés depuis des dépôts publics (git, CVS, SVN ...) ou-bien téléchargés en tant qu'archives, et décompressés manuellement sur le système. Il est cependant recommandé d'utiliser les dépôts gérés par des tiers confiance, puisqu'installer un nouvel arbre alternatif aura comme incidence que Portage consultera cette nouvelle source avant de décider quel logiciel installer. En cas de compromission du dépot, des packets compromis pourraient alors se retrouver installés sur le système.
The now default approach for handling repositories is through /etc/portage/repos.conf which, like many other Portage related locations, can be a directory as well.
Repository definitions inside /etc/portage/repos.conf/ also inform Portage if and how the repository can be updated. With it, calling emerge --sync will automatically update the repositories as well.
A deprecated, yet still supported method is to use the PORTDIR_OVERLAY variable inside /etc/portage/make.conf. This variable can point to one or more additional locations on the file system where repositories are available. The use of the /etc/portage/repos.conf/ directory is highly preferred.
For more information, see /etc/portage/repos.conf and the Portage/Sync article.
Priorités des arbres alternatifs
Chacun des arbres alternatifs dispose d'une priorité unique. Ceci fait que, dans le cas où une version spécifique serait trouvée dans plusieurs arbres alternatifs, la résolutions est non ambigüe. Les ebuilds des arbres alternatifs à la plus haute priorité sont prioritaires par rapport à ceux trouvés dans des arbres de priorité moindre.
La commande suivante fournit la liste des arbres alternatifs avec leur priorité :
user $
emerge --info --verbose
user $
portageq repos_config /
Sauf si la variable PORTDIR_OVERLAY
a été modifiée de la manière décrite plus bas, l'arbre de Portage par défaut a une priorité de -1000. Ceci signifie que tous les autres arbres alternatifs sont prioritaires par rapport à lui. Il s'agit du comportement par défaut, parce que les arbres alternatifs sont conçus, pour se situer au dessus de l'arbre de Portage.
Logiciels disponibles
Il existe de nombreux outils pour supporter les arbres alternatifs.
Layman
The layman application makes it easier to manage and update multiple additional ebuild repositories. It is a command-line application through which publicly available ebuild repositories can be listed, subscribed to and unsubscribed from, as well as update those repositories.
It supports both the make.conf as well as repos.conf method.
- When using the make.conf method, layman manages a dedicated configuration file which should be sourced in by make.conf
- When using repos.conf, layman manages the /etc/portage/repos.conf/layman.conf file directly
Pour faciliter la gestions d'arbres alternatifs multiples, un outil appelé layman a été développé. Cet outil est informé des arbres alternatifs populaires gérés par des utilisateurs et des développeurs et est capable de les installer et de les synchroniser tout autant que de les ajouter aux emplacements déclarés dans PORTDIR_OVERLAY
.
emaint
See the Sync (Portage project) article and man 1 emaint.
Intégration dans eix
eix-sync is a wrapper starting emerge --sync (which in turn starts emaint sync --auto) followed by eix-update. For further details see the Eix article and man 1 eix.
eselect-repository
eselect repository maintains /etc/portage/repos.conf entries for Portage to access and synchronize. See Eselect/Repository article for details.
Usage
Emerging a duplicate package
When working with ebuild repositories it is possible to encounter a situation where multiple versions of the same package are available from different ebuild repositories. Instruct Portage to install a specific package from a specific ebuild repository with the ::
notation:
root #
emerge --ask category/atom::repository-name
The same notation can be used for different emerge instructions, including uninstalling a package through --depclean
.
Bonnes pratiques
Génération du cache
Lorsque de grands arbres alternatifs sont installés, Portage peut mettre un temps très long pour réaliser des opérations telles que la résolution des dépendances. Ceci est dû au fait, qu'en général, les arbres alternatifs ne possèdent pas de cache des méta-données.
Vous pouvez générer un cache de méta-données local en exécutant la commande emerge --regen
après synchronisation de vos arbres alternatifs.
root #
layman -S
root #
emerge --regen
Soyez vigilants: la commande emerge --regen prend beaucoup de temps, et n'est pas recommandée pour les utilisateurs de rsync; puisque rsync met à jour les caches en utilisant ceux des serveurs (et la plupart des utilisateurs de portage sont utilisateurs de rsync). Si vous utilisez rsync, utilisez simplement emerge --sync (ou eix-sync) pour reconstruire le cache. Normalement, seul les utilisateurs de très gros dépôts alternatifs devraient utiliser emerge --regen.
Masking installed but unsafe ebuild repositories
Lorsque vous utilisez des arbres alternatifs importants ou des arbres dont la qualité est soit faible, soit inconnue, il est recommandé de masquer en dur tout l'arbre alternatif.
'"`UNIQ--pre-00000001-QINU`"'
This is a deprecated template. Help us update this template!
Après cela, il ne vous reste plus qu'à démasquer les paquets que vous voulez installer.
'"`UNIQ--pre-00000004-QINU`"'
This is a deprecated template. Help us update this template!
See also
- Overlays project - The official Gentoo project for ebuild repositories' support.
- Overlays guide (Overlay project) - A user guide written by the Overlay project.
- Developer's guide to Gentoo overlays - This document is kept only for historical purposes. The current guide is maintained as Project:Overlays/Overlays guide.
- Defining a custom repository - Section in the Gentoo Handbook