migrating to aptitiude

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 M.

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'.