在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. 如果选择~amd64equery将不会使用仅可用于的软件包 amd64,从而导致缺少依赖项。这是预期的吗?如果是这样,不稳定的测试人员应至少使用ACCEPT_KEYWORDS='amd64 ~amd64'代替ACCEPT_KEYWORDS='~amd64'
  4. 关键字的顺序重要吗?

附加信息:我按照本指南安装了Gentoo Prefix 。默认情况下, $EPREFIX/etc/make.profile是一个符号链接$EPREFIX/usr/portage/profiles/prefix/linux/amd64,并包含make.defaultsACCEPT_KEYWORDS="-amd64 ~amd64-linux"。既不$EPREFIX/etc/make.conf也不$EPREFIX/etc/make.globalsACCEPT_KEYWORDS配置。根据eselect profile list,没有选择配置文件。

Answers:


8

1. ACCEPT_KEYWORDS ='amd64〜amd64〜amd64-linux'是有效的配置吗?

来自man make.conf:

ACCEPT_KEYWORDS = [以空格分隔的关键字列表]

因此ACCEPT_KEYWORDS='amd64 ~amd64 ~amd64-linux'是有效的组合。

2.那〜amd64-linux呢?

amd64-linux是一个前缀的东西。我对Prefix不太了解,但是可以amd64-linux/usr/portage/profiles/arch.list名为“ Prefix keyword”的部分中的有效关键字列表中看到。~amd64-linux只是的测试对象amd64-linux

3. ACCEPT_KEYWORDS='amd64 ~amd64'与公正~amd64

如果你有~amd64你的ACCEPT_KEYWORDS,Portage会使用所有最新的ebuild,它往往包含了很多不稳定的东西。我认为这就是为什么缺少依赖项的原因。例如,如果您要安装software-a,并且测试分支中的最新版本是software-a-2.3.4,则可能会发生这种情况,它需要library-b-5.6.7,但还没有ebuild。至于amd64 ~amd64,只是~amd64,它们是相同的,真的,因为如果你的架构是AMD64你将有amd64ACCEPT_KEYWORDS,不管是什么。

4.关键字的顺序重要吗?

不,因为这仅取决于您的ACCEPT_KEYWORDS变量是否包含某个关键字。就像一组(无序)。

已经使用的Gentoo了一段时间,我还是没有敢把~amd64我的ACCEPT_KEYWORDS。它是如此的不稳定,所以我们不建议您这样做,因为第一次安装它会导致很多破损。


感谢您的明确解释。就我而言,我仍然必须输入〜amd64以获得最新的xtables-addons。但是由于我的Gentoo盒用作纯防火墙,因此我并不真正担心其他软件包的稳定性:)
pepoluan 2011年

2
@pepoluan如果~amd64仅是xtables-addons这样,则应将其放入/etc/portage/package.keywords/etc/portage/package.accept_keywords代替使用不稳定的测试分支。有关更多信息,请参阅man portage,或在此处提出其他问题。
phunehehe 2011年

天哪,你是对的>。<...我道歉,看来我的n00bness闪闪发光:P ...无论如何,我不是原始海报,只是一个任性的评论者:)
pepoluan 2011年

@pepoluan很高兴我帮了忙。每个人在某个时候
都是菜鸟

感谢您的详细回答。我不明白为什么,但是默认关键字是~amd64-linux(已amd64显式删除)。到目前为止运行良好=)
netvope

3

ACCEPT_KEYWORDS环境变量用于允许为当前体系结构构建“所有”尚未标记的稳定包/版本。

拱形前面的〜表示不稳定(未经“完全”测试)。

通常更好的方法是使用/etc/portage/package.keywords并在其中使用〜amd64关键字列出软件包(如果您确实需要最新的版本)。

顺便说一句:amd64防火墙,这不是维基百科定义过大杀伤力的方法吗?

  1. 从未听说过“〜amd64-linux”,但是〜表示“不稳定”。
  2. 不,不希望“〜amd64”排除“ amd64”。
  3. 没有。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.