Des paquets dit “masqués” (masked packages) ne seront pourront pas être installés sur votre système tant que vous n'aurez pas effectué des actions spécifiques.
Un paquet peut être masqué en ajoutant une entrée dans /usr/portage/profiles/package.mask
. Autrefois, c'était la seule façon de cacher un paquet. Si vous souhaitez installer un paquet figurant dans package.mask
, il faudra commenter ce paquet dans le fichier. Noter que package.mask
est écrasé par emerge sync
, vos modifications n'y survivront donc pas. Vous pouvez également masquer des paquets problématiques grâce à ce fichier.
La nouvelle façon de faire pour masquer des paquets est de déclarer des KEYWORDS
dans ebuild
.
Pour chaque architecture (x86, ppc, sparc, sparc64, alpha), un ebuild
peut être marqué -arch
, ce qui veut dire “Ne marche pas”, ~arch
qui signifie instable, ou arch
pour stable. Vous pouvez modifier votre niveau de tolérance face aux ebuilds
instable en définissant ACCEPT_KEYWORDS
dans /etc/make.conf
. Par exemple, ACCEPT_KEYWORDS=”~x86”
va accepter les paquets instables sur une architecture x86. Par défaut, seul les paquets stable sont tolérés.
ACCEPT_KEYWORDS
peut aussi être modifié en ligne de commande. Par exemple :
ACCEPT_KEYWORDS="~x86" emerge -pv unstablepackage
Comme décrit dans la page de manuel de portage
, depuis Portage 2.0.50, vous pouvez créer une entrée dans /etc/portage/package.keyword
pour gérer des autorisations par paquet.
category/package ~arch
Si vous acceptez généralement ~arch
dans votre make.conf
et que vous voulez faire une exception pour un paquet particulier, afin que seul le paquet stable soit considéré, la syntaxe est un peu obscure :
category/package -~arch arch
Vous pouvez également transmettre le chemin complet de l' ebuild
à emerge
, ce qui surpassera tous les masquages. C'est donc un moyen rapide pour installer un paquet masqué. Mais cette méthode n'ajoute pas le paquet dans world
, il n'est donc pas recommandé de l'utiliser sans bonnes raisons. Cela ne va également pas masquer les dépendances, qui signifiera messages d'erreurs . N'utilisez cette méthode que dans le cas où vous voulez faire quelque chose contredisant votre profil système, comme d'installer la version 2.95 de gcc
sur un système récent.
Si vous utilisez Portage >= 2.0.48, il y a une autre option pour installer des paquets masqués qui ne demande pas d'éditer package.mask
. Vous pouvez ajouter l'entrée category/package
dans /etc/portage/packake.unmask
, qui, lui, survivra à un emerge sync
.
Vous pouvez aussi masquer des paquets si vous le souhaitez. Avec une version de Portage antérieure à la 2.0.48, le fichier à éditer est /etc/portage/profiles/package.mask
. Pour les versions plus récentes, le fichier est /etc/portage/package.mask
.
Pour avoir un compte-rendu des versions valide pour un paquet, vous pouvez utiliser la commande etcat
, qui est inclut dans le paquet gentoolkit
:
etcat -v package