So last night I decided that I had enough of Safari crashing randomly, and dying completely when I tried to upgrade it. I knew that somewhere along the line something had gone wrong with my system, and it was time to admit that the prudent thing to do was to wipe the system and install a fresh copy of Lion.
Now I had basically been running the same OS install since 2007, which was originally a (short lived) install of Tiger, followed by Leopard once it was released that fall, then Snow Leopard and finally Lion this year. People will say "oh, well, you really should do a fresh install when a new OS comes out, so that..." and then their train of thought goes off into some cargo-cult chicken-bone-rune casting mumbo jumbo, or at least the technological equivalent thereof.
The thing is, so long as the filesystem itself isn't corrupted, there should be no difference between a freshly installed system and one that had been upgraded from a previous install, no matter how long ago that install was performed. Any deviation therein is nothing less than a failure on the part of the developers, in this case Apple's OS division. And so, to Apple's MacOS release packaging team, I have one thing to say: Son, I am disappoint.
But my disappointment runs deeper than that. You see, on windows there exists a little known utility called "SFC", which stands for "System File Checker". As the name implies, it runs a checksum over all (or most) of the important system files and can replace any that deviate from expectations. As far as I can tell, though, there's no equivalent to this on MacOS X.
The sad thing is it would be dead simple to integrate into Disk Utility. There's already a framework in place, the ever so lovely "repair permissions" routine that seems to be the first line of action in every OS X tech support script. It would, in theory, be quite simple to extend this to record and verify checksums on all the vital files, and then, at the very least, indicate which files are damaged if not replace them automatically.
In the mean time, though, I'm at least glad that nuking the drive from orbit, reinstalling, and migrating the data, apps and settings back from my time machine drive is at least a reasonably seamless process.