有人可以告诉我如何查看Ubuntu中包的所有嵌套依赖项?例如,
support@vrni-platform:/tmp$ sudo apt-cache depends hadoop-yarn-resourcemanager
hadoop-yarn-resourcemanager
Depends: hadoop-yarn
support@vrni-platform:/tmp$ sudo apt-cache depends hadoop-yarn
hadoop-yarn
Depends: libc6
Depends: adduser
Depends: bigtop-utils
Depends: hadoop
Depends: avro-libs
Depends: zookeeper
我正在寻找类似下面的内容。与mvn dependency:tree
hadoop-yarn-resourcemanager
Depends: hadoop-yarn
Depends: libc6
Depends: adduser
Depends: bigtop-utils
Depends: hadoop
Depends: avro-libs
Depends: zookeeper
我见过这个question,但我正在寻找完整的依赖树。
答案 0 :(得分:0)
嗯,有apt-cache dotty
命令,它将生成包依赖关系的graphviz表示。然而,这并没有你想象的那么有用:有很多"核心包"几乎所有东西都需要这些,结果图表会非常大。
例如,apt-cache dotty openssh-client
的输出呈现为this beast。
点语法相对简单;您可以自己解析它以提取信息的子集。
答案 1 :(得分:0)
这个问题已经很老了,但是apt-cache当前为--recurse
和depends
提供了一个rdepends
选项,这很容易做到:
apt-cache depends -i --recurse <packagename>
您可能还需要-i
,因为这样会将输出限制为实际的Depends:
,从而过滤掉Recommends:
和Suggests:
之类的非必需内容。
使用上述选项,输出将是巨大的,因为它将包括每个包,直至内核本身!使用简单的程序包可能没什么大不了的,但是对于台式机环境甚至大型应用程序来说……