Ade Malsasa Akbar contact
Senior author, Open Source enthusiast.
Friday, November 27, 2015 at 22:23

apt-rdepends is a great tool to list complete dependencies of a package. Beside of that, apt-rdepends has capability to produce graph-compatible output. In other words, user can use apt-rdepends to produce dependencies list then use dot to create dependencies map in an image file (whether it is PNG or else). In this article, we will create maps for some Ubuntu packages separately.


sudo apt-get install apt-rdepends dot

Mapping nano

apt-rdepends --dotty nano | dot -Tpng > dependency-map.png

Mapping gcc

apt-rdepends --dotty nano | dot -Tpng > dependency-map.png

Mapping firefox

apt-rdepends --dotty firefox | dot -Tpng > dependency-map.png

Mapping scribus

apt-rdepends --dotty scribus | dot -Tpng > dependency-map.png

Map Explanation

  • Blue: pre-depends.
  • Black: depends. 
Both blue and black lines are symbols of dependency. For example, in the nano graph, nano package has black arrow to dpkg package. It means nano depends to dpkg. In simpler words, nano needs dpkg. But on the same graph, dpkg package has blue arrow to tar package. In simpler words, it means dpkg needs tar, but when installation happens, tar must be installed and configured completely before dpkg installed. For more explanation about pre-depends you can read Debian FAQ

Commands Explanation

  • apt-rdepends --dotty <package>: resolve dependencies recursively and output the list in dot-readable text format.
  • | dot -Tpng > dependency-map.png: receive dependency list output from another program and produce the graph in PNG file.


To save into SVG (so the image file will be scalable), use -Tsvg instead -Tpng.