Debian Squeeze auf Jessie
TIL Ein Upgrade von Debian Squeeze (6) auf Jessie (8) ohne Umweg über Wheezy (7) ist möglich, aber mit Schmerzen verbunden.
TL;DR: Eine Neuinstallation geht in der Regel einfacher. Falls man es trotzdem probieren will, dann sollte man an ein Backup denken und einigermaßen wissen, wie man mit Dependency-Problemen bei der Paketinstallation umzugehen hat.
Der Anfang ist wie üblich:
$ apt-get update
$ apt-get upgrade
$ apt-get dist-upgrade
Dann in /etc/apt/sources.list
jedes 'squeeze' auf 'jessie' ändern, 'backports' und 'squeeze-lts' entfernen.
Anschließend geht der Spaß los... zunächst läuft es noch wie gewohnt:
$ apt-get update
$ apt-get upgrade
$ apt-get dist-upgrade
Irgendwann wird es dann notwendig, mime-support_3.58_all.deb
zu patchen:
$ dpkg-deb -x /var/cache/apt/archives/mime-support_3.58_all.deb mime-support_3.58_all
$ dpkg-deb -e /var/cache/apt/archives/mime-support_3.58_all.deb mime-support_3.58_all/DEBIAN
$ sed -i -e 's/interest-noawait/interest/g' mime-support_3.58_all/DEBIAN/triggers
$ dpkg-deb -b mime-support_3.58_all mime-support_3.58_all.deb
$ dpkg -i mime-support_3.58_all.deb
Ein paar mal bricht die Installation ab, dann kommt man mit dpkg --configure -a
und apt-get install -f
weiter und kann anschließend mit apt-get upgrade
bzw. apt-get dist-upgrade
fortfahren. Das Paket nagios-plugins-contrib
musste ich vollständig entfernen, um ein Dependency-Problem zu lösen - am Ende kann man es jedoch wieder neu installieren.
Wenn man noch auf dem Originalkernel arbeitet und nicht auf einem zurückportierten, dann will udev außerdem irgendwann zu seinem Glück gezwungen werden. Es warnt vehement davor, weil das System dadurch nicht mehr hochfahren wird; zumindest nicht, solange man den Kernel noch nicht aktualisiert hat:
$ touch /etc/udev/kernel-upgrade
In dem Fall am Ende unbedingt kontrollieren, ob auch der 3.16er-Kernel installiert wurde bzw. ihn nachinstallieren:
$ apt-get install linux-image-amd64 linux-headers-amd64
Schließlich noch die verwaisten Pakete kontrollieren:
$ aptitude search ?obsolete
und falls keine Ausnahmen drin sind entfernen:
$ aptitude remove ?obsolete
Alles ohne Gewähr!