У Gentoo, яка різниця між amd64, ~ amd64 та ~ amd64-linux?


9

Коли я бігаю equery depgraph www-client/chromium-10.0.648.151, не всі залежності доступні. Деякі шоу M[package.mask], а інші шоу [missing keyword]. Моє ACCEPT_KEYWORDSце ~amd64-linux, на думку emerge --info. Я експериментував з різними ACCEPT_KEYWORDS(як екологічна змінна перейшла до eqeury), і всі мають різні відсутні залежності. Серед усіх можливих комбінацій одразу ACCEPT_KEYWORDS='amd64 ~amd64 ~amd64-linux'можна задовольнити лише всі залежності.

Ось мої запитання:

  1. Чи ACCEPT_KEYWORDS='amd64 ~amd64 ~amd64-linux'дійсна конфігурація?
  2. Я дізнався з документації, що amd64означає стабільність і ~amd64означає нестабільність. Про що ~amd64-linux?
  3. Якщо я виберу ~amd64, equeryне використовував би доступні лише пакети amd64, що призводить до відсутніх залежностей. Це очікується? Якщо так, то чи повинні нестабільні тестери використовувати принаймні ACCEPT_KEYWORDS='amd64 ~amd64'замість ACCEPT_KEYWORDS='~amd64'?
  4. Чи має значення порядок ключових слів?

Додаткова інформація: Я встановив префікс Gentoo, дотримуючись цього керівництва . За замовчуванням $EPREFIX/etc/make.profileє символьним посиланням на $EPREFIX/usr/portage/profiles/prefix/linux/amd64і містить make.defaultsте, що має ACCEPT_KEYWORDS="-amd64 ~amd64-linux". Ні , $EPREFIX/etc/make.confні $EPREFIX/etc/make.globalsНЕ ACCEPT_KEYWORDSналаштований. Відповідно eselect profile list, не вибрано жодного профілю.

Відповіді:


8

1. Чи ACCEPT_KEYWORDS = 'amd64 ~ amd64 ~ amd64-linux' є коректною конфігурацією?

Від man make.conf:

ACCEPT_KEYWORDS = [список розділених пробілом KEYWORDS]

Отже ACCEPT_KEYWORDS='amd64 ~amd64 ~amd64-linux', це дійсна комбінація.

2. Що про ~ amd64-linux?

amd64-linux- це приставка. Я не знаю багато про префікс, але я бачу amd64-linuxв списку дійсних ключових слів на /usr/portage/profiles/arch.list, у розділі "Ключові слова префікса". ~amd64-linuxє лише аналогом тестування amd64-linux.

3. ACCEPT_KEYWORDS='amd64 ~amd64'проти просто~amd64

Якщо у вас є ~amd64у вашому ACCEPT_KEYWORDS, волок буде використовувати всі новітні складальні, які часто містять багато нестійкого матеріалу. Я думаю, саме тому слід очікувати відсутніх залежностей. Наприклад, це може статися, якщо ви хочете встановити software-a, і найновіший у тестувальній гілці - це те software-a-2.3.4, що вимагає library-b-5.6.7, у якого ще немає ebuild. Що стосується amd64 ~amd64і просто ~amd64, вони одні й ті ж, на самому ділі, тому що , якщо ваша архітектура amd64 ви будете мати amd64в ACCEPT_KEYWORDS, незалежно від того , що.

4. Чи має значення порядок ключових слів?

Ні, адже це лише питання, чи ACCEPT_KEYWORDSмістить ваша змінна певне ключове слово чи ні. Це як набір (не упорядкований).

Користуючись Gentoo деякий час, я все ще не наважуюся вкласти ~amd64своє ACCEPT_KEYWORDS. Це настільки нестабільно, що насправді не рекомендується. Встановлення його вперше гарантує багато поломки.


дякую за дуже чітке пояснення. у моєму випадку мені все-таки довелося поставити ~ amd64, щоб отримати останню інформацію xtables-addons. але оскільки моя коробка Gentoo служить чистою брандмауером, я не дуже переймаюся стабільністю інших пакетів :)
pepoluan

2
@pepoluan Якщо ~amd64це просто так, xtables-addonsвам слід поставити його /etc/portage/package.keywordsабо /etc/portage/package.accept_keywordsзамість цього використовувати нестабільну гілку тестування. Для отримання додаткової інформації зверніться man portageабо задайте тут інше запитання.
phunehehe

. Гоша, ти маєш рацію> <... Я перепрошую, здається , що мій n00bness просвічує: P ... в будь-якому випадку, я не оригінальний плакат, тільки норовливий коментатора :)
pepoluan

@pepoluan Радий, що мені допомогли. Всі є нообом у якийсь момент :)
phunehehe

Дякуємо за детальну відповідь. Я не розумію, чому, але ключове слово за замовчуванням - ~amd64-linux( amd64явно видалено). Поки що це працює добре =)
netvope

3

Змінна середовища ACCEPT_KEYWORDS призначена для того, щоб дозволяти будувати "всі" ще не марковані стабільні пакети / версії для поточної архітектури.

~ Перед аркою означає нестабільність (не "повністю" перевірена).

Найчастіше кращим підходом є використання /etc/portage/package.keywords та перерахування пакету там із ключовим словом ~ amd64, якщо вам справді потрібна остання збірка.

До речі: брандмауер amd64, чи не так вікіпедія визначає надмірність?

  1. Так
  2. Ніколи не чув про "~ amd64-linux", але ~ означає "нестабільний".
  3. Ні, не очікується, що "~ amd64" виключає "amd64".
  4. Ні.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.