パッケージの依存関係を視覚的に表示する方法は?


31

これはただの楽しみと好奇心のためです:グラフとしてパッケージ依存関係視覚的に見ることができるツールがありますか?

つまり、特定のパッケージが依存するパッケージ。これは、ASCIIグラフィック(ツリーやMercurialのグラフログなど)を使用して表示するコマンドラインツール、または依存関係グラフを視覚的に表示するGUIツールです。依存関係を視覚的に表示できる他のツールの組み合わせも機能します。


そして、グラフの軸はどうなりますか?

1
@ vasa1:頂点はパッケージであり、エッジは依存関係です。
アシュウィンナンジャッパ

回答:


34

借金

よると、アプリケーションのウェブサイト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の負債のmanページ


1
--no-skipまたはの--show-allようなパッケージを追加するための非常に便利なオプションですlibc6
ログオフ

2

たぶんそれほど「グラフィカル」ではないかもしれませんが、余分なパッケージをインストールしたくない場合は、単に実行する可能性もあります

apt-cache rdepends <package>

dependsオプションを確認することもできます。

あなたも持っています:

  • apt rdepends <package>
  • このスクリプトを使用しapt-rdepends-tree <package>
  • apt-rdepends <package>または債務者として apt-rdepends --dotty package | springgraph > dependencies.png

1

コマンドラインツールApitudeは、依存関係を調べるのに最適なツールです。派手なグラフはありませんが、特定のパッケージの依存関係を階層的に表示できます。


Nathan Cazell:特定のパッケージのこの階層グラフを表示する方法を詳しく説明していただけますか?
アシュウィンナンジャッパ

Aptitudeを開くと、単に/を使用してパッケージを検索し、必要なパッケージのEnterキーを押すと、満たされていない依存関係と競合するパッケージを含む依存関係ツリーを含むパッケージに関するすべての情報が表示されます。
Ntc

Nathan Cazell:コマンドラインの適性ツールについて言及していますか?
アシュウィンナンジャパ

編集済み。前に明確にしないでごめんなさい
-Ntc
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.