Heute war es wieder einmal so weit. Ich wollte/musste eine Debian Installation auf die neueste Major Version hochziehen (upgraden). Da ich eigentlich immer gleich vorgehe (es sei mal dahingestellt, ob es die richtige Vorgehensweise ist) möchte ich hier kurz festhalten wie ich das mache.

Vorbereitungen

Als erstes überprüfe ich mit folgendem Befehl ob 3rd-party Pakete installiert sind die nach dem Upgrade obsolet wurden, wenn welche dabei sind, die benötigt werden kopiere ich die relevanten Konfigurationsdateien.

aptitude search '~o'

Anschließend wird ein Minimal Upgrade durchgeführt.

apt-get update
apt-get upgrade
apt-get dist-upgrade

Wenn alles sauber durchgeführt wurde wird noch eine Datenbankintegritäts- und Konsistenzprüfung durchgeführt.

dpkg -C

Nun wird noch kurz geprüft ob Pakete zurückgehalten worden sind

apt-mark showhold

Diese werden nicht upgegradet, sollten Pakete vorhanden sein die upgedadet werden müssen, muss dies expliziert gemacht werden.

Repository auf Stretch umstellen

Nun muss das Repository umgestellt werden. Nachdem hier eigentlich immer nur der Codename ausgetauscht werden muss kann das ganz einfach via sed durchgeführt werden.

sed -i 's/jessie/stretch/g' /etc/apt/sources.list

Upgrade durchführen

apt-get update
apt-get upgrade

Ich persönlich habe es zwar noch nicht gemacht, wäre aber sicherlich nicht falsch. Es gibt die Möglichkeit ein Upgrade mit folgendem Befehl zu simulieren. Hierbei wird aufgelistet welsche Pakete aktualisiert werden.

apt list --upgradable

Kernel Update

Bevor ich das dist-upgrade durchführe, starte ich noch manuell das Kernel Update. Ich hatte hierbei mal Probleme weshalb ich das Update des Kernel separat mache.

# installierte Kernel Version herausfinden
dpkt -l | grep linux-image

# Meta Paket installieren
apt-get install linux-image-x.x-amd64

x.x muss mit der aktuellen Version des Kernels ausgetauscht werden.

Dist Upgrade durchführen

Nun noch das Dist Upgrade durchführen

apt-get dist-upgrade

Anschließend den Server durchstarten und im Syslog prüfen ob Fehler vorhanden sind. Es ist auch nicht falsch noch mals nach obsoleten Paketen zu suchen.

aptitude search '~o'

Aufräumarbeiten

Ganz am Schluss mache ich noch schnell den Frühjahrsputz

apt-get clean
apt-get autoclean
apt-get autoremove

Gerade beim autoremove wird doch einiges an Festplattenspeicher frei, da die ganzen, nicht mehr benötigten, Kernel Versionen entfernt werden.