Dans Gentoo, quelle est la différence entre amd64, ~ amd64 et ~ amd64-linux?


9

Lorsque je cours equery depgraph www-client/chromium-10.0.648.151, toutes les dépendances ne sont pas disponibles. Certains spectacles M[package.mask], tandis que d'autres spectacles [missing keyword]. Mon ACCEPT_KEYWORDSest ~amd64-linux, selon emerge --info. J'ai expérimenté différentes ACCEPT_KEYWORDS(en tant que variable environnementale transmise à eqeury) et toutes ont des dépendances manquantes différentes. Parmi toutes les combinaisons possibles, seule ACCEPT_KEYWORDS='amd64 ~amd64 ~amd64-linux'toutes les dépendances peuvent être satisfaites à la fois.

Voici mes questions:

  1. La ACCEPT_KEYWORDS='amd64 ~amd64 ~amd64-linux'configuration est -elle valide?
  2. J'ai appris de la documentation qui amd64signifie stable et ~amd64signifie instable. Et alors ~amd64-linux?
  3. Si je sélectionne ~amd64, equeryn'utiliserait pas les packages disponibles uniquement pour amd64, entraînant des dépendances manquantes. Est-ce attendu? Si oui, les testeurs instables devraient-ils utiliser au moins à la ACCEPT_KEYWORDS='amd64 ~amd64'place de ACCEPT_KEYWORDS='~amd64'?
  4. L'ordre des mots-clés est-il important?

Informations supplémentaires: J'ai installé Gentoo Prefix en suivant ce guide . Par défaut, $EPREFIX/etc/make.profileest un lien symbolique vers $EPREFIX/usr/portage/profiles/prefix/linux/amd64et contient un make.defaultsqui a ACCEPT_KEYWORDS="-amd64 ~amd64-linux". Ni $EPREFIX/etc/make.confni $EPREFIX/etc/make.globalsn'a ACCEPT_KEYWORDSconfiguré. Selon eselect profile list, aucun profil n'est sélectionné.

Réponses:


8

1. ACCEPT_KEYWORDS = 'amd64 ~ amd64 ~ amd64-linux' est-il une configuration valide?

De l'homme make.conf:

ACCEPT_KEYWORDS = [liste de KEYWORDS délimitée par des espaces]

Il en ACCEPT_KEYWORDS='amd64 ~amd64 ~amd64-linux'va de même pour une combinaison valide.

2. Qu'en est-il de ~ amd64-linux?

amd64-linuxest une chose Prefix. Je ne connais pas grand-chose sur Prefix, mais je peux voir amd64-linuxdans la liste des mots-clés valides à /usr/portage/profiles/arch.list, dans la section intitulée "Mots-clés Prefix". ~amd64-linuxest juste la contrepartie des tests amd64-linux.

3. ACCEPT_KEYWORDS='amd64 ~amd64'vs juste~amd64

Si vous ~amd64en avez ACCEPT_KEYWORDS, portage utilisera tous les derniers ebuilds, qui contiennent souvent beaucoup de choses instables. Je pense que c'est pourquoi il faut s'attendre à des dépendances manquantes. Par exemple, cela peut se produire si vous souhaitez installer software-a, et la dernière dans la branche testing est software-a-2.3.4, ce qui nécessite library-b-5.6.7, qui n'a pas encore de ebuild. En ce qui concerne amd64 ~amd64et juste ~amd64, ils sont les mêmes, vraiment, parce que si votre architecture est amd64 , vous aurez amd64à ACCEPT_KEYWORDS, peu importe quoi.

4. L'ordre des mots-clés est-il important?

Non, car il s'agit simplement de savoir si votre ACCEPT_KEYWORDSvariable contient ou non un certain mot clé. C'est comme un ensemble (non ordonné).

Ayant utilisé Gentoo pendant un certain temps, je n'ai toujours pas osé mettre ~amd64mon ACCEPT_KEYWORDS. Il est tellement instable qu'il n'est vraiment pas recommandé, le configurer pour la première fois garantit beaucoup de casse.


merci pour l'explication très claire. dans mon cas, je encore eu à mettre en ~ amd64 pour obtenir la dernière xtables-addons. mais comme ma boîte Gentoo sert de pare-feu pur, je ne suis pas vraiment préoccupé par la stabilité des autres packages :)
pepoluan

2
@pepoluan If ~amd64est juste pour l'avoir xtables-addonsalors vous devriez le mettre dans /etc/portage/package.keywordsou /etc/portage/package.accept_keywordsau lieu d'utiliser la branche de test instable. Pour plus d'informations, reportez-vous à man portageou posez ici une autre question.
phunehehe

ça alors, tu as raison>. <... Je m'excuse, il semble que mon n00bness transparaît: P ... de toute façon, je ne suis pas l'affiche originale, juste un commentateur capricieux :)
pepoluan

@pepoluan Heureux d'avoir été utile. Tout le monde est un noob à un moment donné :)
phunehehe

Merci pour votre réponse détaillée. Je ne comprends pas pourquoi mais le mot clé par défaut est ~amd64-linux(avec amd64explicitement supprimé). Jusqu'à présent ça fonctionne bien =)
netvope

3

La variable d'environnement ACCEPT_KEYWORDS permet d'autoriser la construction de "tous" les packages / versions stables non encore marqués pour l'architecture actuelle.

Le ~ devant une arche signifie instable (pas "complètement" testé).

L'approche souvent meilleure consiste à utiliser /etc/portage/package.keywords et à y lister le paquet avec le mot-clé ~ amd64 si vous avez vraiment besoin de la dernière version.

Soit dit en passant: pare-feu amd64, n'est-ce pas ainsi que wikipedia définit la surpuissance?

  1. Oui
  2. Jamais entendu parler de "~ amd64-linux", mais le ~ signifie "instable".
  3. Non, il n'est pas prévu que "~ amd64" exclue "amd64".
  4. Non.
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.