在 Gentoo 上,如何重建依赖于其他一些包的所有包?

Ale*_*exD 8 compiling gentoo package-management emerge

我犯了一个错误,先将 perl 非线程版本更改为通过 unmerge 进行线程化,更改USE标志以包含 ithreads 并再次出现 perl。现在大多数依赖 perl 的包都坏了。我如何重建它们?

Mat*_*Mat 8

方法是使用equery'sdepends函数来获取依赖于包的事物列表。

# equery depends perl
Run Code Online (Sandbox Code Playgroud)

如果您想重建所有这些,请尝试以下操作:

# emerge -a --oneshot `equery depends perl|awk '{print " ="$1}'`
Run Code Online (Sandbox Code Playgroud)

如果您安装了从 portage 树中删除的软件包,您就会遇到问题,因此事先进行同步和世界更新是个好主意。

对于这种特定情况,您可能还想查看app-admin/perl-cleaner- 它具有重建 perl 模块的特定功能。