ACCEPT_KEYWORDS
From Gentoo Wiki
Outdated translations are marked like this.
变量在哪里设置?
这个变量通常通过 Gentoo 的 profile 设置。但是可以在用户的 /etc/portage/make.conf 文件里进行覆盖,以及在 /etc/portage/package.accept_keywords 文件/目录下为每个包覆盖,甚至在命令行中进行(尽管不推荐这样做)。
重要
通过命令行覆盖 ACCEPT_KEYWORDS 变量通常被认为是个坏主意,例如使用 ACCEPT_KEYWORDS=<keyword> emerge -av <packagename>,因为设置不会被包管理器保存而且可能导致不必要的行为。
通过命令行覆盖 ACCEPT_KEYWORDS 变量通常被认为是个坏主意,例如使用 ACCEPT_KEYWORDS=<keyword> emerge -av <packagename>,因为设置不会被包管理器保存而且可能导致不必要的行为。
稳定与不稳定的 keywords
在绝大多数的 profile 中 ACCEPT_KEYWORDS 变量的默认值即系统架构本身,例如 ACCEPT_KEYWORDS="amd64"
或者 ACCEPT_KEYWORDS="arm"
。在此情况下,包管理器只接受那些KEYWORDS 变量包含此架构的 ebuild。如果用户希望能够安装那些还未被认为适合生产环境使用的 ebuild,可以在架构前添加 ~
前缀,例如:
ACCEPT_KEYWORDS="~amd64"
由于ACCEPT_KEYWORDS变量是增量的,在添加测试关键字 (~amd64
)的时候,不应当指定稳定的关键字(amd64
)。
如果不是进行系统全局设置,那么可以在 package.accept_keywords 文件或目录中对每个包进行单独设置:
# games
games-fps/doomsday ~amd64
除了 ACCEPT_KEYWORDS 的通常值以外, package.accept_keywords 还支持三个特殊值 [1]:
*
— 如果包在任何系统架构是稳定的,那么它可见~*
— 如果包在任何系统架构是测试的,那么它可见**
— 这个包总是可见的 (KEYWORDS 被完全忽略)
最后一个选项对于版本经常改变的包(比如SVN/Git/Mercurial版本的包)非常有用,因为即时ebuilds没有KEYWORDS变量
附注
The behavior of ~arch and ~* differ: ~arch includes arch, ~* doesn't include *. To use the most recent version of a package which is marked stable or unstable on any architecture, specify "* ~*".
The behavior of ~arch and ~* differ: ~arch includes arch, ~* doesn't include *. To use the most recent version of a package which is marked stable or unstable on any architecture, specify "* ~*".
另请参阅
- KEYWORDS — the KEYWORDS variable informs in which architectures the ebuild is stable or still in testing phase.
- Knowledge Base:Accepting a keyword for a single package
- Knowledge Base:Accepting a keyword for all packages
参考
- ↑ Gentoo Portage, Manual page for Portage. Retrieved on January 30th, 2015.