Debian Lenny auf Squeeze Upgrade Anleitung

2010-11-28 - kostaki 13 Kommentare »

Vor ein paar Tagen hat das Debian Release Team dazu aufgerufen den Debian Installer und die Upgradefunktion zu testen. Da ich gerade eh einen neuen Testserver installieren wollte, dachte ich mir warum nicht gleich Debian Squezze mit testen. Es handelt sich um einen Hetzner EQ8 der als MySQL Server dienen soll. Es läuft außerdem ein Lighttpd für ein paar Webservices, sowie PHP auf ihm.
Ich habe den Server erst sauber mit Debian Lenny installiert und ein paar Tage benutzt um zu sehen ob alles anständig läuft. Dann habe ich das Upgrade auf Debian Squeeze ausgeführt. Hier nun mein Vorgehen + meine Notizen für das wirkliche Upgrade der Produktion Server die ja auch bald anstehen werden.

Vorbereitungen

  • User über das Upgrade Informieren, nicht das irgend wer auf den Server angewiesen ist. Außerdem wird der Kernel geupdatet, also steht ein Reboot an.
  • Backups der Daten und Configs anlegen. Sollte klar sein.
  • Recovery Prozess vorbereiten (hoffentlich nicht nötig)
  • Den Upgradeprocess in einer Screen Console starten, wenn man ihn per SSH ausführt
  • Paketmanager aptitude vorbereiten. Aptitude im Visual Modus starten (einfach aptitude eingeben und enter) und die Taste g (Go) drücken. Wenn die Meldung "No packages are scheduled to be installed, removed, or upgraded" kommt ist alles okay. Sollten hier Aktionen ausgegeben werden, sollte man diese vor dem Update auflösen/erledigen.
  • Die Update Release Notes lesen! Dort stehen sehr viele nützliche Tipps, besonders für spezielle Konfigurationen!
  • Hat man noch IDE Platten, sollte man unbedingt Punkt 4.8 in den Release Notes lesen!

Sourcelist anpassen

Zum Upgrade muss man die apt sources.list anpassen. Ich würde immer den Releasenamen benutzen und nicht stable/testing/unstable. Wenn man dort z.B. stable zu stehen hat und Squeeze zu stable wird, kann man versehentlich ein Upgrade ausführen. Benutzt man aber die Namen, kann das nicht passieren. Man öffnet also die Datei und ersetzt alle Stellen mit stable/lenny durch squeeze.

$ nano /etc/apt/sources.list
deb     ftp://mirror.hetzner.de/debian/packages  squeeze          main contrib non-free
deb     ftp://mirror.hetzner.de/debian/security  squeeze/updates  main contrib non-free

deb     http://ftp.de.debian.org/debian  squeeze  main non-free contrib
deb-src http://ftp.de.debian.org/debian  squeeze  main non-free contrib

deb     http://security.debian.org/  squeeze/updates  main contrib non-free
deb-src http://security.debian.org/  squeeze/updates  main contrib non-free

Upgrade ausführen

Wenn man noch nicht als root angemeldet ist, macht man dies nun. Wie erwähnt sollte man das Upgrade in einer Screen Console starten. Ein weiterer guter Tipp aus den Release Notes ist das man die Session aufzeichnen sollte um später sehen zu können was passiert ist. Da wandern so viele Sachen über den Bildschirm, da kann man nicht alles sofort wahrnehmen. Das macht man mit script (man script). Die Aufzeichnung und die Screen Console beendet man mit exit.

$ screen
$ script -t 2>~/upgrade-squeeze.time -a ~/upgrade-squeeze.script

In den Release Notes steht das man eher apt-get als aptitude benutzen sollte. Leider steht nicht dabei warum das so ist, aber nun gut. The upgrade process for other releases recommended the use of aptitude for the upgrade. This tool is not recommended for upgrades from lenny to squeeze. Als nächstes holt man sich die aktuellen Paketlisten für Squeeze:

$ apt-get update

An dieser Stelle wird empfohlen zu überprüfen ob man überhaupt genügend Platz auf der Platte hat für das Update. Das macht man mit folgendem Befehl:

$ apt-get -o APT::Get::Trivial-Only=true dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be REMOVED:
...
The following NEW packages will be installed:
...
The following packages will be upgraded:
...
232 upgraded, 79 newly installed, 4 to remove and 0 not upgraded.
Need to get 184MB of archives.
After this operation, 147MB of additional disk space will be used.
E: Trivial Only specified but this is not a trivial operation.

Man bekommt auch gleich einen Überblick was alles neu installiert, entfernt oder geupdatet wird. Sollte der Befehl einen Fehler auswerfen, wird empfohlen das Upgrade zu teilen in kleiner Schritte 4.5.3. Make sure you have sufficient space for the upgrade. Kann eigentlich nicht schaden, also mache ich es wie dort beschrieben auch wenn ich keine Fehler bekommen habe.

