In Gentoo, qual è la differenza tra amd64, ~ amd64 e ~ amd64-linux?


9

Quando corro equery depgraph www-client/chromium-10.0.648.151, non tutte le dipendenze sono disponibili. Alcuni spettacoli M[package.mask], mentre altri spettacoli [missing keyword]. Il mio ACCEPT_KEYWORDSè ~amd64-linux, secondo emerge --info. Ho sperimentato diversi ACCEPT_KEYWORDS(come una variabile ambientale passata a eqeury) e tutti hanno diverse dipendenze mancanti. Tra tutte le possibili combinazioni, solo con ACCEPT_KEYWORDS='amd64 ~amd64 ~amd64-linux'tutte le dipendenze possono essere soddisfatte contemporaneamente.

Ecco le mie domande:

  1. È ACCEPT_KEYWORDS='amd64 ~amd64 ~amd64-linux'una configurazione valida?
  2. Ho imparato dalla documentazione che amd64significa stabile e ~amd64significa instabile. Che dire ~amd64-linux?
  3. Se seleziono ~amd64, equerynon utilizzerei i pacchetti disponibili solo per amd64, con conseguenti dipendenze mancanti. È previsto? In tal caso, i tester instabili dovrebbero usare almeno ACCEPT_KEYWORDS='amd64 ~amd64'invece di ACCEPT_KEYWORDS='~amd64'?
  4. L'ordine delle parole chiave è importante?

Informazioni aggiuntive: ho installato il prefisso Gentoo seguendo questa guida . Per impostazione predefinita, $EPREFIX/etc/make.profileè un collegamento simbolico a $EPREFIX/usr/portage/profiles/prefix/linux/amd64e contiene un make.defaultsche ha ACCEPT_KEYWORDS="-amd64 ~amd64-linux". Né $EPREFIX/etc/make.conf$EPREFIX/etc/make.globalsha ACCEPT_KEYWORDSconfigurato. Secondo eselect profile list, nessun profilo è selezionato.

Risposte:


8

1. ACCEPT_KEYWORDS = 'amd64 ~ amd64 ~ amd64-linux' è una configurazione valida?

Da man make.conf:

ACCEPT_KEYWORDS = [elenco delimitato da spazi di KEYWORDS]

Quindi ACCEPT_KEYWORDS='amd64 ~amd64 ~amd64-linux'è una combinazione valida.

2. Che dire di ~ amd64-linux?

amd64-linuxè una cosa prefisso. Non so molto su Prefisso, ma posso vedere amd64-linuxnell'elenco delle parole chiave valide in /usr/portage/profiles/arch.list, nella sezione denominata "Parole chiave prefisso". ~amd64-linuxè solo la controparte di test di amd64-linux.

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

Se hai ~amd64nel tuo ACCEPT_KEYWORDSportage userai tutti gli ebuild più recenti, che spesso contengono molte cose instabili. Penso che sia per questo che ci si può aspettare dipendenze mancanti. Ad esempio, ciò può accadere se si desidera installare software-ae l'ultimo nel ramo di test è software-a-2.3.4, che richiede library-b-5.6.7, che non ha ancora un ebuild. Riguardo amd64 ~amd64e giustamente ~amd64, sono uguali, davvero, perché se la tua architettura è amd64 ti troverai amd64dentro ACCEPT_KEYWORDS, non importa quale.

4. L'ordine delle parole chiave è importante?

No, perché dipende solo dal fatto che la tua ACCEPT_KEYWORDSvariabile contenga o meno una determinata parola chiave. È come un set (non ordinato).

Avendo usato Gentoo per un po ', non ho ancora il coraggio di mettere il ~amd64mio ACCEPT_KEYWORDS. È così instabile che in realtà non è raccomandato, configurarlo per la prima volta garantisce molte rotture.


grazie per la spiegazione molto chiara. nel mio caso, ho ancora dovuto mettere in ~ amd64 per ottenere l'ultima xtables-addons. ma dal momento che il mio box Gentoo funge da puro firewall, non mi preoccupo molto della stabilità di altri pacchetti :)
pepoluan

2
@pepoluan Se ~amd64è solo per averlo xtables-addons, dovresti inserirlo /etc/portage/package.keywordso /etc/portage/package.accept_keywordsinvece di utilizzare il ramo di test instabile. Per ulteriori informazioni, consultare man portageo porre qui in una domanda diversa.
phunehehe,

Accidenti, hai ragione>. <... Chiedo scusa, sembra che il mio n00bness risplenda: P ... comunque, non sono il poster originale, solo un commentatore ribelle :)
pepoluan

@pepoluan Sono contento di esserti stato di aiuto. A un certo punto tutti sono un noob :)
phunehehe

Grazie per la tua risposta dettagliata. Non capisco perché, ma la parola chiave predefinita è ~amd64-linux( amd64rimossa esplicitamente). Finora funziona bene =)
netvope

3

La variabile di ambiente ACCEPT_KEYWORDS consente di creare pacchetti / versioni stabili "all" non ancora contrassegnati per l'architettura corrente.

Il ~ davanti a un arco significa instabile (non "completamente" testato).

L'approccio spesso migliore è usare /etc/portage/package.keywords ed elencare il pacchetto lì con la parola chiave ~ amd64 se hai davvero bisogno dell'ultima build.

A proposito: firewall amd64, non è così che Wikipedia definisce eccessivo?

  1. Mai sentito parlare di "~ amd64-linux", ma ~ significa "instabile".
  2. No, non è previsto che "~ amd64" escluda "amd64".
  3. No.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.