Vous n'êtes pas identifié.
Topic [HowTo] dépassé, vérifié le 11.08.06 par fbianco
Que sont les masked packages ?
Des packages dit masqués (masked packages) ne seront pas installable 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 package. Si vous souhaitez installer un package figurant dans package.mask, il faudra commenter ce package dans le fichier. Noter que package.mask est écrasé par emerge sync, vos modifications n'y survivront donc pas...
Vous pouvez également masquer des packages problèmatiques grâce à ce fichier.
La nouvelle façon de faire pour masquer des packages 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 packages instable sur une architecture x86. Par défaut, seul les packages stable sont tolérés. ACCEPT_KEYWORDS peut aussi être modifier à la ligne de commande. 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 authorisations par package. Exemple:
category/package ~arch
Si vous accepter généralement ~arch dans votre make.conf, et que vous voulez faire une exception pour un package particulier, afin que seul le package stable soit considéré, la syntaxe est un peu obscure :
category/package -~arch arch
Vous pouvez également transmettre le chemin complet de l'ebuilb à emerge, ce qui surpassera tous les maskages. C'est donc un moyen rapide pour installer un package masqué. Mais cette méthode n'ajoute pas le package dans world, il n'est donc pas recommendé de l'utiliser sans bonnes raisons. Cela ne va également pas masquer les dependances, qui signifira messages d'erreurs. N'utilisez cette méthode que dans le cas où vous voulez faire quelquechose contredisant votre profile système, comme d'installer gcc 2.95 sur un système récent.
Si vous utilisez Portage >= 2.0.48, il y a une autre option pour installer des packages masqués qui ne demmande pas d'éditer package.mask. Vous pouvez ajouter l'entrée category/package dans /etc/portage/packake.unmask, qui, lui, suvivera à un emerge sync.
Vous pouvez aussi masquer des package si vous le souhaitez. Avec une version de Portage antétrieur à 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 package, vous pouvez utiliser la commande etcat, qui est inclue dans le package gentoolkit :
etcat -v package
------
Traduit de forums.gentoo.org, posté par rac
Hors ligne
Merci pour cette traduction.
Dans quelle circonstances cela pourrait être utile de masquer certains packages ? En fait j'ai de la peine à comprendre pourquoi :-k
Salut,
Il y a plusieurs raison pour masquer un package. La principale est vouloir dinstinguer les paquet stables des instables. En fait, les package ~arch corresponderait à sarge (ou sid) pour debian et les arch serait pour woody.
Une autre raison est de vouloir attendre (tester) avant le passage à une nouvelle version d'un package spécifique, mais de vouloir mettre à jour le reste des packages de world. Alors là, il suffit de masquer le package en question et de faire un emerge -uD(p)v world (tutoriel à venir sur la mise à jour d'une gentoo).
De cette manière tu peux tester le package sur un machine de validation, et une fois que tout est pret (validé) tu démasque le package sur la machine de prod et tu migre.
C'est vrai que c'est une utilité qu'on a pas vraiment à la maison. C'est beaucoup plus important sur des serveurs de production...
Si tu a encore des questions, hésite pas
A+
Hors ligne
Merci pour ta réponse détaillée, j'ai regardé un peu autour de ma Debian et j'ai appris qu'on pouvait faire un peu la même chose avec des packets .deb aussi.
Je me coucherai un peu + debianizé ce soir
Je sais que le thread date un peu, mais comme c'est un wiki, je mets mon grain
Maintenant (à la veille de la release de la 2005.1) il y a des fichiers qui ont été ajoutés pour mieux gérer ces masquages et autres keywords :
/ect/portage/ | package.keywords | package.mask | package.unmask | package.use
package.keywords permet de définir les paquets à masquer / démasquer selon les keywords
package.mask est un (très) bon remplacement à l'alternative cité ci-dessus qui proposait d'aller farfouiller dans /usr/portage/profiles/package.mask
package.unmaks permet de définir les paquets à masquer / démasquer en dur
package.keywords permet de définir les paquets les options qu'on souhaite utiliser avec un packages
Hors ligne