Seit Anfang Mai 2013 gibt es ja nun die neue stabile Debian Distribution Wheezy.
Natürlich freut man sich auch immer darauf, dass eine neue Version kommt, weil das System im Lauf der Jahre generell immer besser geworden ist.
Aber spätestens ein paar Wochen danach wird auch jedem klar, es hilft nichts, man “muss” auch upgraden um ein Jahr nach dem Release weiterhin Security Updates zu erhalten, weil ab dann die Oldstable – in dem Fall Debian Squeeze – nicht mehr unterstützt wird.
Das Upgrade sollte man auch nicht zu lange aufschieben, weil man sich sonst Anfang nächsten Jahres nur unnötig selbst unter Druck setzt.
Ab einer gewissen Anzahl Server ist natürlich der Aufwand alle komplett neu zu installieren, und das im laufenden Serverbetrieb, trotz aller Installations Automatisierung zuviel, zumal es auch immer wieder genug Spezialfälle gibt.
Wenn man sich sicher ist, dass man die alten Konfigurationsfiles der Pakete behalten möchte, und um die Downtime der einzelnen Server möglichst kurz zu halten und nicht ständig unnötige Fragen beantworten zu müssen, kann man dann auch ein “unattended-upgrade” machen.
Falls man mehrere Server vom gleichen Typ hat empfiehlt es sich allerdings zunächst mindestens ein “normales” interaktives Upgrade zu machen.
Deshalb an dieser Stelle ein Beispiel, wie man so ein unattended-upgrade durchführen kann:
1. Zuerst alle vorhandenen Updates für Debian Squeeze einspielen, damit das System vor dem Distributionsupgrade auf einem aktuellen Stand ist.
2. Die Debian Wheezy Quellen in die /etc/apt/sources.list eintragen. Falls man noch weitere Listen im Verzeichnis /etc/apt/sources.list.d hat, müssen diese noch zusätzlich angepasst werden. Man kann die Änderung auch automatisieren mit:
sed -i 's/squeeze/wheezy/g' /etc/apt/sources.list
und/oder
sed -i 's/squeeze/wheezy/g' /etc/apt/sources.list.d/*.list
3. Das eigentliche Distributions Upgrade kann man dann starten mit:
export DEBIAN_FRONTEND=noninteractive
yes '' | apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
yes '' | apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" dist-upgrade
Das ganze in upgrade und danach erst dist-upgrade aufzuteilen hat den Vorteil, dass man beim “upgrade” noch sieht, ob es gravierende Probleme mit Paketabhängigkeiten gibt, und diese noch fixen kann vor dem abschliessenden endgültigen Distributions Upgrade.
Bisher haben alle Upgrades bei uns gut geklappt. Falls aber die Applikation z.B. wegen dem PHP Versionsupgrade von Squeeze 5.3.3 auf Wheezy 5.4.4 nicht mehr funktioniert, kann man sich immer noch durch ein Downgrade der PHP Version retten, um anschliessend die Fehler vor einem weiteren Upgrade in Ruhe beheben zu können.
Eine entsprechende Anleitung findet man z.B. hier.