Was ist in Gentoo der Unterschied zwischen amd64, ~ amd64 und ~ amd64-linux?

9

Beim Ausführen equery depgraph www-client/chromium-10.0.648.151sind nicht alle Abhängigkeiten verfügbar. Einige Shows M[package.mask], während andere Shows [missing keyword]. Mein ACCEPT_KEYWORDSist ~amd64-linuxlaut emerge --info. Ich habe mit verschiedenen experimentiert ACCEPT_KEYWORDS(als Umgebungsvariable, an die übergeben wurde eqeury) und alle haben unterschiedliche fehlende Abhängigkeiten. Unter allen möglichen Kombinationen kann nur mit ACCEPT_KEYWORDS='amd64 ~amd64 ~amd64-linux'allen Abhängigkeiten gleichzeitig erfüllt werden.

Hier sind meine Fragen:

  1. Ist ACCEPT_KEYWORDS='amd64 ~amd64 ~amd64-linux'eine gültige Konfiguration?
  2. Ich habe aus der Dokumentation gelernt, dass amd64stabil und ~amd64instabil bedeutet. Was ist mit ~amd64-linux?
  3. Wenn ich auswähle ~amd64, equerywerden die verfügbaren Pakete nicht nur für verwendet amd64, was zu fehlenden Abhängigkeiten führt. Wird das erwartet? Wenn ja, sollten instabile Tester zumindest ACCEPT_KEYWORDS='amd64 ~amd64'anstelle von verwenden ACCEPT_KEYWORDS='~amd64'?
  4. Ist die Reihenfolge der Schlüsselwörter wichtig?

Zusätzliche Informationen: Ich habe Gentoo Prefix gemäß dieser Anleitung installiert . Standardmäßig $EPREFIX/etc/make.profileist ein Symlink zu $EPREFIX/usr/portage/profiles/prefix/linux/amd64und enthält ein make.defaults, das hat ACCEPT_KEYWORDS="-amd64 ~amd64-linux". Weder $EPREFIX/etc/make.confnoch $EPREFIX/etc/make.globalsist ACCEPT_KEYWORDSkonfiguriert. Entsprechend eselect profile listist kein Profil ausgewählt.

netvope
quelle

Antworten:

8

1. Ist ACCEPT_KEYWORDS = 'amd64 ~ amd64 ~ amd64-linux' eine gültige Konfiguration?

Von man make.conf:

ACCEPT_KEYWORDS = [durch Leerzeichen getrennte Liste von KEYWORDS]

Ist ACCEPT_KEYWORDS='amd64 ~amd64 ~amd64-linux'also eine gültige Kombination.

2. Was ist mit ~ amd64-linux?

amd64-linuxist eine Präfixsache. Ich weiß nicht viel über Präfix, aber ich kann amd64-linuxin der Liste der gültigen Schlüsselwörter unter /usr/portage/profiles/arch.listim Abschnitt "Präfix-Schlüsselwörter" sehen. ~amd64-linuxist nur das Testgegenstück von amd64-linux.

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

Wenn Sie ~amd64in Ihrem haben ACCEPT_KEYWORDS, verwendet Portage die neuesten Ebuilds, die oft eine Menge instabiler Dinge enthalten. Ich denke, deshalb sind fehlende Abhängigkeiten zu erwarten. Dies kann beispielsweise passieren, wenn Sie installieren möchten software-a, und das neueste im Testzweig ist software-a-2.3.4, was erfordert library-b-5.6.7, dass noch kein Ebuild vorhanden ist. In Bezug auf amd64 ~amd64und nur ~amd64, sie sind die gleichen, wirklich, denn wenn Ihre Architektur ist amd64 Sie haben amd64in ACCEPT_KEYWORDS, nein , was Materie.

4. Ist die Reihenfolge der Schlüsselwörter wichtig?

Nein, denn es geht nur darum, ob Ihre ACCEPT_KEYWORDSVariable ein bestimmtes Schlüsselwort enthält oder nicht. Es ist wie ein Set (ungeordnet).

Nachdem ich Gentoo eine Weile benutzt habe, traue ich mich immer noch nicht, ~amd64meine einzubauen ACCEPT_KEYWORDS. Es ist so instabil, dass es wirklich nicht empfohlen wird. Das erstmalige Einrichten garantiert viel Bruch.

Phunehehe
quelle
danke für die sehr klare erklärung. in meinem Fall, habe ich noch hatte in ~ amd64 setzen die neuesten zu bekommen xtables-addons. aber da meine Gentoo-Box als reine Firewall dient, bin ich nicht wirklich besorgt über die Stabilität anderer Pakete :)
pepoluan
2
@pepoluan Wenn ~amd64nur zu haben xtables-addonsist, sollten Sie es in /etc/portage/package.keywordsoder /etc/portage/package.accept_keywordsanstelle des instabilen Testzweigs setzen . Weitere Informationen man portagefinden Sie unter oder stellen Sie hier eine andere Frage.
Phunehehe
Meine Güte, du hast Recht>. <... Ich entschuldige mich, es scheint, dass meine N00Bness durchscheint: P ... sowieso bin ich nicht das Originalplakat, nur ein eigensinniger Kommentator :)
Pepoluan
@pololuan Ich bin froh, dass ich geholfen habe. Jeder ist irgendwann ein Noob :)
Phunehehe
Vielen Dank für Ihre ausführliche Antwort. Ich verstehe nicht warum, aber das Standardschlüsselwort ist ~amd64-linux(mit amd64explizit entfernt). Bisher läuft es gut =)
netvope
3

Mit der Umgebungsvariablen ACCEPT_KEYWORDS können "alle" noch nicht markierten stabilen Pakete / Versionen für die aktuelle Architektur erstellt werden.

Das ~ vor einem Bogen bedeutet instabil (nicht "vollständig" getestet).

Der oft bessere Ansatz besteht darin, /etc/portage/package.keywords zu verwenden und das Paket dort mit dem Schlüsselwort ~ amd64 aufzulisten, wenn Sie wirklich den neuesten Build benötigen.

Übrigens: amd64 Firewall, definiert Wikipedia Overkill nicht so?

  1. Ja
  2. Ich habe noch nie von "~ amd64-linux" gehört, aber das ~ bedeutet "instabil".
  3. Nein, es wird nicht erwartet, dass "~ amd64" "amd64" ausschließt.
  4. Nein.
MattBianco
quelle