Gentoo

在 Gentoo 中,amd64、~amd64 和 ~amd64-linux 有什麼區別?

  • March 21, 2011

當我執行時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. 如果我選擇~amd64equery則不會使用僅適用於 的包 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,沒有選擇配置文件。

1. ACCEPT_KEYWORDS=‘amd64 ~amd64 ~amd64-linux’ 配置有效嗎?

來自 man make.conf:

ACCEPT_KEYWORDS =

$$ space delimited list of 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'vs 只是~amd64

如果您~amd64ACCEPT_KEYWORDS.portage 中有所有最新的 ebuild,通常會包含很多不穩定的東西。我認為這就是為什麼會缺少依賴項的原因。例如,如果您想安裝software-a,則可能會發生這種情況,而測試分支中的最新版本是software-a-2.3.4,它需要library-b-5.6.7,它還沒有 ebuild。關於amd64 ~amd64和 just ~amd64,它們實際上是相同的,因為如果您的架構是 amd64 ,那麼無論如何您都將擁有amd64in 。ACCEPT_KEYWORDS

4.關鍵詞的順序重要嗎?

不,因為這只是您的ACCEPT_KEYWORDS變數是否包含某個關鍵字的問題。它就像一個集合(無序)。

用了Gentoo一段時間了,還是不敢裝~amd64ACCEPT_KEYWORDS太不穩定了,真的不推薦,第一次設置保證很多破損。

引用自:https://unix.stackexchange.com/questions/9773