After reading an article about using aptitude properly, I decided that it's time to make the switch from
apt-get. Sure, on some really low memory systems, running
aptitude isn't an option, but for most machines, keeping track of which packages were installed as dependancies really helps keep a system trimmed.
I didn't like the way that the author did it, I opted for a variant of one of the comments:
aptitude markauto '~i!~M!~nbuild-essential!~nsubversion!~nlibncurses5-dev!~npython' \ '(~E|~prequired|~sdevel|~sinterpreters|~slibdevel|~slibs|~soldlibs|~sperl|~spython|~sshells)'
While rather a monster command, it does a good job of selecting things that were probably installed as dependancies. If you see anything in the list of things to be removed that you want to keep, you just add in an
!~npackagename. Then after that, I run
aptitude, limit to
~i!~M (installed, but not automatically) and mark everything that should be a dependancy with
Then, it's simply a case of only ever using
aptitude, and your system will be kept nice and clean :-)
Aptitude search patterns are really powerful, instead of having to do the whole
dpkg -l | grep ^r type mission, you can just do
aptitude search '~c'.