Tech Tip: Removing Unnecessary Packages on Debian Systems
The command deborphan can be used to check for unnecessary (orphaned) packages. By default deborphan searches for orphaned libraries, but you can have it search for other types of packages also: data packages, dev packages, etc. by specifying one of its many --guess-* command line options.
If you don't have deborphan installed you can install it via:
$ sudo apt-get install deborphan
Now, to remove all orphaned (library) packages simply run:
$ sudo deborphan | xargs apt-get -y remove purge
To remove all orphaned data packages run:
$ sudo deborphan --guess-dev | xargs apt-get -y remove purge
To see all the orphaned packages on your system run:
$ deborphan --guess-all
The following excerpt comes from the deborphan man page and relates to the --guess-* options:
deborphan can try to guess what packages may not be of much use to you by examining the package's name. It will pretend the package is in the main/libs section, and report it as if it were a library. This method is in no way perfect or even reliable, so beware when using this!
So it's usually a good idea to view the output of deborphan and make sure that it appears reasonable before feeding it to apt-get -y remove purge.