Cruft and the joy of a New Install
I rebuild my machine once a year, with a fresh OS installation. I did this as a Windows user, and now under Linux too. Some reasons for this:
- I like the performance of stripped down machine, and the "new car smell" of a clean box is a cheap thrill.
- It's the only way I've found to solve the cruft problem.
- Installing Gentoo is a great way to learn about OS bootstrapping, and kernel configuration.
- I can put off real work for many hours.
To facilitate this vanity, I've got several partitions:
- / on 10G
- /usr on 10G
- /home on 15G
- 15G - temp or spare
- 50G for data - code projects, movies, etc.
Installing a new Gentoo on the spare partition means that I can transiton asynchronously, with my old install still runnable until I'm comfortable "flipping the switch".
The problem of Cruft
No OS has solved the problem of Cruft buildup, and I'm not sure it's solvable. Cruft takes several forms:
- Package-managed software installed but no longer used.
- Package-managed software with side-by-side upgrades. Think of the JVM - I have to upgrade to 1.6, but now 1.4 and 1.5 are still on the disk.
- Software installed outside of the package-management system.
- User data (/home, /usr/src, etc)
Old software
Yes, software can be uninstalled, but is it really? If my package manager installs 10 library dependencies to a program, and then I uninstall the program, the 10 libraries remain. Gentoo provides a "dependency cleansing" command, but it carries enough warnings that I'm loathe to use it, and rightly so. What if it detects that a library isn't used, but really it's used by something I installed outside of the package manager? I've broken my software.
A new install removes all this uncertainty, and I get the latest version of everything too.
User data
Sure, I could go through every file in /home and evaluate its worth. But I won't. Treat that data like the stuff in your garage - box it up (an archive/reference partition), and after a year or so of not looking at it, haul it to the curb.
Feeling fresh
I haven't rebuilt my wife's Windows box for five years. Logging in, I'm haunted by a slow performance, a nearly full disk, and every programmer's dread - my old code! (If it doesn't hurt to look at your own five-year-old code, then you've stopped learning). Computing on that machine isn't, and couldn't be, enjoyable.
The final solution
Thanks for letting me rationalize the hours I spend re-inatalling my OS periodically. I look forward, in a month or so, to having a completely new machine, with nothing on it except what I use today. Remember to always keep a spare partition for just such an occasion.
I always get funny looks when I confess this compulsion. Are there others like me out there, who get off on a clean install? Please leave a comment, I'd like to hear your experiences.