So, endlich habe ich mir mal die Zeit genommen, meinen letzten Debian Squeeze (6) Server auf Debian Wheezy (7) zu heben...das Vorgehen mit Fokus auf die aufgetretenen Probleme findet sich hier in Form kommentierter Links dokumentiert.
Erster Schritt ist natürlich um im Zweifelsfall ein Rollback machen zu können ein vollständiges Backup:
tar -zcvpf /var/backups/full_yymmdd.tar.gz --directory=/ --exclude=proc --exclude=sys --exclude=dev/pts --exclude=var/backups .
Dieses sollte natürlich extern gesichert werden, die einfachste Variante ist scp
scp /var/backups/full_yymmdd.tar.gz user@target:full_yymmdd.tar.gz
Das weitere Vorgehen ist im folgenden Link sehr gut dokumentiert. Für mittels KVM virtualisierte Server fallen die Schritte drei und vier natürlich weg, da diese den Kernel des Hosts mit benutzen.
http://www.sysadminslife.com/linux/howto-upgrade-debian-6-squeeze-zu-debian-7-wheezy/ (Stand 05.03.15 13:20)
Beim Update wird sysklogd deinstalliert und das syslog bleibt leer. Also muss man entweder diesen im Anschluss wieder installieren oder direkt den Wechsel auf rsyslog machen, der seit Debian Wheezy als Default eingesetzt ist.
http://thingybob.de/2013/digital/linux/kein-syslog-mehr-nach-update-auf-debian-wheezy/ (Stand 05.03.15 13:20)
Unter anderem wird PHP geupdated, bei Verwendung der Version aus den offizielen Repos von 5.3 auf 5.4. Wer suhosin einsetzt stellt dann fest, dass dieser Mod nicht mit 5.4 kompatibel ist und deinstalliert wurde. Die Konfigurationsdateien sind aber noch vorhanden und verursachen Fehlermeldungen. Daher sollten diese entfernt werden.
http://blog.strubbl.de/php5-suhosin-nach-dist-upgrade-von-debian-squeeze-auf-wheezy/ (Stand 05.03.15 13:20)
Durch das Update von Python versagen auch die vorher angelegten Sandboxes ihren Dienst - hier hilft einfaches neu anlegen.
http://stackoverflow.com/questions/13194308/importerror-cannot-import-name-urandom (Stand 05.03.15 13:20)
Ansonsten gibt es die üblichen Späßen mit im Rahmen des Updates geänderten Konfigurationsdateien (z.B. ntpd hört auf die öffentliche IP) oder eben nicht geänderten Konfigurationsdateien (z.B. wurde bei Dovecot die Struktur teilweise geändert) fehlenden Paketen (z.B. dovecot-mysql) oder Paketen die man nicht wirklich braucht (z.B. samba, xinetd). Also sollte man ein Auge darauf haben, was alles deinstalliert bzw. installiert wird und ggf. nacharbeiten. Ansonsten bietet sich zum Schluss eine Checkliste an, um zu prüfen, ob die Dienste wieder so laufen, wie das gewünscht ist. In meinem Fall waren folgende Punkte drauf:
- Nur die Benötigten Ports offen?
- Nur die benötigten Dienste laufen?
- Webseiten sind erreichbar?
- Mails versenden & empfangen geht intern wie extern?
- Mails können abgerufen werden?
- Buildbot Master und Slave laufen?
- Alle Datenbanken intakt?
- Crontabs vollständig?
- Backups incl. Replizierung laufen?