在 Gentoo 中,amd64、~amd64 和 ~amd64-linux 有什麼區別?
當我執行時
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'
同時滿足所有依賴關係。以下是我的問題:
- 是
ACCEPT_KEYWORDS='amd64 ~amd64 ~amd64-linux'
有效的配置嗎?- 我從文件中了解到,這
amd64
意味著穩定,也~amd64
意味著不穩定。怎麼樣~amd64-linux
?- 如果我選擇
~amd64
,equery
則不會使用僅適用於 的包amd64
,從而導致缺少依賴項。這是預期的嗎?如果是這樣,不穩定的測試人員是否應該至少使用ACCEPT_KEYWORDS='amd64 ~amd64'
而不是ACCEPT_KEYWORDS='~amd64'
?- 關鍵字的順序重要嗎?
附加資訊:我按照本指南安裝了 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
如果您
~amd64
的ACCEPT_KEYWORDS
.portage 中有所有最新的 ebuild,通常會包含很多不穩定的東西。我認為這就是為什麼會缺少依賴項的原因。例如,如果您想安裝software-a
,則可能會發生這種情況,而測試分支中的最新版本是software-a-2.3.4
,它需要library-b-5.6.7
,它還沒有 ebuild。關於amd64 ~amd64
和 just~amd64
,它們實際上是相同的,因為如果您的架構是 amd64 ,那麼無論如何您都將擁有amd64
in 。ACCEPT_KEYWORDS
4.關鍵詞的順序重要嗎?
不,因為這只是您的
ACCEPT_KEYWORDS
變數是否包含某個關鍵字的問題。它就像一個集合(無序)。用了Gentoo一段時間了,還是不敢裝
~amd64
。ACCEPT_KEYWORDS
太不穩定了,真的不推薦,第一次設置保證很多破損。