Erfahrungen mit dem Upgrade auf Debian 12 (Bookworm)

von Frank Rocholl am Donnerstag, 27. Juli 2023

Seit dem 10.06.2023 ist nun Debian 12 die stabile Debian Distribution. Ich möchte in einem lebenden Dokumente beschreiben was funktioniert hat und auch was nicht mehr funktioniert (wenn etwas nicht mehr funktioniert, so muß das nicht unbedingt an Debian, sondern kann auch ein meiner Mißkonfiguration liegen.)

Aktuell habe ich > 20 Rechner auf Debian 12 geupdated

Allgemeines Vorgehen

Die Vorgehensweise ist detailliert in der offiziellen Debian Dokumentation beschrieben.

Ich habe mich zum großen Teil daran gehalten.

Zuerst alle Nicht-Libraries deinstallieren (mit apt purge), die man nicht explizit selbst installiert hat.

apt-forktracer  |sort | grep -v ^lib | egrep -v "net.downloadhelper.coapp|signal-desktop|zoom"

In meinem Falle war das z.B.:

matrix-mirage (0.6.4~dfsg+~hsluv1.0.0-4)
python3-matrix-nio (0.16.0-1)

Wenn einem die Ausgabe gefällt kann man eingeben:

apt purge $(apt-forktracer  |sort | grep -v ^lib | egrep -v "net.downloadhelper.coapp|signal-desktop|zoom" | awk '{print $1 " "}')

Dann Deinstallation der Libraries nach Augenmaß

apt purge $(apt-forktracer  |sort | grep  ^lib  |awk '{print $1 " "}')

Wenn einem das Ergebnis gefällt 'y' drücken.

Pakete, die nicht mehr installiert sind und deren Config noch enthalten ist, können gelöscht werden.

dpkg -l | awk '/^rc/ { print $2 }'
apt purge $(dpkg -l | awk '/^rc/ { print $2 }')

Wenn einem das Ergebnis gefällt 'y' drücken.

Dann Deinstallation der nicht mehr benötigten Pakete

apt autoremove 

Wenn einem das Ergebnis gefällt 'y' drücken.

Nach dieser Vorbereitung kann man mit dem eigentlichen Update fortfahren. Die /etc/apt/sources.list ändern:

sed  -i 's/bullseye/bookworm/g' /etc/apt/sources.list
sed  -i 's/non-free/non-free-firmware/g' /etc/apt/sources.list

Dann der Dreiklang

apt update 
apt upgrade --without-new-pkgs

Wenn einem das Ergebnis gefällt 'y' drücken.

  apt full-upgrade

Wenn einem das Ergebnis gefällt 'y' drücken.

Nach dem Reboot sollte man noch ein bisschen aufräumen, um für das nächste Upgrade vorbereitet zu sein

apt autoremove
apt-forktracer  |sort | grep -v ^lib | egrep -v "net.downloadhelper.coapp|signal-desktop|zoom"
apt purge $(apt-forktracer  |sort | grep -v ^lib | egrep -v "net.downloadhelper.coapp|signal-desktop|zoom" | awk '{print $1 " "}')
apt autoremove

dpkg -l | awk '/^rc/ { print $2 }'
    apt purge $(dpkg -l | awk '/^rc/ { print $2 }')

fertig.

Was klappt ohne Nacharbeiten

Folgende Programme/Pakte wurden nach dem Upgrade getestet und liefen ohne Beanstandung konfiguriert weiter:

Was klappt mit kleinen Nacharbeiten

TeVii Technology Ltd. DVB-S2 S660

Nach Installation der Firmware ist diese TV-Karte unter Debian 11 lauffähig. Die Firmware Dateien dvb-fe-ds3000.fw und dvb-usb-s660.fw findet man im Git-Repository: https://github.com/OpenELEC/dvb-firmware/tree/master/firmware/. Diese sind einfach in das Verzeichnis: /lib/firmware/ zu kopieren.

Leider ist die Karte mit dem Standard Debian 12 Kernel (aktuell 6.1.0-12-amd64) nicht mehr lauffähig. Man erhält folgenden Fehler:

root@musix:~# dmesg  |grep DVB
[    2.752010] usb 2-1.1: Product: DVBS2BOX
[    7.431405] dvbdev: DVB: registering new adapter (TeVii S660 USB)
[    8.013135] DVB: Unable to find symbol ds3000_attach()

Hier handelt es sich anscheinend um einen BUG im Kernel (https://lore.kernel.org/lkml/2023090719-virtuous-snowflake-d015@gregkh/). Dieser ist in einer neueren Kernel Version behoben.

Es kann sinnvoll sein den Kernel auf einer anderen Maschine mit genügend Festplattenspeicher und einer schnellen CPU zu kompilieren und daraus ein Paket für das Zielsystem zu bauen. Die Schritte dazu sind detailliert unter BuildADebianKernelPackage und Chapter 4. Common kernel-related tasks beschrieben.

Folgende Schritte habe ich ausgeführt:

root@bookworm03:/usr/src
tar xvaf linux-6.5.5.tar.xz # Sourcen von kernel.org
apt-get install build-essential
apt-get build-dep linux
cd linux-6.5.5
cp /boot/config-6.1.0-12-amd64  .config
make oldconfig # Alle Fragen im Default
export MAKEFLAGS=-j$(nproc)
make bindeb-pkg

Transferiert man diesen Kernel auf das Zielsystem und installiert ihn mit apt install ist die Karte wieder lauffähig.

root@musix:~# dmesg |grep DVB
[    2.384082] usb 2-1.2: Product: DVBS2BOX
[    4.718138] dvbdev: DVB: registering new adapter (TeVii S660 USB)
[    5.036477] usb 2-1.2: DVB: registering adapter 0 frontend 0 (Montage Technology DS3000)..

Was klappt (noch) nicht

Kleine Nachkonfiguration

Wer lieber vertikal gestapelte Workspaces mag, wie sie unter Debian 11 Standard waren, kann diese auch unter Debian 12 wiederherstellen.

apt install gnome-shell-extension-vertical-overview

über die gnome-extensions-app kann die Option "Vertical Overview (Bring back vertically stacked workspaces."

3rd Party software

Nexcloud 25.0.13

Nach dem Upgrade auf Debian 12 meldet die Nextcloud-Installation, dass diese Version nicht mit PHP 8.2 lauffähig ist. In die Datei lib/versioncheck.php im Nextcloud-DOCUMENT_ROOT kann jedoch die benötigte Version geändert werden ((PHP_VERSION_ID >= 80300 statt PHP_VERSION_ID >= 80200). Danach kann problemlos auf Version 27.x.x geupated werden.

Links