I was upgrading my server which is hosted by large provider from Debian etch to the current stable version lenny. And I was again amazed how simple upgrading a whole box can be with Debian. It seriously was a blast. A couple of questions about touched configurations, a bit of waiting and all was happily done.

At least I thought it was.

As usual I started doing the upgrade – even though I should have known better – at about 11 p.m. which I though would give ample time to finish up and go to bed. Well, it just was a good time to upgrade, traffic on the site was low, all services where not in use, so I was happy to not disturb too many people. And the best part was: I seriously was done at about half past twelve, spending most of the time doing some readjusting of the exim configuration after the upgrade. I seriously doubt that any other non-debian based system would have given me such a fast a smooth upgrade path. After verifying everything worked, I was eager to test – as a last thing before hopping into bed – if the server was still coming up without a glitch after a reboot/power-loss.

After giving ample time for the server to come up again, I tried to remote ssh to it. And got nothing but timeouts. Which was the point where I slightly started to panic. I immediately started thinking about kernel failures, data loss, mbr corruption, … Oh the horror.

Lucky me, my hoster does provide terminal access even from remote, so I could check if it was disaster or if it was “just” connectivity – missing module in the new kernel or something similar. To make a long story short – somehow the dhcp client got deinstalled during the upgrade! D’oh! And of course I did not have the installation package locally. Chicken and egg problem, right? How should I fix the network connection without getting the dhcpclient package via the network connection. But trying the usual gateways like .1 or .254 via static routes did not seem to work out so well…

Fortunately I did find the correct settings for 1&1 (which are a bit exotic) eventually – so for anybody having the same problem here they are:


iface eth0 inet static
address 212.227.xxx.xxx
netmask 255.255.255.255
network 212.227.xxx.xxx
broadcast 212.227.xxx.xxx
up /sbin/route add -net 10.255.255.1 netmask 255.255.255.255 dev eth0
up /sbin/route add default gw 10.255.255.1

Substitute all the 212.227.xxx.xxx with your server address.

After setting the static interface information, reinstalling the dhcp client was not a bit of a problem. But how in hell could I have missed that the upgrade uninstalled such a vital package?
In the end I thought “All’s well that ends well” and went to bed around 3 in the morning. Though one question remains: Will I be wiser in choosing the time to start an upgrade next time? Why do I seriously doubt that? :)