![Gentoo 移植。如何找出安装某些特定软件包的原因?](https://linux22.com/image/123210/Gentoo%20%E7%A7%BB%E6%A4%8D%E3%80%82%E5%A6%82%E4%BD%95%E6%89%BE%E5%87%BA%E5%AE%89%E8%A3%85%E6%9F%90%E4%BA%9B%E7%89%B9%E5%AE%9A%E8%BD%AF%E4%BB%B6%E5%8C%85%E7%9A%84%E5%8E%9F%E5%9B%A0%EF%BC%9F.png)
好吧,有些软件包是根据我的明确请求安装的。这些软件包列在 中/var/lib/portage/world
。
但是安装了一些软件包,因为其中一些显式安装的软件包需要它们。
假设我发现aaa/bbb-1.2.3
我的系统上安装了一些软件包。它不在world
集合中。因此,集合中必须有一个或多个包world
需要(可能是间接)该aaa/bbb
包。我怎样才能知道这些包是什么?作为奖励,我希望能够理解为什么1.2.3
安装了这个版本。
equery (d)epends
命令(按app-portage/gentoolkit
包安装)可以“直接根据ATOM列出所有包”。但离我需要的还很远。
答案1
您可以使用以下命令查看依赖于该包的所有包(以及它们引入的版本):
emerge -pv --depclean <package-name>
或者也许是来自的输出
equery d -D <package-name>
就是你想要的:间接依赖于该包的所有包的树