Upgrade von Debian 5 (Lenny) auf Debian 6 (Squeeze)

Debian 6.0.0 wurde am 6. Februar 2011 veröffentlicht und mit Citrix XenServer Featurepack 1, welcher im Januar erschienen ist, wird Debian 6 (Squeeze) unterstützt. Nach dem Upgrade meines Citrix XenServers auf Citrix XenServer 5.6 Featurepack 1 sind jetzt die VMs mit dem Upgrade von Debian 5 (Lenny) auf Debian 6 (Squeeze) dran.

Ich fragte mich, wie upgrade ich mein Debian 5 (Lenny) denn eigentlich richtig auf Debian 6 (Squeeze)? Ich wurde schnell fündig. Debian stellt eine sehr deteillierte Anleitung für das Upgrade zur Verfügung:? Upgrade von Debian 5.0 (Lenny). Der Beitrag orientiert sich darum an dieser Anleitung.

Der folgende Beitrag ist nicht die perfekte Anleitung wie man Debian 5 (Lenny) auf Debian 6 (Squeeze) upgraded, denn jedes System ist anders und es können beim Upgrade je nachdem unterschiedliche Probleme entstehen. Um das Ganze zu vereinheitlichen habe ich Debian 5 (Lenny) frisch auf meinem Citrix XenServer installiert und upgrade es in diesem Beitrag auf Debian 6 (Squeeze). Das Upgrade funktioniert bei einem 0815 System nach diesem Beitrag.

In der Anleitung von Debian wird zum Upgrade apt-get anstatt aptitude empfohlen.

Inhalt

Vorarbeiten
Systemstatus prüfen
Aufzeichnung starten
Quellen anpassen
Minimales System Upgrade
Upgrade des Systems
System aufräumen
Schlusswort

Vorarbeiten

Vom System sollte unbedingt ein Backup erstellt werden. Dabei habe ich einfach die Verzeichnisse /etc, /var, /root, /home und die Datenpartitionen gesichert. Bei einer Neuinstallation könnte ich so das System wieder zum Laufen bekommen.

Das Paket splashy macht Probleme beim Upgrade und sollte darum vor dem Upgrade entfernt werden mit

apt-get purge splashy

Systemstatus prüfen

Das System sollte vor dem Upgrade auf dem aktuellsten Stand sein. Also noch kurz Debian 5 (Lenny) aktualisieren

apt-get update apt-get upgrade Reading package lists... Done Building dependency tree Reading state information... Done 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Prüfen, ob fehlerhaft installierte Packete vorhanden sind

dpkg --audit

Prüfen, ob es Packete gibt die auf hold gesetzt sind. Diese sollten vor dem Upgrade entfernt werden.

dpkg --get-selections | grep hold

Aufzeichnung starten

Vor dem Upgrade kann man mit

~/upgrade-squeeze.time -a ~/upgrade-squeeze.script

jede Ausgabe auf der Konsole in eine Datei umleiten. Dies hilft später bei der Fehleranalyse und das komplette Upgrade ist an jeder Stelle nachvollziehbar.

Quellen anpassen

In der Datei /etc/apt/sources.list müssen die alten Quellen auskommentiert und die neuen Quellen hinzugefügt werden. Die alte /etc/apt/sources.list sieht so aus:

# deb http://ftp.ch.debian.org/debian/ lenny main deb http://ftp.ch.debian.org/debian/ lenny main deb-src http://ftp.ch.debian.org/debian/ lenny main deb http://security.debian.org/ lenny/updates main deb-src http://security.debian.org/ lenny/updates main deb http://volatile.debian.org/debian-volatile lenny/volatile main deb-src http://volatile.debian.org/debian-volatile lenny/volatile main

Die neue /etc/apt/sources.list sieht so aus:

# deb http://ftp.ch.debian.org/debian/ lenny main # deb http://ftp.ch.debian.org/debian/ lenny main # deb-src http://ftp.ch.debian.org/debian/ lenny main # deb http://security.debian.org/ lenny/updates main # deb-src http://security.debian.org/ lenny/updates main # deb http://volatile.debian.org/debian-volatile lenny/volatile main # deb-src http://volatile.debian.org/debian-volatile lenny/volatile main deb http://ftp.ch.debian.org/debian/ squeeze main deb-src http://ftp.ch.debian.org/debian/ squeeze main deb http://security.debian.org/ squeeze/updates main deb-src http://security.debian.org/ squeeze/updates main

