W Gentoo jaka jest różnica między amd64, ~ amd64 i ~ amd64-linux?

9

Kiedy uruchamiam equery depgraph www-client/chromium-10.0.648.151, nie wszystkie zależności są dostępne. Niektóre programy M[package.mask], a niektóre inne [missing keyword]. Mój ACCEPT_KEYWORDSjest ~amd64-linux, zgodnie z emerge --info. Eksperymentowałem z różnymi ACCEPT_KEYWORDS(jako zmiennymi środowiskowymi przekazanymi do eqeury) i wszystkie mają różne brakujące zależności. Spośród wszystkich możliwych kombinacji ACCEPT_KEYWORDS='amd64 ~amd64 ~amd64-linux'można spełnić tylko wszystkie zależności jednocześnie.

Oto moje pytania:

  1. Czy ACCEPT_KEYWORDS='amd64 ~amd64 ~amd64-linux'jest poprawna konfiguracja?
  2. Nauczyłem się z dokumentacji, która amd64oznacza stabilną i ~amd64niestabilną. Co ~amd64-linux?
  3. Jeśli wybiorę ~amd64, equerynie użyję pakietów dostępnych tylko dla amd64, co spowoduje brak zależności. Czy jest to oczekiwane? Jeśli tak, to czy niestabilni testerzy powinni używać przynajmniej ACCEPT_KEYWORDS='amd64 ~amd64'zamiast ACCEPT_KEYWORDS='~amd64'?
  4. Czy kolejność słów kluczowych ma znaczenie?

Informacje dodatkowe: Zainstalowałem Prefiks Gentoo zgodnie z tym przewodnikiem . Domyślnie $EPREFIX/etc/make.profilejest dowiązaniem symbolicznym $EPREFIX/usr/portage/profiles/prefix/linux/amd64i zawiera takie, make.defaultsktóre ma ACCEPT_KEYWORDS="-amd64 ~amd64-linux". Ani $EPREFIX/etc/make.confteż nie $EPREFIX/etc/make.globalszostał ACCEPT_KEYWORDSskonfigurowany. Według eselect profile listnie wybrano żadnego profilu.

netvope
źródło

Odpowiedzi:

8

1. Czy ACCEPT_KEYWORDS = 'amd64 ~ amd64 ~ amd64-linux' jest prawidłową konfiguracją?

Od man make.conf:

ACCEPT_KEYWORDS = [lista rozdzielonych spacjami słów kluczowych KEYWORDS]

Tak więc ACCEPT_KEYWORDS='amd64 ~amd64 ~amd64-linux'jest to poprawna kombinacja.

2. Co z ~ amd64-linux?

amd64-linuxjest rzeczą z prefiksem. Nie wiem wiele o prefiksie, ale widzę amd64-linuxna liście prawidłowych słów kluczowych w /usr/portage/profiles/arch.list, w sekcji o nazwie „Prefiksy słów kluczowych”. ~amd64-linuxjest tylko testowym odpowiednikiem amd64-linux.

3. ACCEPT_KEYWORDS='amd64 ~amd64'vs po prostu~amd64

Jeśli masz ~amd64w twojej ACCEPT_KEYWORDS, Portage będzie wykorzystać wszystkie najnowsze wersje, które często zawiera wiele niestabilnych rzeczy. Myślę, że właśnie dlatego należy oczekiwać brakujących zależności. Na przykład może się tak zdarzyć, jeśli chcesz zainstalować software-a, a najnowsza w gałęzi testowania jest software-a-2.3.4wymagana library-b-5.6.7, która nie ma jeszcze ebuilda. Jeśli chodzi amd64 ~amd64i po prostu ~amd64, są one takie same, naprawdę, bo jeśli architektura jest amd64 trzeba będzie amd64w ACCEPT_KEYWORDS, nie wiem co.

4. Czy kolejność słów kluczowych ma znaczenie?

Nie, ponieważ to tylko kwestia, czy ACCEPT_KEYWORDSzmienna zawiera określone słowo kluczowe, czy nie. To jest jak zestaw (nieuporządkowany).

Po wykorzystaniu Gentoo na chwilę, ja nadal nie mam odważył się umieścić ~amd64w moim ACCEPT_KEYWORDS. Jest tak niestabilny, że tak naprawdę nie jest zalecany, ustawienie go po raz pierwszy gwarantuje wiele awarii.

phunehehe
źródło
dzięki za bardzo jasne wytłumaczenie. w moim przypadku wciąż musiałem wprowadzić ~ amd64, aby uzyskać najnowszą wersję xtables-addons. ale ponieważ moje pudełko Gentoo służy jako czysta zapora ogniowa, tak naprawdę nie martwię się o stabilność innych pakietów :)
pepoluan
2
@pepoluan Jeśli ~amd64jest po prostu mieć xtables-addonsto należy umieścić go w /etc/portage/package.keywordslub /etc/portage/package.accept_keywordszamiast korzystania z niestabilną testing. Aby uzyskać więcej informacji, patrz man portagelub zadaj tutaj w innym pytaniu.
phunehehe
Racja, masz rację>. <... Przepraszam, wygląda na to, że moja n00bness świeci przez: P ... w każdym razie, nie jestem oryginalnym plakatem, tylko krnąbrnym komentatorem :)
pepoluan
@pepoluan Cieszę się, że byłam pomocna. W pewnym momencie wszyscy są
noobami
Dziękuję za szczegółową odpowiedź. Nie rozumiem dlaczego, ale domyślnym słowem kluczowym jest ~amd64-linux(z amd64jawnie usuniętym). Do tej pory działa dobrze =)
netvope
3

Zmienna środowiskowa ACCEPT_KEYWORDS umożliwia tworzenie „wszystkich” jeszcze nieoznaczonych stabilnych pakietów / wersji dla bieżącej architektury.

~ Przed łukiem oznacza niestabilność (nie „całkowicie” przetestowano).

Często lepszym rozwiązaniem jest użycie /etc/portage/package.ke words i wyświetlenie pakietu ze słowem kluczowym ~ amd64, jeśli naprawdę potrzebujesz najnowszej wersji.

Nawiasem mówiąc: zapora amd64, czy nie tak wikipedia definiuje przesadę?

  1. tak
  2. Nigdy nie słyszałem o „~ amd64-linux”, ale ~ oznacza „niestabilny”.
  3. Nie, nie oczekuje się, że „~ amd64” wyklucza „amd64”.
  4. Nie.
MattBianco
źródło