Zuerst ein einfaches Upgrade. Man bekommt eine Menge Fragen welche Version der Config man installieren möchte. Es empfiehlt sich die Unterschiede anzusehen und dann zu entscheiden. Normalerweise behält man seine alte Version, aber bei solch großen Versionssprüngen, kann es Sinn machen die neue Version zu installieren und dann seine eigenen Anpassungen noch einmal von Hand Einzupflegen. Es werden natürlich von allen Dateien Backups angelegt. Ich mache mir dabei Notizen von den Veränderungen um später nichts zu vergessen. Hier lohnt sich das Sessionlog auch, da dort auch die Diffs angezeigt werden.

$ apt-get upgrade

Dann wird der Kernel geupdatet. Bei mir ist es der amd64 Kernel. Sofort im Anschluss installiert man die neue udev Version, damit es zu keinen Fehlern kommt mit dem neuen Kernel und dem alten udev.

$ apt-get install linux-image-2.6-amd64
$ apt-get install udev

Jetzt heißt es Daumendrücken, den ein Reboot steht an.

$ shutdown -r now

Der Server ist hoffentlich nach ein paar Minuten wieder da, ansonsten steht ein Besuch im Rescuesystem an. Bei meinem Test, hat alles geklappt und ich konnte das Squeeze dist-upgrade abschließen. Nicht vergessen die Screen Console und das Script wieder zu starten.

$ screen
$ script -t 2>~/upgrade-squeeze.time -a ~/upgrade-squeeze.script
$ apt-get dist-upgrade

Man wird gefragt ob man die Standard Shell auf Dash wechseln möchte und es wird mitgeteilt das GRUB Lagacy (0.97) auf GRUB 2 aktualisiert wird. Alle Fragen werden gut beschrieben, so das man die für sich richtige Wahl treffen kann. Mögliche Fehler und Lösungen werden im Abschnitt Possible issues during upgrade behandelt. Hat man noch IDE Festplatten im Server könnte das passieren: System boot hangs on Waiting for root file system, da aus /dev/hdx nun /dev/sdx wurde.

Das System ist nun erfolgreich auf Squeeze aktualisiert.

Abschließende Arbeiten

Das Squeeze installiert ist, heißt natürlich nicht das man auch fertig ist. Zum testen ob mit dem Bootloader alles läuft, wird erstmal ein Reboot durchgeführt und dann das bootlog studiert. Hat alles mit dem Reboot geklappt, kann man den GRUB 2 Bootloader in den MBR schreiben und dann wieder rebooten um es zu testen.

$ shutdown -r now
$ nano /var/log/dmesg
$ upgrade-from-grub-legacy
$ shutdown -r now

Dann sollte man Obsolete packages entfernen.

$ apt-get autoremove
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
...
0 upgraded, 0 newly installed, 24 to remove and 0 not upgraded.
After this operation, 64.4 MB disk space will be freed.

Jetzt arbeitet man noch die Notizen ab die man sich gemacht hat und testet seine Anwendungen um zu sehen ob es hier Probleme gibt. An irgend einer Stelle hat er mir nen apache installiert. MySQL lief auch nicht mehr, aber das sind ja nur Kleinigkeiten.

$ aptitude purge apache2-mpm-prefork libapache2-mod-php5
$ aptitude install mysql-server

Mein Muninserver der noch auf Lenny läuft, konnte den Squeeze Server nicht updaten. Ich musste dort erst die rrd Datenbanken des Squeeze Hosts löschen und neu erstellen lassen. Das MySQL Update von 5.0 auf 5.1 ist auch noch ein größerer Schuh. Mehr dazu im Artikel Debian Squeeze: Was gibt es neues? Was hat sich verändert?