Debian 6 (Squeeze) ist auf http://volatile.debian.org/debian-volatile/dists/ nicht vorhanden, wesshalb ich diese Quelle auch auskommentiert habe.

Die Liste der neuen Packete aktualisieren

apt-get update Get:1 http://ftp.ch.debian.org squeeze Release.gpg [1671B] Ign http://ftp.ch.debian.org squeeze/main Translation-en_US Get:2 http://ftp.ch.debian.org squeeze Release [69.3kB] Get:3 http://security.debian.org squeeze/updates Release.gpg [835B] Ign http://security.debian.org squeeze/updates/main Translation-en_US Get:4 http://security.debian.org squeeze/updates Release [38.4kB] Get:5 http://ftp.ch.debian.org squeeze/main Packages [8631kB] Get:6 http://security.debian.org squeeze/updates/main Packages [26.2kB] Get:7 http://security.debian.org squeeze/updates/main Sources [8049B] Get:8 http://ftp.ch.debian.org squeeze/main Sources [4822kB] Fetched 13.6MB in 5s (2389kB/s) Reading package lists... Done

Wenn alle Quellen schön durchlaufen sind die Quellen ok. Erscheint bei einer Quelle ein Fehler muss diese Quelle noch korrigiert werden.

Prüfen, ob genügend Speicherplatz für das Upgrade zur Verfügung steht

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: ... 207 upgraded, 64 newly installed, 2 to remove and 0 not upgraded. Need to get 139MB of archives. After this operation, 168MB of additional disk space will be used. E: Trivial Only specified but this is not a trivial operation.

Minimales System Upgrade

Das minimale System Upgrade durchführen

apt-get upgrade

Den aktuellen Kernel ausgeben

uname -r 2.6.26-2-686-bigmem

Den neuen Kernel suchen

apt-cache search linux-image-2.6 linux-headers-2.6.32-5-486 - Header files for Linux 2.6.32-5-486 linux-headers-2.6.32-5-686-bigmem - Header files for Linux 2.6.32-5-686-bigmem linux-headers-2.6.32-5-686 - Header files for Linux 2.6.32-5-686 linux-headers-2.6.32-5-amd64 - Header files for Linux 2.6.32-5-amd64 linux-headers-2.6.32-5-openvz-686 - Header files for Linux 2.6.32-5-openvz-686 linux-headers-2.6.32-5-vserver-686-bigmem - Header files for Linux 2.6.32-5-vserver-686-bigmem linux-headers-2.6.32-5-vserver-686 - Header files for Linux 2.6.32-5-vserver-686 linux-headers-2.6.32-5-xen-686 - Header files for Linux 2.6.32-5-xen-686 linux-image-2.6.32-5-486 - Linux 2.6.32 for old PCs linux-image-2.6.32-5-686-bigmem-dbg - Debugging infos for Linux 2.6.32-5-686-bigmem linux-image-2.6.32-5-686-bigmem - Linux 2.6.32 for PCs with 4GB+ RAM linux-image-2.6.32-5-686 - Linux 2.6.32 for modern PCs linux-image-2.6.32-5-amd64 - Linux 2.6.32 for 64-bit PCs linux-image-2.6.32-5-openvz-686-dbg - Debugging infos for Linux 2.6.32-5-openvz-686 linux-image-2.6.32-5-openvz-686 - Linux 2.6.32 for modern PCs, OpenVZ support linux-image-2.6.32-5-vserver-686-bigmem-dbg - Debugging infos for Linux 2.6.32-5-vserver-686-bigmem linux-image-2.6.32-5-vserver-686-bigmem - Linux 2.6.32 for PCs with 4GB+ RAM, Linux-VServer support linux-image-2.6.32-5-vserver-686 - Linux 2.6.32 for modern PCs, Linux-VServer support linux-image-2.6.32-5-xen-686-dbg - Debugging infos for Linux 2.6.32-5-xen-686 linux-image-2.6.32-5-xen-686 - Linux 2.6.32 for modern PCs, Xen dom0 support linux-image-2.6-486 - Linux 2.6 for old PCs (meta-package) linux-image-2.6-686-bigmem - Linux 2.6 for PCs with 4GB+ RAM (meta-package) linux-image-2.6-686 - Linux 2.6 for modern PCs (meta-package) linux-image-2.6-amd64 - Linux 2.6 for 64-bit PCs (meta-package) linux-image-2.6-openvz-686 - Linux 2.6 for modern PCs (meta-package), OpenVZ support linux-image-2.6-vserver-686-bigmem - Linux 2.6 for PCs with 4GB+ RAM (meta-package), Linux-VServer support linux-image-2.6-vserver-686 - Linux 2.6 for modern PCs (meta-package), Linux-VServer support linux-image-2.6-xen-686 - Linux 2.6 for modern PCs (meta-package), Xen dom0 support linux-image-2.6.26-2-686-bigmem - Linux 2.6.26 image on PPro/Celeron/PII/PIII/P4

