Debian Squeeze Vorabversion

Die neue stabile Debian-Version Debian 6.0 Squeeze steht kurz vor seiner Veröffentlichung. Am 6. August gab es das Feature-Freeze, was bedeutet, dass keine neuen Funktionen mehr zur jetzigen Lenny-Testing hinzukommen und nur noch Bugs behoben werden. Es kann sich also nur noch um wenige Wochen handeln, bis Squeeze die offizielle stablie Version des Debian-Projektes wird. Das ist ein guter Zeitpunkt, um die ersten Systeme auf die neue Version anzuheben. Erfolgreich getestet habe ich das Upgrade mit einem Server (Apache, MySQL, Postfix, Zabbix, …) sowie zwei Desktopsystemen (1x Mischung aus Server/Desktop, 1x EeePC 901A).

Um ein bestehendes System oder eine Lenny-Neuinstallation auf Squeeze anzuheben, sind nur wenige Schritte erforderlich, die ich im Folgenden aufführe.

/etc/apt/sources.list

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

/etc/apt/preferences

Package: *
Pin: release a=stable
Pin-Priority: 400

Package: *
Pin: release a=testing
Pin-Priority: 600

Sobald Squeeze den Status “stable” hat, muss die preferences so geändert werden, dass stable die Prio 600 und bei Bedarf die nächste testing die Prio 400 erhält. Außerdem kann dann aus dem “lenny” in der sources.list ein “testing” oder “sid” gemacht werden. Zusätzlich sollte dann unbedingt auch wieder ein Eintrag für Security-Updates erfolgen.

Anschließend erfolgen die üblichen Schritte:

# apt-get update && apt-get upgrade

Danach müssen diverse Pakete manuell auf die neuen Versionen aktualisiert werden. Eine der wichtigsten Änderungen ist die Kernelversion 2.6.32 (Bei Lenny 2.6.26). Aktuell muss für AMD64-Systeme folgender Kernel verwendet werden:

# apt-get install linux-image-2.6.32-5-amd64

Für i386-Installationen hilft:

# apt-get install linux-image-2.6-686

Für Desktopsysteme sind oft folgende Pakete relevant:

# apt-get install gnome grub dpkg mutt ntpdate cron gnome-commander
 openoffice.org xserver-xorg apt samba-common gcc

Nach jedem Upgrade via apt-get install ist es sinnvoll, nachzuprüfen, ob automatische upgrades möglich sind, deshalb immer wieder die übliche Zeile wiederholen:

# apt-get update && apt-get upgrade

Nachdem man nunmehr die neue Kernelversion installiert hat, die abhängigkeitsbasierte Startreihenfolge eingerichtet ist und auch der neue Grub (Nachfolger von Grub-Legacy) installiert ist, sollte man das System neu starten. Damit läuft jetzt auch der 2.6.32er Kernel (überprüfen!) und die älteren Versionen können weg:

# apt-get purge linux-image-2.6.2*

Das spart Speicherplatz und führt zu mehr Übersicht im nunmehr mit einem Hintergrundbild aufgepeppten Grubmenü. Wer auch die Pakete linux-headers-2.6.26 und linux-source-2.6.26 installiert hat, kannn natürlich auch diese entfernen.
Da für das frische udev-Paket der 2.6.32er Kernel erforderlich ist und dieser jetzt läuft, ist jetzt ein guter Zeitpunkt für ein

# apt-get install udev

Im folgenden Menü muss das Bootlaufwerk ausgewählt werden (nachträglich via upgrade-from-grub-legacy möglich). Damit werden eine Reihe von Änderungen aktiviert, erkennbar an den UUIDs, über welche z.B. in der /etc/fstab die beim Booten zu mountenden Partitionen angegeben werden und auch der Grub verwendet nunmehr die UUIDs zum identifizieren der richtigen Partitionen. Die UUIDs werden unter Ubuntu schon seit einiger Zeit eingesetzt, ab Squeeze also auch bei Debian. Von der unschönen Syntax abgesehen wird so dafür gesorgt, dass zusätzlich an den Rechner angeschlossene Laufwerke (HDDs, Speicherkarten, USB-Sticks) nicht die Bootreihenfolge verwirbeln können. Beispielsweise taucht dieses Problem beim EeePC mit Debian Lenny auf. Bootet man diesen mit zusätzlich eingestecktem USB-Stick oder einer Speicherkarte, so wird die interne Festplatte/SSD nicht mehr als /dev/sda sondern als /dev/sdb registriert und der Bootvorgang schlägt fehl.
Hinweis: bei Software-RAIDs (erkennbar am md0/md1 im Devicenamen) funktioniert die Auswahl nicht im laufenden Betrieb, hierzu muss eine der Platten ausgehangen und das RAID beendet werden. Anschließend muss man selbiges für die andere Platte tun und erst dann kann man den Rechner wieder mit beiden Platten im RAID hochfahren. Vielleicht gibt es dafür irgendwann mal eine schönere Lösung, denn gerade im Servereinsatz ist das doch etwas übel und ohne Remote-Management-Konsole nicht machbar.

