如何直观地显示包的依赖关系?
这只是为了好玩和好奇:有没有一种工具,我可以直观地看到包的依赖关系作为图形?
也就是说,给定包依赖的包。 这可以是使用ASCII图形(如树或Mercurial的graphlog)显示的命令行工具,也可以是可视化显示依赖关系图的GUI工具。 可以在视觉上显示依赖关系的任何其他工具组合也可以工作。
debtree
根据该应用程序的网站 , debtree
包提供“类固醇的包依赖图” 。
注意:在规划软件升级时,这也非常有用。 此应用程序能够绘制对系统尚未安装的软件包的依赖关系。 (这将从sources.list
文件中读取(通常位于/etc/apt/sources.list
),它将使用该列表执行实时查询)。
下图是针对软件包dpkg
运行debtree
的示例。 这是它的依赖关系的映射:
要debtree
安装debtree
( Ctrl – Alt – t ),请输入命令:
sudo apt-get install debtree
用法
-
创建.dot文件(有向图绘制 – 请参阅
man dot
联机帮助页)debtree --with-suggests
>out.dot -
从.dot文件创建图形(PNG)
dot -T png -o out.png out.dot
-
创建一个图(Postscript)并使用Okular查看它
debtree
| dot -Tps | okular - &
请注意,在针对较大的软件包(即gedit)运行此应用程序时,图像很快就会变得难以操作且难以辨认。
请注意, apt-rdepends
也可以以类似的方式使用,但在我看来,管道输出到图形中有点复杂。
命令行工具Apitude是查看依赖项的一个很好的工具。 没有花哨的图形,但它确实为您提供了特定包的依赖关系的良好分层表示。
也许不是那么“图形化”,但如果你不想安装任何额外的软件包,你也可以运行apt-cache rdepends
。
您可能还想看看depends
选项。