Neuen Kernel installieren

apt-get install linux-image-2.6.32-5-686-bigmem

Das neue udev Packet installieren

apt-get install udev

Das System muss jetzt neugestartet werden. Nach einem Reboot ist der neue Kernel installiert

uname -r 2.6.32-5-686-bigmem

Upgrade des Systems

Das vollständige System Upgrade durchführen

apt-get dist-upgrade

Grub 2 in den MBR installieren

upgrade-from-grub-legacy rm -f /boot/grub/menu.lst*

Führt man diese beiden Befehl nicht aus, befindet sich meines Wissens immer noch Grub 1 im MBR und das System kann nicht mehr booten. Dies führt im Citrix XenServer zu dieser Fehlermeldung

Using to parse /grub/menu.lst - Traceback (most recent call last): - File "/usr/bin/pygrub", line 746, in ? - raise RuntimeError, "Unable to find partition containing kernel" - RuntimeError: Unable to find partition containing kernel

System aufräumen

Nicht mehr benötigte Packete entfernen

apt-get autoremove Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: libbind9-50 libisccc50 libisccfg50 liblwres50 x11-common 0 upgraded, 0 newly installed, 5 to remove and 0 not upgraded. After this operation, 1,069 kB disk space will be freed. Do you want to continue [Y/n]? Y

Schlusswort

Das Upgrade war erfolgreich und meine VMs sind jetzt auf Debian 6 (Squeeze) aktualisiert. Wenn ihr 100% sicher gehen wollt, dass nichts schief geht, lest euch die Anleitung von Debian durch: Upgrade von Debian 5.0 (Lenny).

Habt ihr das Upgrade auf Debian 6 (Squeeze) schon gewagt?

8 Antworten
  1. Silvan
    Silvan says:

    Ja das stimmt, danke für die Info. Natürlich habe ich nicht alles gelesen und schreibe hier auch nicht alles hin, das wäre ja sonst eine 1:1 Kopie von Debian …

  2. Michaela Flemming
    Michaela Flemming says:

    Sehr schön beschrieben und absolut korrekt – so wird ein saubers Update mit ordentlicher Vorarbeit durchgeführt. Sehr angenehm bei Debian das ich seit 7 Jahren noch nie ein Problem bei einem Systemupgrade hatte (ganz im Gegensatz zu Suse, dass jedes mal Probleme gemacht hat, bis hin zur Neuinstallation).

  3. Silvan
    Silvan says:

    Danke für die Rückmeldung zum Blogbeitrag. Mit dieser Vorgehensweise konnte ich bis jetzt Debian ohne Probleme upgraden. Hehe, ja eine Neuinstallation ist dann wohl das Beste. Ich selbst benutze aber kein Suse, sondern vorwiegend Ubuntu oder Debian.

  4. Michael
    Michael says:

    Bei den Schritten

    apt-get dist-upgrade

    Grub 2 in den MBR installieren

    upgrade-from-grub-legacy
    rm -f /boot/grub/menu.lst*

    mache ich irgendetwas falsch – ich kriege immer die besagte Fehlermeldung danach und kann das Problem irgendwie nicht eingrenzen.. Eine Idee?

    Danke!

  5. Silvan
    Silvan says:

    Das ist eine VM auf einem Citrix XenServer oder eine physikalische Maschine? Ich hoffe es ist kein produktiver Server ;-). Es liegt am Bootloader. Sieh mal hier. Wenn das Problem noch weiter da ist, schreib einfach nochmals einen Kommentar und wir sehen es uns an. Gruss Silvan.

  6. lousek
    lousek says:

    Sali sali,

    Sollte die Zeile:
    apt-get install linux-headers-2.6.32-5-686-bigmem
    nicht
    apt-get install linux-image-2.6.32-5-686-bigmem
    heissen?

    LG
    lousek

  7. Silvan
    Silvan says:

    Hm ja stimmt, im offiziellen Howto von Debian gibts nichts mit headers ^^. Danke, ist angepasst. Lg. Silvan

Hinterlassen Sie einen Kommentar

Wollen Sie an der Diskussion teilnehmen?
Wir freuen uns über ihren Beitrag!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *