Gentoo 如何安装包中的所有项目

Gentoo 如何安装包中的所有项目

是否可以像games-rpg/使用单个 portage 命令一样安装包类别中的项目?

我尝试过使用类似的东西games-rpg/*,但到目前为止我还没有成功。

答案1

通用格式

# emerge -optionswithnospaces category/package-name-version-x.y.z

问题

你很困惑,用类别打包,这是我编辑的。这引出了你的问题的答案。 Emerge本身无法通过通配符类别来出现包,因为依赖项检查器需要至少一个包。

解决方案

这给我们留下了两个选择:

  1. 写一个对于下一个 BASH 循环。这需要app-portage/portage-utils.就emerge -av $(for name in $(qlist -IC | grep -v '^games-rpg/') etc etc 个人而言,我讨厌这种方法,因为它需要我时间来调试。如果您决定走这条路,那么这个交易所上有一些很棒的脚本编写者。
  2. 创建一个定制套餐套装。这需要一些繁琐的工作,因为您必须手动添加类别中的每个包,以防万一您不想安装该类别中的某些内容,或者您​​实际上可以使用您发现的内容。

nano -w /etc/portage/sets/rpg-games

添加以下内容:

games-rpg/*

进而emerge -av @rpg-games

如果通配符在集合中列出,Portage 实际上可以扩展通配符。我相信这可以通过缓冲魔法起作用,但不要引用我的话。 emerge shell forks 打开一个临时文件,列出通配符选择的所有项目,收集列表并将其作为输入发送,然后关闭临时文件。


有关通配符和 Portage 的更多信息,请阅读 中的术语表部分man portage。这是在线复制

相关内容