如何直观的显示包的依赖关系?

如何直观的显示包的依赖关系?

这只是为了好玩和好奇:有没有一种工具可以帮助我视觉上查看依赖项包裹以图表形式呈现?

即,给定包所依赖的包。这可以是使用 ASCII 图形显示的命令行工具(如 tree 或 Mercurial 的 graphlog),也可以是直观显示依赖关系图的 GUI 工具。任何其他可以直观显示依赖关系的工具组合也可以。

答案1

债务树

根据应用程序的网站,该debtree包提供“增强版的软件包依赖图”

注意:这在规划软件升级时也非常有用。此应用程序能够绘制尚未安装在系统上的软件包的依赖关系图。这将从sources.list文件(通常位于/etc/apt/sources.list)中读取,并使用该列表执行实时查询。

debtree下图是针对包运行的示例dpkg。这是其依赖关系图:

debtree从命令行(Ctrl++ )安装Altt请输入以下命令:

sudo apt-get install debtree

用法

  • 创建一个 .dot 文件(有向图绘制 - 参见man dot手册页):

      debtree --with-suggests <package> >out.dot
    
  • 从 .dot 文件创建图形(PNG):

      dot -T png -o out.png out.dot
    
  • 创建图表(Postscript)并使用 Okular 查看它:

      debtree <package> | dot -Tps | okular - &
    

请注意,当针对较大的包(例如 gedit)运行此应用程序时,图像很快就会变得难以处理且难以辨认。

注意apt-rdepends也可以以类似的方式使用,但在我看来,将输出传输到图形中有点复杂。

也可以看看: Ubuntu 债务树手册页

答案2

也许不是那么“图形化”,但如果你不想安装任何额外的软件包,你可以运行

apt-cache rdepends <package>

也看一下depends选项。

您还拥有:

  • apt rdepends <package>
  • 使用这个脚本apt-rdepends-tree <package>
  • apt-rdepends <package>债务树 apt-rdepends --dotty package | springgraph > dependencies.png

答案3

命令行工具 Apitude 是查看依赖关系的绝佳工具。虽然没有花哨的图表,但它确实为您提供了特定包的依赖关系的良好层次表示。

相关内容