This afternoon, I finally decided to upgrade my main server from Debian etch to lenny. Lenny is still testing, but is nearing release. This server is colocated with Core Networks, and I have no physical or console access to it. (Well, I can request the IP KVM if needed.) It also hadn’t been rebooted in over 200 days.
The actual upgrade itself was incredibly smooth. For those of you that don’t use Debian, you might be interested to know that you can upgrade a running system in-place. A reboot is not even strictly necessary, though you won’t get kernel updates without it.
There was a bit of config file tweaking for Exim and Apache, a small bit for PHP, and that was it for the entire thing.
EXCEPT for the two things that always really bug me: Horde/IMP and Ruby/Rails. Horde has the most annoying upgrade process of any web app I’ve used lately. You first go through reading two different upgrade docs. To upgrade imp, you pipe some SQL commands into a PostgreSQL psql process (only they only document the mysql command line). Ditto for horde. But for Turba, the address book, you have to run a PHP program from the command line. Only it doesn’t work from any place in your PATH, so you have to divine a location to copy it to, run it from there, hack up the database stuff in it, then remember to delete it.
And that concludes the documented upgrade process. Only — surprise — it’s not done. At this point, you’ll get weird PHP warnings all over your screen. Then you google them, and find you have to log in to the web app as an administrator, and run three different upgrade procedures from within it, each of which requires you to copy and paste a config file to disk.
A far cry from the WordPress single-click upgrade. And this is easier than Horde/IMP upgrades I’ve done in the past.
The other annoying thing is Ruby on Rails. I run one Rails app, Redmine, and it’s always annoying. You’ve got to get all sorts of these gems just right. Today they decided they didn’t like my new PostgreSQL driver for Ruby, but they weren’t exactly obvious about it. Try upgrading the Gems, and — surprise — AFTER they are upgraded, they say that I need a newer rubygems than’s in Debian. Oooookaaayy…. restore gems from backup, google some more, find a patch, apply it, hack for awhile, and finally it works. But I have no idea why.
So, overall, kudos to all the Debian developers for a smooth upgrade process. I hope I can say that about Horde and Rails in the future.
Oh, and by the way, I did reboot the server. It came right up with the new kernel an OS, no problem.
I recently upgraded my Linode from Etch to Lenny without any problems. I use Postfix instead of exim as it always seems to Just Work. Unfortunately I have to run some PHP apps and there was some tweaking I had to do there (I forget what exactly).
“It also hadn’t been rebooted in over 200 days.”
Did you ever do any kernel updates on it?
I run lenny/sid (i.e. unstable) as my server platform. I find it quite reliable and I can also run a lot of recently-released software. I realize a lot of people prefer stable but one can run unstable with good results as well.
Hopefully the Ruby packaging problems will be fixed soon. There has been a good deal of discussion about the ruby debian interface, which mirrors the general ruby linux interface, so the problems with gems and packages are well known. It looks as if there is a renewed impetus to fix this from both the ruby and the debian side, so we’ll see. :)