apt-cache show evolution-common; # show info about package (if installed or not)
Package: evolution-common
Source: evolution
Version: 3.12.9~git20141130.241663-1
Installed-Size: 45834
Maintainer: Debian Evolution Maintainers <pkg-evolution-maintainers@lists.alioth.debian.org>
Architecture: all
Depends: dconf-gsettings-backend | gsettings-backend
Recommends: evolution
Description-en: architecture independent files for Evolution
 Evolution is a groupware suite which integrates mail, calendar,
 address book, to-do list and memo tools.
 This package contains the architecture independent files needed
 by the evolution package.
Description-md5: 63a9c80d6efb5e50b74aae7ebcc8bf5c
Homepage: http://projects.gnome.org/evolution/
Tag: role::app-data
Section: gnome
Priority: optional
Filename: pool/main/e/evolution/evolution-common_3.12.9~git20141130.241663-1_all.deb
Size: 6594348
MD5sum: c331e2ab621c24a7ea0d04156593f8fd
SHA1: 80a5550e0e8db6b412353209252242142701249f
SHA256: 155f10ae7d39042340a70f6599df00ec975e597a551a898b68a523de895f3c61

apt-cache showpkg evolution-common; # show package software dependencies
Package: evolution-common
3.12.9~git20141130.241663-1 (/var/lib/apt/lists/ftp.uni-erlangen.de_debian_dists_jessie_main_binary-i386_Packages) (/var/lib/dpkg/status)
Description Language:
File: /var/lib/apt/lists/ftp.uni-erlangen.de_debian_dists_jessie_main_binary-i386_Packages
MD5: 63a9c80d6efb5e50b74aae7ebcc8bf5c
Description Language: en
File: /var/lib/apt/lists/ftp.uni-erlangen.de_debian_dists_jessie_main_i18n_Translation-en
MD5: 63a9c80d6efb5e50b74aae7ebcc8bf5c

Reverse Depends:
gnome-panel,evolution-common 3.4.3
evolution,evolution-common 2.91
evolution,evolution-common 3.12.9~git20141130.241663-1
almanah,evolution-common 3.6.0
3.12.9~git20141130.241663-1 - dconf-gsettings-backend (16 (null)) gsettings-backend (0 (null)) evolution (0 (null))
3.12.9~git20141130.241663-1 -
Reverse Provides:

apt-cache depends evolution-common
|Depends: dconf-gsettings-backend
Recommends: evolution

apt-cache rdepends evolution-common
Reverse Depends:


output format of apt for dotty seems broken… it gives me errors, while this example seems to work:

dottyguide even worse: dotty seems not to be able to display bigger graphs… kind of stalls.

debtree seems to be able to do the proper stuff.


apt-get install debtree; # install

debtree --with-suggests >out.dot; # Create a .dot file (a directed graph drawing - see the man dot manpage)

# Create a graph (PNG) from a .dot file (takes ages, very slow, and produced a 50Mbyte PNG! :-D that your average image viewer won't handle)

dot -T png -o out.png out.dot;

debtree | dot -Tps | okular - &; # Create a graph (Postscript) and view it using Okular

dotty pkg…
dotty takes a list of packages on the command line and generates output suitable for use by dotty from the GraphViz[1] package. The
result will be a set of nodes and edges representing the relationships between the packages. By default the given packages will trace
out all dependent packages; this can produce a very large graph. To limit the output to only the packages listed on the command line,
set the APT::Cache::GivenOnly option.

The resulting nodes will have several shapes; normal packages are boxes, pure virtual packages are triangles, mixed virtual packages
are diamonds, missing packages are hexagons. Orange boxes mean recursion was stopped (leaf packages), blue lines are pre-depends, green
lines are conflicts.

Caution, dotty cannot graph larger sets of packages.

xvcg pkg…
The same as dotty, only for xvcg from the VCG tool[2].

apt-cache xvcg evolution-common > dotty.file;
apt-cache xvcg evolution-common > xvcg.file;

apt-get install graphviz; # install graphviz tool set
apt-get install dotty; # install dotty

to run dotty example put this in a dotty_example:

digraph G {
a -> b [label="hello", style=dashed];
a -> c [label="world"];
c -> d; b -> c; d -> a;
b [shape=Mdiamond, label="this is b"];
c [shape=polygon, sides=5, peripheries=3];
d [style=bold];

and by running:

dotty dotty_example.txt

you get this amazing drawing:

dotty example output

About Graph Visualization

Graph visualization is a way of representing structural information as diagrams of abstract graphs and networks. It has important applications in networking, bioinformatics, software engineering, database and web design, machine learning, and in visual interfaces for other technical domains.