Ubuntu 11.04 Server: Automatisches Upgrade von 10.10

Ubuntu LogoSeit kurzem ist die neue Version "Natty Narwhal" (11.04) von Ubuntu verfügbar. Wie gewohnt gibt es eine Desktop-Version und eine Server-Version. Da ich persönlich nur die Server-Version einsetze, kann ich nichts über das Updateverhalten der Desktop-Version sagen aber zumindest in der Server-Version liegt meiner Beobachtung nach etwas im Argen.

Ich habe inzwischen mehreren Server das Update von 10.10 auf 11.04 mit dem internen Tool "do-release-upgrade" spendiert und bei allen festgestellt, dass die Maschinen danach nicht mehr sauber booten. Das mag daran liegen, dass es VMware VSphere-Clients sind oder an sonstigen seltsamen Begebenheiten aber wenn ein Problem öfter auftritt scheint es einen Grund zu haben.

Der Grund, den ich finden konnte ist, dass die Grub-Konfiguration nicht sauber erstellt wird und entweder einfach defekt ist oder aber nicht mehr zu einer neu installierten Version passt. Eine Abhilfe ist dabei nach dem ersten Reboot nach dem Update nicht mehr so einfach, da von einer Rettungs-CD gebootet werden muss um das Problem zu beheben. Das dürfte bei den meisten Servern nicht so einfach möglich sein.

Achtung: Die folgende Anleitung ist nur für erfahrene Administratoren von Serversystemen gedacht! Wenn Ihr selber einen Server administriert und hier an irgend einer Stelle unsicher seid: Lasst es! Dann kann euch ein Systemadministrator mit mehr Erfahrung sicher helfen!

Hier aber mein Weg das Problem zu beheben. Wer den Neustart noch nicht ausgeführt hat (die letzte Frage des "do-release-upgrade" Scripts mit "N" beantworten) kann einfach zu Schritt 5 springen. Alle anderen müssen sich leider mit der Rettungs-CD herumplagen: (Sollten Abweichungen von der Standard-Installation bestehen gehe ich davon aus, dass Ihr das selbst berücksichtigen könnt.)

  1. Das System von einer Linux-CD (ich nehme dafür eine Gentoo-Minimal-CD) booten
  2. Die primäre Partition der Festplatte einmounten:
    $ mkdir /mnt/myhdd
    $ mount /dev/sda1 /mnt/myhdd
  3. Das /dev-Dateisystem einmounten:
    $ mount -o bind /dev/ /mnt/myhdd/dev/
  4. In das installierte Linux chrooten:
    $ chroot /mnt/myhdd /bin/bash
  5. Die Grub-Konfiguration neu generieren lassen:
    $ grub-mkconfig > /boot/grub/grub.cfg
  6. Grub sicherheitshalber auf der primären Festplatte updaten lassen:
    $ grub-install /dev/sda

Nach einem Reboot sollte jetzt alles wieder laufen. Natürlich sind alle Angaben ohne Gewähr aber zumindest half mir das die Probleme zu lösen und dafür zu sorgen, dass die Systeme wieder laufen.