Mastodon katzenjens' Technik-Blog: Update von Debian 11 bullseye auf Debian 12 bookworm Mastodon

10.08.2024

Update von Debian 11 bullseye auf Debian 12 bookworm

Im Prinzip ganz einfach, wenn es da nicht einige Fallstricke gäbe. Ich bin über einige gestolpert. Und es gibt sicherlich noch andere. Ich versuche hier mal halbwegs systematisch den Vorgang, so wie ich es letztendlich geschafft habe, zu dokumentieren.

Vorbereitung, System auf den letzten Stand aktualisieren:

Vollbackup des kompletten Systems anlegen. Bei VServern kann man bei vielen Anbietern einen Snapshot anlegen. Angsthasen (wie ich) exportieren ihn auch gleich. 

Dann eine Paketliste des alten Systems erstellen und sichern. Es werden Pakete fehlen, welche nachinstalliert werden müssen.

apt list --installed > apt_liste.txt

Danach geht es weiter...

apt update && apt full-upgrade -y
reboot

Wer noch zurückgehaltene Pakete hat, sollte sie freigeben oder sich Gedanken drüber machen, was eine Alternative sein soll. Die Gefahr, das etwas völlig im Eimer geht, ist akut.

apt-mark showhold
apt-mark unhold [Paketname]

Nun die kompletten Paketquellen auf bookworm umstellen

sed -i'.bak' 's/bullseye/bookworm/g' /etc/apt/sources.list

Und nochmal

apt update

Dabei die Ausgabe überprüfen, ob alle Quellen wirklich erreichbar sind! Wenn nicht, korrigieren und wiederholen.

Wenn es bis hierhin fehlerfrei durchgelaufen ist, kommt der Moment, wo aktiv von bullseye auf bookworm umgeschaltet wird. Es gibt kein Weg zurück. Ausser man hat ein Backup.

apt dist-upgrade
reboot

Nacharbeiten... wo ist denn der Nameserver?

Und jetzt fällt man in die erste Falle! Das System fährt zwar hoffentlich hoch, aber der Nameserver ist offline! Warum? Darum! Ja, Scheisse sowas. Wie will man nun das Paket "systemd-resolved" installieren? also die /etc/hosts temporär editieren.

nano /etc/hosts

dort hinzufügen:

146.75.118.132  deb.debian.org
151.101.66.132  security.debian.org

Schließen und ausprobieren, ob wenigstens die Debian-Quellen funktionieren. Die restlichen logischerweise noch nicht. Die aktuellen Adressen von deb.debian.org und security.debian.org von einem anderen Rechner greifen. Kann nicht garantieren, dass obige Adressen aktuell bleiben.

apt update
apt install systemd-resolved

Nun ausprobieren, ob es läuft mit

apt update && apt upgrade

Weitere Nacharbeiten, fehlende Pakete finden und installieren.

Es sollte das Grundsystem soweit laufen. Was jetzt noch fehlt, da meldet sich das betreffende Programm sicherlich. Nun kommt die Liste der installierten Pakete genau richtig. Fehlerprotokolle lesen hilft ebenfalls. Bei mir z.B. wurden zwei notwendige Python3-Extensions nicht installiert. Also händisch installiert

apt install python3-dateutil python3-defusedxml

Bei anderen können sicherlich auch Lücken vorhanden sein. Zusätzlich hatte ich dann noch ein Problem, eine Perl Lib für postgresql zu installieren. Letztenendes habe ich dann direkt die .deb gezogen und installiert.

wget https://ftp.uni-bayreuth.de/debian/pool/main/libd/libdbd-pg-perl/libdbd-pg-perl_3.16.0-2_amd64.deb

dpkg -i libdbd-pg-perl_3.16.0-2_amd64.deb

Mal sehen, was ich noch so finde. Aber momentan scheint zumindest bei diesem Server soweit alles abgedeckt zu sein. Ohne Gewähr. Weitere Literatur zum Thema hier...


Update: Natürlich lief noch nicht alles. Nach dem letzten Neustart funktionierte meine kleine Mastodon Instanz nicht mehr. Zum einen musste ich im Apache von mod-php nach fpm umswitchen. Das hätte ich eh schon machen sollen, weil mod-php ist Bäh. 

Leider wollte die Mastodon Instanz trotzdem nicht hochkommen. Angeblich wäre da was mit einer Lib nicht in Ordnung. Aber ein herzhaftes 

bundle install --force
yarn install --frozen-lockfile

unter dem Mastodon-User, gefolgt vom Restart der Mastodon Services unter root hat geholfen. Mal sehen, was mit der Zeit noch so passiert. 😏


Keine Kommentare:

Kommentar veröffentlichen