debtree — package dependency graphs on steroids


Example: aptitude

  1. Graph from apt-cache (for comparison)
  2. Basic graph (only hard dependencies and conflicts)
  3. Basic graph with Recommends
  4. Basic graph with Recommends and Suggests
  5. Basic graph with Recommends and showing alternatives
  6. Default graph (showing Recommends, alternatives and versions)
  7. Default graph with Suggests
  8. Default graph with Suggests and versioned Conflicts
  9. Default graph (rotated)

Various dependencies that can be satisfied by multiple packages are shown.

aptitude-doc is a virtual package that is provided by various (unspecified) other packages.

libxml-simple-perl has a dependencies with one alternatives that has a special indicator. The square brackets ("[...]") for libxml-sax-expat-perl indicates that that package is also shown separately elsewhere in the graph (and its dependencies will be shown from that separate instance). Braces ("{...}") are used to indicate that the dependencies of an alternative are not shown in the graph.

$ debtree --no-versions aptitude

Dependency graph for aptitude
Generated .dot file: DOT
Full-sized images: PS | PNG | SVG

Equivalent graph for debconf