当前位置: 首页>>技术教程>>正文


如何可视地显示软件包的依赖关系?

, ,

问题描述

这只是出于娱乐和好奇:是否有一个工具可以用来可视化地将软件包的依赖关系显示为图表?

即,给定软件包所依赖的软件包。这可以是使用ASCII图形(例如树或Mercurial的graphlog)显示的命令行工具,也可以是可视化显示依赖关系图的GUI工具。可以从视觉上显示依赖关系的任何其他工具组合也可以工作。

最佳方案

debtree

根据the application’s websitedebtree程序包提供“类固醇的程序包依赖图”。

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

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

要从命令行(CtrlAltt)安装debtree,请输入以下命令:

sudo apt-get install debtree

Usage

  • 创建一个.dot文件(一个有向图,请参见man dot联机帮助页)

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

    dot -T png -o out.png out.dot
    
  • 创建一个图形(后记)并使用Okular进行查看

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

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

请注意,apt-rdepends也可以类似的方式使用,但是在我看来,将输出管道输出到图形中会更加复杂。

另请参阅:Ubuntu debtree man page

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/11812.html,未经允许,请勿转载。