7.5 Why doesn't get `foo-data' removed when I uninstall `foo'? How do I make sure old unused library-packages get purged?
Some packages that are split in program (`foo') and data (`foo-data'). This is
true for many games, multimedia applications and dictionaries in Debian and has
been introduced since some users might want to access the raw data without
installing the program or because the program can be run without the data
itself, making it optional.
Similar situations occur when dealing with libraries: generally these get
installed since packages containing applications depend on them. When the
application-package is purged, the library-package might stay on the system.
Or: when the application-package no longer depends upon e.g. libdb4.2, but
upon libdb4.3, the libdb4.2 package might stay when the application-package is
upgraded.
In these cases, `foo-data' doesn't depend on `foo', so when you remove the
`foo' package it will not get automatically removed by most package management
tools. The same holds true for the library packages. This is necessary to
avoid circular dependencies. If you use aptitude
(see aptitude, Section 7.1.3) as your package management tool
it will, however, track automatically installed packages and remove them when
no packages remain that need them in your system.