首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Gentoo Portage中,原子究竟意味着什么?

在Gentoo Portage中,原子究竟意味着什么?
EN

Unix & Linux用户
提问于 2017-12-03 13:59:43
回答 1查看 1.5K关注 0票数 2

这个问题与名为“atom”的文本编辑器无关。

波蒂奇手册页使用了“原子”这个词,但我找不到这个词的定义,于是就糊涂了。我知道atom描述了一个包,但我不知道以下哪一项是原子:

代码语言:javascript
复制
dev-lang/python
dev-lang/python-3.4.5
=dev-lang/python-3.4.5
>=dev-lang/python-3.4.5
dev-lang/*
EN

回答 1

Unix & Linux用户

发布于 2017-12-28 21:19:01

根据ebuild(5)手册页的说法,在“属地”下:

依赖原子只是一个依赖项,在计算包之间的关系时由迁移使用。

接着描述了不同类型的原子:

  1. 原子基:一个裸露的类别/包名(例如dev-lang/python)
  2. Atom版本:如前所述,但有一个版本(例如dev-lang/python-3.4.5)
  3. 原子前缀算符:带有布尔运算符的版本化原子(例如>=dev-lang/python-3.4.5)
  4. 扩展的原子前缀/后缀:通配符和拦截器(例如dev-lang/python-3*)
  5. 原子插槽/子插槽:可以共存的软件包的版本(例如dev-lang/python-3.4.5:3.4/3.4m,可与:2.7和:3.6同时安装)
  6. Atom USE语句:处理USE标志

这是ebuilds内部使用的内容,并不是日常使用所必需的,因为只有包维护人员经常看到这些内容(不过,您会看到插槽)。

然而,波蒂奇对原子的使用略有不同。根据其手册页,它支持以下原子类型:

  1. 基本:裸类别/包(例如dev-lang/python)
  2. 版本:类别/包-版本(例如dev-lang/python-3.4.5),有或没有比较运算符
  3. 插槽:类别/包-版本:槽(例如dev-lang/python-3.4.5:3.4)
  4. 存储库:类别/包-版本::存储库(例如dev-lang/python::gentoo)
  5. 通配符:任意替换(例如dev-lang/*或=*/*-9999)

它们实际上并不是在依赖关系中使用的,但是当它们被发送到ebuild系统时,它们大致遵循相同的规则。您也可以将它们结合在一起,因此"<*/python*-9999:3.6::test“将是一个有效的原子规范。不过,我通常坚持使用基本原子、版本原子和存储库原子,因为插槽通常并不重要,如果您不小心,通配符可以匹配意外的东西。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/408547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档