apt-cache dotty - 依存関係を表示

こんなオプションあったのかw なんだか無駄に楽しい。

  • man apt-cache

apt-cache dotty [package-name] でgraphviz 用の設定が出力されるのでdotにくわせて画像生成できる。

dotty pkg(s)
dotty は、コマンドライン上のパッケージ名から、 GraphViz[1] パッケージの dotty コマンドで利用するのに便利な出力を生成します。 結果はパッケージの関係を表わす、ノード・エッジのセットで表現されます。デフォルトでは、すべての依存パッケージをトレースするので、非常に大きい図が得られます。これは、APT::Cache::GivenOnly オプションを設定して解除できます。


defaultだと全ての依存パッケージが出力されるので(依存パッケージが他のパッケージを依存していると、それも全て表示する) 膨大なdotファイルになる。graphvizの処理がいつまでたっても終わらないくらいに。

なのでグラフを生成するなら "APT::Cache::GivenOnly" オプションをつけたほうが良い。APT::Cache::GivenOnly をつけると、apt-cache dottyの引数で指定したパッケージが依存しているパッケージのみ表示される。(1階層分だけ表示される)

ex: apache2

$ apt-cache -o APT::Cache::GivenOnly=1 dotty apache2 | dot -T png -o apache2.png