The deb2graph tool is used to create a graphical representation of all the dependencies from a set of Debian packages.

The command line is generally very simple with a --root or --admindir option (if you are not using the default location) and then a list of Debian packages. The output is always for the DOT file and deb2graph.svg for the graphical result.


deb2graph --admindir /over/there/db repository/*.deb

The result is an SVG image that shows you the packages and all of their dependencies.

Dependencies that are not part of the *.deb list are shown inside an ellipse. This means they either need to already be installed or sourced out if you want to install everything, unless these are conflicts or build dependencies.

The arrow between boxes and ellipses are solid gray by default. This is a required dependency as defined by the Depends.

Arrows that are blue and bold represent pre-dependencies. Packages that need to already be installed.

Red arrows represent packages that break or are in conflict with each others. The Conflicts are recognized as the arrow ends with a T (tee).

Build dependencies are shown with dashed arrows that are gray.

When a dependency defines a version, the arrow is assigned a label with that version specification. It looks like:

version >> 3.2.1

There is a simple example of the nss3 library:

The following picture shows you an example of such a directed acyclic graph with quite funky package names:

Sample output of deb2graph to generate a graphical tree of the dependencies between a set of Debian packages.