Related Links

  1. 13 Kommentare

  2. Acid
    schrieb am 27.01.2011 um 13:50 Uhr

    Bei mir hat alles geklappt! Super Tutorial!!

  3. FraggDieb
    schrieb am 10.02.2011 um 01:00 Uhr

    Hi.. danke hat wunderbar geklappt… zu MySQL
    Einfach “skip-db” auskommentieren und nochmal updaten/installieren… dann läuft auch mysql.. :)

    Booten verlief ohne Probleme, benutze jedoch nen Software-Raid, war da beim Grub ins MBR schreiben schon ängstlich.. einfach beide HDDs + Raid markiert.. läuft :D

  4. Flo
    schrieb am 10.02.2011 um 02:01 Uhr

    Hallo,

    erst einmal danke für das super Tutorial!

    Ich habe nur ein Problem mit GRUB2:

    Nach dem mich die Installation fragt auf welches Laufwerk ich GRUB2 installieren möchte, krige ich folgenden Fehler:
    /usr/sbin/grub-setup: warn: This msdos-style partition label has no post-MBR gap; embedding won’t be possible!.
    /usr/sbin/grub-setup: error: embedding is not possible, but this is required when the root device is on a RAID array or LVM volume.

    Dieser taucht bei jedem der der auswählbaren Laufwerke auf.

    Hat jemand eine Idee?

    mfg Flo

  5. kostaki
    schrieb am 10.02.2011 um 09:13 Uhr

    Hm nein Sorry. Das hatte ich noch nicht. Ich hab aber mal die Fehlermeldung gegoogled und du scheinst nicht allein zu sein.

    http://forums.debian.net/viewtopic.php?f=10&t=50604

    Im GRUB Wiki gibt es auch etwas, aber ich denke mal nicht das du VMWare einsetzt oder?

    https://wiki.archlinux.org/index.php/GRUB2#msdos-style_error_message

  6. Flo
    schrieb am 10.02.2011 um 13:59 Uhr

    Danke für den Link, den habe ich gestern in meiner 3 stündigen Suche auch gefunden :D
    Unterschied ist nur, dass er direkt nach meinem obigen Fehler abbricht, er erstellt nicht mal ne grub.cfg…

    VMware nutze ich nicht, ich habe den Server gestern endlich von S4Y gekriegt, und wollte direkt auf Lenny upgraden, aber solange es nur grub ist, welches sich nicht aktuallisieren lässt, kann ich das durchaus verschmerzen ;)

    Danke trotzdem!

    mfg Flo

  7. Lonesome Walker
    schrieb am 21.03.2011 um 14:50 Uhr

    Das da:

    apt-get autoremove

    sollte man vielleicht nicht nur mit JA abnicken, bei mir wollte er ProFTP deinstallieren, dann noch ein paar Libs…

  8. kostaki
    schrieb am 23.03.2011 um 09:37 Uhr

    Hm ist ja seltsam. Hat bei mir bisher immer gepasst.

  9. Felix
    schrieb am 31.08.2011 um 03:21 Uhr

    Danke erstmal für das Tutorial, bei mir hat es – zumindest weitesgehend – problemlos geklappt.

    Allerdings eine Frage zum Kernel:
    Startet der Server dann automatisch auf dem neuesten Kernel?
    Bei mir ist es scheinbar so, dass er vorher bereits mit Kernel 2.6.32-5 aus den Lenny-Backports bestückt war und diesen Kernel nutzt der Server nun auch weiterhin, obwohl auch der Kernel aus den Squeeze-Quellen vorhanden ist.

  10. siyman
    schrieb am 12.01.2012 um 20:19 Uhr

    Hey,

    vielen Dank für dein Tutorial, hat mir mein Upgrade meines vServers ein ganzes Stück vereinfacht und lief reibungslos.
    Was beim vServer beachtet werden sollte: kein Kernelupgrade, da dieser vom Serverbetreiber zur Verfügung gestellt wird, jedoch muss udev trotzdem upgegradet werden.

    Übrigens musste ich mysql-server neuinstallieren sowie den apache2; kann aber auch an der ISPCP-Installation gelegen haben.

  11. Ron
    schrieb am 22.01.2012 um 18:41 Uhr

    Wenn man direkt an der Console arbeitet, kann man screen weglassen.

    Der zweite Aufruf von “script -t 2>~/upgrade-squeeze.time -a ~/upgrade-squeeze.script” würde die upgrade-squeeze2.time vom ersten Teil überschreiben, daher empfiehlt es sich, besser andere Dateiname zu nehmen z.B. “script -t 2>~/upgrade-squeeze2.time -a ~/upgrade-squeeze2.script”

  12. Klaus
    schrieb am 05.03.2012 um 10:31 Uhr

    Vor dem ersten Reboot musste ich auf einem alten Hetzner Server wegen der Realtak NIC noch das Paket firmware-realtek installieren.

    Probleme gibt es insbesondere bei Anwendungen, die auf der BerkeleyDB basieren, bspw. Cyrus IMAP/POP3 Server. Hier ist Handarbeit beim Konvertieren angesagt.

  13. MW
    schrieb am 28.05.2012 um 09:34 Uhr

    @Klaus:

    > Probleme gibt es insbesondere bei Anwendungen,
    > die auf der BerkeleyDB basieren, bspw. Cyrus
    > IMAP/POP3 Server. Hier ist Handarbeit beim
    > Konvertieren angesagt.

    siehe z.B. hier:
    http://mein.homelinux.com/blog/187-cyrus-datenbank-nach-lucid-upgrade.html

  1. Trackback(s)

  2. Sep 7, 2012:[Debian] Upgrade Debian 5 (Lenny) zu Debian 6 (Squeeze) | Maffert.net

Kommentar schreiben

*

*