For the last decade, I have been having a problem with how I use Linux. Of course, it was a problem with Windows and Macs too, so I didn’t feel I had the right to bitch. Now, things have changed.
Computers are very useful tools. Most of us customize our machines - we have particular applications we like: backgrounds, disk layouts, encryption schemes, and so on. It takes awhile to turn a “vanilla” installation into something you feel is your own.
Not long after you setup your masterpiece, you’ll have to upgrade it. It doesn’t matter what OS you’re running. You’ll balance the new tools and enhancements vs. the time it takes to upgrade your machine until the time comes when it’s finally worth it to upgrade. This process is annoying and time consuming, and for the last few years I’ve been avoiding it for some good reasons:
- On my work machine, it takes forever to setup a development environment. It’s hard to justify spending a few days doing this when you’re very busy.
- On my personal machines, I generally have a lot of data to backup and re-organize. Not to mention some customizations that just take a long time to re-implement.
There are obvious reasons why this problem hasn’t been solved. It’s difficult to replace the core of a system when a user has done all sorts of neat tweaks and changes. Some versions of some programs might not be supported anymore. And a great many programs all work together and depend on each other. It’s a daunting task to figure out the upgrade paths.
On Friday, I wanted to upgrade my work machine from Ubuntu 7.10 to 8.04. There are some tweaks and fixes I wanted to try. This would normally involve the following:
- Backup everything I care about.
- Wipe the machine, install the new OS with the partition scheme I want.
- Install all the apps I had and restore data from backup. Re-import everything, and make life happy again.
That’s a pain. With Ubuntu, in the “Software Updates” screen, there was a button to upgrade to 8.04. I backed up my personal settings, and gave it a shot. After the program had downloaded all the files it needed; it installed them, resolved dependencies, and told me about things that changed. Any files that it needed to upgrade that I had changed, it let me choose what to do. And then it restarted.
It came up, perfectly. I can hear a few people applauding the success. Maybe one or two people shouting out in excitement.
That’s not too bad, though. I mean, I didn’t really have anything too crazy on that machine.
Yesterday, I tried the laptop. This machine was completely customized. With startup scripts that automatically decrypt partitions, custom applications, and all sorts of fun things. Not only that, it was sitting at Ubuntu 6.10.
I went from 6.10 to 7.04. Then from 7.04 to 7.10. And, finally, from 7.10 to 8.04. It was absolutely flawless.
After each upgrade, I could see all the new tools and functionality. During each upgrade, I could use the laptop and continue to play around - until it was time to reboot.
Today, I jumped on my server - I wanted to test out some web development fun. Everything was ridiculously out of date, and I couldn’t install the software. I needed to upgrade the OS, but it was running FC4. This means I’d need to spend some serious time to upgrade it. It was annoying. My expectations had been reset. What used to be normal, was now a pain in the ass.
I used to think the only real way to accomplish steady OS upgrades was to treat the OS as an image, with an exposed API for applications. Much like a firmware image. After thinking about this solution from Ubuntu, I now realise how wrong that was. This is a much more flexible and elegant solution. It thinks forward to solve a problem you have to deal with no matter what - how every application on a machine works together - which versions play well with others, and how to migrate them all.
This is a huge time saver. It’s a daunting task that’s been completely trivialized by Ubuntu. Congrats to the Ubuntu team for this major success - I can only hope the rest of the major OSes follow with such a well done implementation.
2 Comments so far
Leave a comment
I saw your work setup after the upgrade. I gets even better. Some customizations, like dual monitors, actually work better after the upgrade! Amazing!
I’ve heard that the Mac OS X upgrade is just as easy, but I have no personal experience. Any SE readers done that? How does it rate?
Comment by Jeff 05.26.08 @ 7:54 amI recently got a new mac. I easily moved all of my data and applications over via firewire. When I booted the new machine, it was as though I was still using the old machine. It was creepy.
Not long after, I got Leopard, and I installed that. Once again, all of my customized OS settings were preserved. Again, it was just like my old setup, only with the new added Leopard features (like spaces, etc).
I have felt the upgrade pain with Windows countless times. With Linux, it’s been ridiculous. I would rather just use my old version, thank you. Upgrading to new machines/OS with Apple machines was so clean, so seamless, that I was actually skeptical that I hadn’t done it right.
Comment by Brent 05.29.08 @ 4:00 pmLeave a comment
Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>
Syndicate