是否可以像games-rpg/
使用单个 portage 命令一样安装包类别中的项目?
我尝试过使用类似的东西games-rpg/*
,但到目前为止我还没有成功。
答案1
通用格式
# emerge -optionswithnospaces category/package-name-version-x.y.z
问题
你很困惑,用类别打包,这是我编辑的。这引出了你的问题的答案。 Emerge
本身无法通过通配符类别来出现包,因为依赖项检查器需要至少一个包。
解决方案
这给我们留下了两个选择:
- 写一个对于下一个 BASH 循环。这需要
app-portage/portage-utils
.就emerge -av $(for name in $(qlist -IC | grep -v '^games-rpg/') etc etc
个人而言,我讨厌这种方法,因为它需要我时间来调试。如果您决定走这条路,那么这个交易所上有一些很棒的脚本编写者。 - 创建一个定制套餐套装。这需要一些繁琐的工作,因为您必须手动添加类别中的每个包,以防万一您不想安装该类别中的某些内容,或者您实际上可以使用您发现的内容。
nano -w /etc/portage/sets/rpg-games
添加以下内容:
games-rpg/*
进而emerge -av @rpg-games
如果通配符在集合中列出,Portage 实际上可以扩展通配符。我相信这可以通过缓冲魔法起作用,但不要引用我的话。 emerge shell forks 打开一个临时文件,列出通配符选择的所有项目,收集列表并将其作为输入发送,然后关闭临时文件。
有关通配符和 Portage 的更多信息,请阅读 中的术语表部分man portage
。这是在线复制。