Hat man die Grub-/udev-Hürde übersprungen, würde ich empfehlen, nochmals zu booten, um zu überprüfen, ob auch wirklich alles funktioniert.

Danach ist es Zeit, endlich den ultimativen Aktualisierungsbefehl abzusetzen:

# apt-get dist-upgrade

Das hätte man auch gleich machen können, allerdings schätze ich es enorm, ein Upgrade schrittweise zu machen, um bei Problemen nicht an unzähligen Stellen suchen zu müssen. Aktualisiert man, so wie oben beschrieben, immer nur bestimmte Pakete oder Paketgruppen, dann ist es wesentlich leichter, Fehlkonfigurationen zu identifizieren und zu beheben. Entsprechend würde ich auch beim dist-upgrade empfehlen, nochmals zu schauen, ob da nicht doch noch das ein oder andere Paket dabei ist, was man lieber einzeln aktualisieren möchte.

Insgesamt hatte ich auf den drei von mir bereits auf Squeeze aktualisierten Maschinen nur wenige Pakete, bei denen ich die vorhandenen Konfigurationen mit den vom Paketbetreuer vorgeschlagenen vergleichen musste und letztlich gab es nur auf dem Server einige wenige Konfigurationen, die ich nicht durch die Standardversion ersetzen konnte.
Aktuell ist nur ein einziges Paket für mich noch nicht aktualisierbar: Es ist auf dem Server der Postgrey-Dienst, der als Spamfilter für den Postfix arbeitet. Die Meldung beim Aktualisieren lautet Postgrey nimmt Verbindungen nun an Port 10023 entgegen (und nicht 60000). Dies bringt sein Verhalten näher an die Voreinstellungen der Programmautoren. Sie müssen seine Konfiguration entsprechend anpassen (normalerweise /etc/postfix/main.cf). Die Konfiguration ist bei mir bedingt durch eine ispCP-Installation etwas komplizierter. Der Port wird zwar in der main.cf definiert, allerdings wird diese von ispCP verwaltet und trotz Änderung des Ports lässt sich Postgrey nicht aktualisieren. Unter anderem erhält man hierbei die Fehlermeldung db4.7_upgrade: Program version 4.7 doesn’t match environment version 4.8
db4.7_upgrade: DB_ENV->open: DB_VERSION_MISMATCH: Database environment version mismatch
dpkg: Fehler beim Bearbeiten von /var/cache/apt/archives/postgrey_1.32-5_all.deb (–unpack):
Unterprozess neues pre-installation-Skript gab den Fehlerwert 1 zurück

Man könnte jetzt eine Weile versuchen, eine Lösung dafür zu finden oder einfach darauf warten, ob sich das nicht mit einer neueren Version von alleine erledigt.

Ganz allgemein betrachtet ist das Upgrade von Debian Lenny auf Squeeze in den meisten Fällen recht unproblematisch. Kleine Stolpersteine gibt es immer, so auch hier.

3 Reaktionen zu “Debian Squeeze Vorabversion”

  1. Adalbert

    Danke, das war sehr hilfreich, Grüße Adalbert

  2. admin

    Bereits anderenorts erwähnt hier auch noch mal:
    Seit dem 06. Februar 2011 ist Debian Squeeze 6.0 das stable-Release von Debian GNU/Linux. Wer upgraden möchte, sollte darauf achten, seine evtl. umgestellten Release-Prioritäten so zu ändern, dass nicht ungewollt das jetzige testing für Pakete genutzt wird, die man momentan noch auf Squeeze (also dem testing bis Anfang 2011) halten möchte.

  3. admin

    Oben wurde bereits erwähnt, dass ab Squeeze UUIDs verwendet werden. Beim Umkopieren von Partitionen ist es deshalb jetzt nötig, die UUID der alten Partition durch die der neuen zu ersetzen. Die UUIDs der am System angeschlossenen Laufwerke erhält man mit dem Befehl

    #blkid

    Die so ermittelte UUID kopiert man anschließend als Ersatz für die alte in die Datei

    /etc/fstab

Einen Kommentar schreiben