問題描述
這隻是出於娛樂和好奇:是否有一個工具可以用來可視化地將軟件包的依賴關係顯示為圖表?
即,給定軟件包所依賴的軟件包。這可以是使用ASCII圖形(例如樹或Mercurial的graphlog)顯示的命令行工具,也可以是可視化顯示依賴關係圖的GUI工具。可以從視覺上顯示依賴關係的任何其他工具組合也可以工作。
最佳方案
debtree
根據the application’s website,debtree
程序包提供“類固醇的程序包依賴圖”。
注意:在計劃軟件升級時,這也非常有用。此應用程序能夠根據係統上尚未安裝的軟件包繪製依賴關係圖。這將從sources.list
文件(通常位於/etc/apt/sources.list
)中讀取,並且它將使用該列表執行實時查詢。
下圖是針對程序包dpkg
運行debtree
的示例。這是其依賴關係的示意圖:
要從命令行(Ctrl
–Alt
–t
)安裝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
也可以類似的方式使用,但是在我看來,將輸出管道輸出到圖形中會更加複雜。