Kapitel 5. Dinge, die Sie über Bookworm wissen sollten

Inhaltsverzeichnis

5.1. Upgrade-spezifische Themen für Bookworm
5.1.1. Nicht-freie Firmware in eigenen Archivbereich verschoben
5.1.2. Änderungen an Paketen, die die Systemzeit setzen
5.1.3. Puppet Konfigurationsmanagement-System auf Version 7 aktualisiert
5.1.4. youtube-dl ersetzt durch yt-dlp
5.1.5. Fcitx-Versionen nicht mehr nebeneinander installierbar
5.1.6. MariaDB-Paketnamen enthalten keine Versionsnummern mehr
5.1.7. Änderungen am Protokollsystem
5.1.8. Änderungen in rsyslog betreffen Log-Analyzer wie logcheck
5.1.9. rsyslog erzeugt weniger Logdateien
5.1.10. slapd-Upgrade könnte manuellen Eingriff erfordern
5.1.11. GRUB führt os-prober nicht mehr standardmäßig aus
5.1.12. GNOME bietet reduzierte Barrierefreiheits-Unterstützung für Bildschirmvorlese-Programme
5.1.13. Änderungen an polkit-Konfiguration
5.1.14. Ein merged-/usr-Layout ist jetzt erforderlich
5.1.15. Unsupported upgrades from buster fail on libcrypt1
5.1.16. Dinge, die vor dem Neustart erledigt werden sollten
5.2. Dinge, die nicht auf den Upgrade-Prozess beschränkt sind
5.2.1. Einschränkungen bei der Sicherheitsunterstützung
5.2.2. Python-Interpreter jetzt als extern verwaltet markiert
5.2.3. Limitierte Unterstützung für hardware-beschleunigtes Encoding/Decoding in VLC
5.2.4. systemd-resolved in separates Paket ausgegliedert
5.2.5. systemd-boot in separates Paket ausgegliedert
5.2.6. systemd-journal-remote nutzt nicht mehr GnuTLS
5.2.7. Umfangreiche Änderungen in adduser für Bookworm
5.2.8. Vorhersehbare Namen für Xen-Netzwerkschnittstellen
5.2.9. Änderung in dash bezüglich der Handhabung des Akzents circumflex
5.2.10. netcat-openbsd unterstützt abstrakte Sockets
5.3. Überalterungen und Missbilligungen
5.3.1. Nennenswerte veraltete Pakete
5.3.2. Missbilligte Komponenten für Bookworm
5.4. Bekannte gravierende Fehler

Manchmal haben Änderungen, die in einer neuen Veröffentlichung eingebracht werden, Nebeneffekte, die wir ohne größeren Aufwand nicht vermeiden können, oder dies würde Fehler an anderen Stellen verursachen. Dieses Kapitel dokumentiert die uns bekannten Probleme. Bitte lesen Sie auch die Errata, die relevanten Paketdokumentationen, Fehlerberichte und weitere Informationen in Abschnitt 6.1, „Weitere Lektüre“.

5.1. Upgrade-spezifische Themen für Bookworm

Dieser Abschnitt behandelt Themen, die für ein Upgrade von Bullseye auf Bookworm relevant sind.

5.1.1. Nicht-freie Firmware in eigenen Archivbereich verschoben

Wie in Abschnitt 2.2, „Archivbereiche“ beschrieben, werden Pakete mit nicht-freier Firmware jetzt in einem eigenen dedizierten Archivbereich namens non-free-firmware bereitgestellt. Um sicherzustellen, dass installierte nicht-freie Firmware-Pakete korrekt aktualisiert werden können, sind Änderungen an der APT-Konfiguration empfohlen. Davon ausgehend, dass der Bereich non-free in der APT source-list nur aktiviert wurde, um Firmware zu installieren, empfehlen wir, dass die APT source-list wie folgt geändert wird:

deb https://deb.debian.org/debian bookworm main non-free-firmware

Wenn apt Sie auf dieses Dokument verwiesen hat, können Sie den Hinweis in apt für die Zukunft unterdrücken, indem Sie eine apt.conf(5)-Datei namens /etc/apt/apt.conf.d/no-bookworm-firmware.conf mit folgendem Inhalt anlegen:

APT::Get::Update::SourceListWarnings::NonFreeFirmware "false";

5.1.2. Änderungen an Paketen, die die Systemzeit setzen

Das ntp-Paket, das standardmäßig genutzt wurde, um die Systemzeit mit einem NTP-Server (Network Time Protocol) zu synchronisieren, wurde durch ntpsec ersetzt.

Die meisten Nutzer werden für den Übergang von ntp auf ntpsec keine besonderen Maßnahmen ergreifen müssen.

In Bookworm gibt es auch noch weitere Pakete, die eine ähnliche Funktionalität bieten. Der Debian-Standard ist jetzt systemd-timesyncd, was passend sein kann, wenn Sie als Benutzer lediglich einen ntp-Client benötigen, um die Uhr zu stellen. Bookworm enthält außerdem auch chrony und openntpd, die fortgeschrittene Funktionalitäten bieten, wie z.B. für den Betrieb eines eigenen NTP-Servers.

5.1.3. Puppet Konfigurationsmanagement-System auf Version 7 aktualisiert

Puppet wurde von Version 5 auf 7 aktualisiert, die Puppet-6-Serie wurde dabei komplett übersprungen. Dies zieht größere Änderungen am Puppet-Ecosystem nach sich.

Die klassische Ruby-basierte Applikation Puppet Master 5.5.x wurde von den Originalautoren abgekündigt und ist nicht mehr in Debian verfügbar. Sie wurde durch Puppet Server 7.x ersetzt, der im Paket puppetserver enthalten ist. Dieses Paket wird aufgrund seiner Abhängigkeit vom Übergangspaket puppet-master automatisch installiert.

In einigen Fällen ist Puppet Server ein kompatibler Ersatz für Puppet Master, aber Sie sollten die Konfigurationsdateien unter /etc/puppet/puppetserver kontrollieren, um sicherzustellen, dass die neuen Standardeinstellungen für Ihr Umfeld passen. Insbesondere ist das altbekannte Format für die auth.conf-Datei veraltet; Details finden Sie unter auth.conf documentation.

Die empfohlene Vorgehensweise ist, den Server vor den Clients hochzurüsten. Der Puppet-7-Server ist rückwärts-kompatibel mit älteren Clients; ein Puppet-5-Server kann noch mit hochgerüsteten Agents umgehen, aber es können keine neuen Puppet-7-Agents registriert werden. Wenn Sie also neue Puppet-7-Agents aufsetzen, bevor der Server hochgerüstet ist, können Sie diese Agents nicht zum System hinzufügen.

Das Paket puppet wurde durch puppet-agent ersetzt und ist jetzt lediglich ein Übergangspaket mit dem Zweck, ein sauberes Upgrade sicherzustellen.

Und noch ein Hinweis auf das puppetdb-Paket: dieses wurde in Bullseye entfernt, jetzt aber in Bookworm wieder erneut hinzugefügt.

5.1.4. youtube-dl ersetzt durch yt-dlp

Das populäre Werkzeug youtube-dl, mit dem Videos von einer großen Anzahl von Websites (inklusive, aber nicht beschränkt auf Youtube) heruntergeladen werden können, ist nicht mehr in Debian enthalten. Es wurde stattdessen ersetzt durch durch ein leeres Übergangspaket, welches das Paket yt-dlp als Ersatz installiert. yt-dlp ist eine Abspaltung von youtube-dl, und hier findet aktuell auch die Weiterentwicklung statt.

Es werden keine Wrapper-Programme zwecks Rückwärtskompatibilität bereitgestellt, daher müssen Sie Ihre Skripte und Arbeitsweisen anpassen, um jetzt yt-dlp statt youtube-dl aufzurufen. Die Funktionalität sollte überwiegend identisch sein, allerdings haben sich einige Optionen und Verhaltensweisen geändert. Schauen Sie in yt-dlp's Handbuchseite, wenn Sie Detailinformationen benötigen, und dabei speziell in den Abschnitt Differences in default behavior.

5.1.5. Fcitx-Versionen nicht mehr nebeneinander installierbar

Die Pakete fcitx und fcitx5 stellen die Versionen 4 und 5 des populären Fcitx-Rahmenwerks für Eingabemethoden bereit. Folgend der Empfehlung der Originalautoren können diese nicht mehr zeitgleich auf einem Betriebssystem installiert sein. Benutzer sollten festlegen, welche der beiden Versionen sie behalten möchten, wenn fcitx und fcitx5 parallel installiert sind.

Vor dem Upgrade wird dringend empfohlen, dass alle Pakete der nicht mehr gewünschten Fcitx-Version (fcitx-* für Fcitx 4, und fcitx5-* für Fcitx 5) vollständig vom System entfernt werden. Wenn das Upgrade abgeschlossen ist, sollten Sie im-config erneut ausführen, um die gewünschte Eingabemethode auszuwählen, die jetzt im System verwendet werden soll.

Sie finden weitere Hintergrundinformationen in dieser Ankündigung auf der Mailingliste (geschrieben in vereinfachtem Chinesisch).

5.1.6. MariaDB-Paketnamen enthalten keine Versionsnummern mehr

Anders als in Bullseye, wo die MariaDB-Version im Paketnamen enthalten war (z.B. mariadb-server-10.5 und mariadb-client-10.5), sind die entsprechenden MariaDB-10.11-Paketnamen komplett versionslos (z.B. mariadb-server oder mariadb-client). Die MariaDB-Version ist aber immer noch in den Paketversions-Metadaten ersichtlich.

Es gibt mindestens ein bekanntes Upgrade-Szenario (Bug #1035949), in dem der Übergang zu den versionslosen Paketnamen misslingt: das Ausführen von

apt-get install default-mysql-server

könnte fehlschlagen, wenn mariadb-client-10.5 und die Datei /usr/bin/mariadb-admin darin entfernt wird, bevor der MariaDB server SysV init Dienst einen Shutdown ausgelöst hat, was mariadb-admin nutzt. Der Workaround für dieses Problem ist das Ausführen von

apt upgrade

vor

apt full-upgrade

.

Weitere Informationen über die Paketnamen-Änderungen in MariaDB finden Sie in /usr/share/doc/mariadb-server/NEWS.Debian.gz.

5.1.7. Änderungen am Protokollsystem

Das Paket rsyslog wird auf den meisten Systemen nicht mehr benötigt und Sie können es unter Umständen entfernen.

Viele Programme erzeugen Log-Meldungen, um den Benutzer über die Programmaktivitäten zu informieren. Diese Meldungen können von systemd's journal oder von einem syslog-Daemon wie rsyslog verwaltet werden.

In bullseye wurde rsyslog standardmäßig installiert, und das systemd-Journal war konfiguriert, Log-Meldungen an rsyslog weiterzuleiten, der die Meldungen dann in verschiedene Textdateien wie /var/log/syslog schrieb.

Ab der Veröffentlichung von bookworm wird rsyslog nicht mehr standardmäßig installiert. Wenn Sie rsyslog nicht weiter nutzen möchten, können Sie es nach dem Upgrade als automatisch installiert markieren mit

apt-mark auto rsyslog

und dann wird der Aufruf

apt autoremove

es entfernen, falls möglich. Falls Sie Ihr System früher schon von älteren Debian-Versionen aus hochgerüstet haben, und dabei nicht die Standard-Konfigurationseinstellungen übernommen haben, könnte es sein, dass systemd's journal noch nicht dafür konfiguriert ist, die Meldungen in den nichtflüchtigen Speicher zu schreiben. Instruktionen, um dies zu aktivieren, finden Sie in journald.conf(5).

Wenn Sie entscheiden, sich von rsyslog zu verabschieden, können Sie in Zukunft den Befehl journalctl verwenden, um die Log-Meldungen zu lesen, die in binärem Format unter /var/log/journal abgelegt sind. Zum Beispiel zeigt

journalctl -e

die neuesten Meldungen aus dem Journal an und

journalctl -ef

zeigt neue Meldungen automatisch direkt an, sobald sie herein kommen, vergleichbar zum früheren

tail -f /var/log/syslog

).

5.1.8. Änderungen in rsyslog betreffen Log-Analyzer wie logcheck

rsyslog setzt jetzt standardmäßig auf hoch-präzise Zeitstempel; dies kann andere Programme beeinträchtigen, die die System-Logdateien analysieren. Weitere Informationen darüber, wie Sie diese Einstellung anpassen können, finden Sie in rsyslog.conf(5).

Die Änderung der Zeitstempel könnte es erfordern, dass lokal erstellte Regeln für logcheck angepasst werden. logcheck prüft Meldungen im Systemlog (erstellt von systemd-journald oder rsyslog) anhand einer personalisierbaren Datenbank regulärer Ausdrücke. Regeln aus dieser Datenbank, die auf den Zeitpunkt der Meldung prüfen, müssen an das neue rsyslog-Format angepasst werden. Die Standardregeln aus dem Paket logcheck-database wurden aktualisiert, aber andere, inklusive der von Ihnen selbst erstellten, könnten eine Anpassung erfordern, um das neue Format verarbeiten zu können. In /usr/share/doc/logcheck-database/NEWS.Debian.gz finden Sie ein Skript, das Ihnen hilft, lokale logcheck-Regeln zu aktualisieren.

5.1.9. rsyslog erzeugt weniger Logdateien

rsyslog wurde angepasst in Bezug darauf, welche Logdateien es erstellt, und einige Dateien in /var/log können jetzt eventuell gelöscht werden.

Wenn Sie rsyslog in Zukunft weiter verwenden möchten (siehe Abschnitt 5.1.7, „Änderungen am Protokollsystem“), betrifft Sie eine Änderung, aufgrund derer einige Logdateien in /var/log standardmäßig nicht mehr erzeugt werden. All die Meldungen, die sonst in diese Dateien eingetragen wurden, sind auch in /var/log/syslog zu finden.

Die nicht mehr erzeugten Dateien sind:

  • /var/log/mail.{info,warn,err}

    Diese Dateien enthielten Meldungen vom lokalen Mail Transport Agent (MTA), aufgeteilt nach Prioritäten.

    Da /var/log/mail.log alle Nachrichten bezüglich E-Mail enhält, können diese Dateien (sowie ihre rotierten Entsprechungen) problemlos gelöscht werden. Falls Sie diese Dateien genutzt haben, um Unregelmäßigkeiten aufzuzeichnen und zu überwachen, könnte logcheck ein passender Ersatz sein.

  • /var/log/lpr.log

    Diese Datei enthielt Logmeldungen bezüglich des Druckens. Das Standard-Drucksystem in Debian ist cups, und es verwendet diese Dateien nicht; Sie können die Datei (sowie ihre rotierten Entsprechungen) also vermutlich löschen, außer Sie nutzen ein anderes Drucksystem.

  • /var/log/{messages,debug,daemon.log}

    Diese Dateien (sowie deren rotierte Entsprechungen) können gelöscht werden. Alles, was hier hineingeschrieben wurde, ist auch immer noch in /var/log/syslog.

5.1.10. slapd-Upgrade könnte manuellen Eingriff erfordern

OpenLDAP 2.5 ist ein neues Haupt-Release und enthält mehrere inkompatible Änderungen, die in der Veröffentlichungsankündigung von upstream dokumentiert sind. In Abhängigkeit von der Konfiguration könnte der slapd-Dienst in gestopptem Zustand verbleiben, bis nötige Konfigurationsanpassungen erfolgt sind.

Es folgen einige der inkompatiblen Änderungen:

  • Die slapd-bdb(5) und slapd-hdb(5) Datenbank-Backends wurden entfernt. Falls Sie eins dieser Backends unter Bullseye verwenden, wird dringend empfohlen, auf das slapd-mdb(5)-Backend zu migrieren, bevor Sie auf bookworm hochrüsten.

  • Das slapd-shell(5) Datenbank-Backend wurde entfernt.

  • Das slapo-ppolicy(5) Overlay enthält jetzt sein Schema einkompiliert im Modul. Das alte externe Schema, falls vorhanden, kollidiert jetzt mit dem neuen intrigierten.

  • Das pw-argon2 contrib-Passwortmodul wurde in argon2 umbenannt.

Anweisungen, wie Sie das Upgrade vervollständigen und den slapd-Dienst wieder reaktivieren, finden Sie in /usr/share/doc/slapd/README.Debian.gz. Sie sollten auch die Aktualisierungshinweise von Upstream konsultieren.

5.1.11. GRUB führt os-prober nicht mehr standardmäßig aus

Seit langer Zeit hat grub das os-prober-Paket genutzt, um andere Betriebssyteme auf dem Rechner zu detektieren, so dass Einträge im Boot-Menü für diese Betriebssysteme angelegt werden konnten. Unglücklicherweise kann dies in speziellen Fällen problematisch sein (z.B. wenn virtuelle Gast-Maschinen laufen), und wurde deshalb im neuesten Upstream-Release standardmäßig deaktiviert.

Wenn Sie GRUB nutzen, um Ihr System zu booten und weiterhin Einträge für andere Betriebssysteme im Boot-Menü haben möchten, können Sie diese Standardeinstellung ändern. Entweder ändern Sie die Datei /etc/default/grub, so dass diese die Einstellung GRUB_DISABLE_OS_PROBER=false enthält, und führen update-grub erneut aus, oder Sie nutzen

dpkg-reconfigure <GRUB_PACKAGE>

um diese und einige andere GRUB-Einstellungen auf eine benutzerfreundliche Art anzupassen.

5.1.12. GNOME bietet reduzierte Barrierefreiheits-Unterstützung für Bildschirmvorlese-Programme

Viele GNOME-Applikationen wurden von dem GTK3 Grafik-Toolkit auf GTK4 umgestellt. Leider hat das den Effekt, dass viele Applikationen weniger gut mit einem Bildschirmvorlese-Programm wie orca zu nutzen sind.

Wenn Sie zwingend ein Bildschirmvorlese-Programm benötigen, sollten Sie in Erwägung ziehen, auf eine andere Arbeitsplatzumgebung wie Mate umzusteigen, die eine bessere Funktionalität bezüglich Barrierefreiheit bietet. Sie erledigen das, indem Sie das Paket mate-desktop-environment installieren. Informationen, wie Sie Orca in der Mate-Umgebung verwenden, finden Sie hier.

5.1.13. Änderungen an polkit-Konfiguration

Zwecks Konsistenz mit Upstream und anderen Distributionen hat der polkit-Dienst (früher PolicyKit; erlaubt unprivilegierten Programmen den Zugriff auf privilegierte Systemdienste) die Syntax und den Speicherort der lokalen Policy-Regeln geändert. Sie sollten jetzt lokale Regeln zur Anpassung der Sicherheits-Richtlinien im JavaScript-Format schreiben, und diese in /etc/polkit-1/rules.d/*.rules ablegen. Beispielregeln im neuen Format finden Sie in /usr/share/doc/polkitd/examples/; außerdem enthält polkit(8) nähere Informationen.

Früher konnten Regeln im pkla-Format geschrieben und in Unterverzeichnissen von /etc/polkit-1/localauthority oder /var/lib/polkit-1/localauthority abgelegt werden. Allerdings sollten .pkla-Dateien jetzt als überholt angesehen werden und sie werden nur weiter funktionieren, wenn das Paket polkitd-pkla installiert ist. Dieses Paket wird normalerweise automatisch installiert, wenn Sie auf Bookworm hochrüsten, aber es wird möglicherweise in späteren Debian-Veröffentlichungen nicht mehr enthalten sein, so dass alle lokalen Policy-Regeln in das JavaScript-Format migriert werden müssen.

5.1.14. Ein merged-/usr-Layout ist jetzt erforderlich

Debian hat ein Dateisystem-Layout übernommen, das auch als merged-/usr bekannt ist, und das nicht länger die altbekannten Verzeichnisse /bin, /sbin, /lib enthält, wie auch optionale Varianten davon, z.B. /lib64. In dem neuen Layout werden die alten Verzeichnisse durch symbolische Links auf die entsprechenden Speicherorte /usr/bin, /usr/sbin, /usr/lib und /usr/lib64 ersetzt. Das führt dazu, dass sowohl /bin/bash wie auch /usr/bin/bash beide bash starten.

Für Systeme, die als Buster oder Bullseye installiert wurden, wird es keine Änderungen geben, da dies Dateisystem-Layout in diesen Veröffentlichungen bereits der Standard war. Allerdings wird das alte Layout nicht mehr unterstützt, und Systeme, die es verwenden, werden im Zuge des Upgrades auf Bookworm auf das neue Layout konvertiert.

Die Konvertierung auf das neue Layout sollte für die meisten Benutzer keine Auswirkungen haben. Alle Dateien werden automatisch an ihre neuen Speicherorte verschoben (sogar wenn sie lokal installiert wurden oder aus Paketen stammen, die nicht von Debian bereitgestellt wurden), und hart-codierte Pfade wie /bin/sh werden weiter funktionieren. Es gibt allerdings einige potentielle Probleme:

  • dpkg --search

    wird falsche Antworten ausgeben für Dateien, die an die neuen Speicherorte verschoben wurden:

    dpkg --search /usr/bin/bash

    wird nicht erkennen, dass bash aus einem Paket stammt. (Allerdings funktioniert

    dpkg --search /bin/bash

    wie erwartet.)

  • Lokale Software, die nicht von Debian bereitgestellt wurde, könnte zu dem neuen Layout inkompatibel sein und zum Beispiel davon ausgehen, dass /usr/bin/name und /bin/name unterschiedliche Dateien sind. Dies wird auf Systemen mit merged-/usr nicht mehr unterstützt (inklusive Neuinstallationen seit Buster), daher muss solche Software angepasst oder vor dem Upgrade entfernt werden.

  • Systeme, die auf einem Base layer aufbauen, der nicht direkt schreibbar ist (wie z.B. WSL1-Images oder Container-Systeme, die Multi-layer overlayfs-Dateisysteme verwenden) können nicht sicher auf das neue Layout konvertiert werden, und sollten entweder ersetzt werden (z.B. indem ein neues WSL1-Image aus dem Store installiert wird) oder jeder einzelne Layer für sich hochgerüstet wird (z.B. indem der dem overlayfs-System zugrundeliegende Debian-Layer eigenständig aktualisiert wird), statt ein dist-upgrade durchzuführen.

Weitere Informationen finden Sie unter The Case for the /usr merge und The Debian Technical Committee resolution.

5.1.15. Unsupported upgrades from buster fail on libcrypt1

Debian officially supports upgrades only from one stable release to the next, e.g. from bullseye to bookworm. Upgrades from buster to bookworm are not supported, and will fail due to Bug #993755 with the following error:

Setting up libc6:mips64el (2.36-9) ...
/usr/bin/perl: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory
dpkg: error processing package libc6:mips64el (--configure):
installed libc6:mips64el package post-installation script subprocess returned error exit status 127
        

It is however possible to manually recover from this particular situation by forcibly installing the new libcrypt1:

# cd $(mktemp -d)
# apt download libcrypt1
# dpkg-deb -x libcrypt1_*.deb .
# cp -ra lib/* /lib/
# apt --fix-broken install
        

5.1.16. Dinge, die vor dem Neustart erledigt werden sollten

Wenn apt full-upgrade beendet ist, sollte das formale Upgrade abgeschlossen sein. Nach dem Upgrade auf Bookworm gibt es keine besonderen Maßnahmen, die vor dem nächsten Neustart erledigt werden müssen.

5.2. Dinge, die nicht auf den Upgrade-Prozess beschränkt sind

5.2.1. Einschränkungen bei der Sicherheitsunterstützung

Es gibt einige Pakete, bei denen Debian nicht versprechen kann, dass minimale Rückportierungen zur Behebung von Sicherheitslücken in die Pakete mit einfließen. Diese Pakete werden in den folgenden Abschnitten behandelt.

[Anmerkung]Anmerkung

Das Paket debian-security-support hilft Ihnen dabei, den Sicherheitsstatus der installierten Pakete im Blick zu behalten.

5.2.1.1. Sicherheitsstatus von Webbrowsern und deren Rendering-Engines

Debian 12 enthält mehrere Browser-Engines, die einem ständigen Ansturm von Sicherheitsproblemen ausgesetzt sind. Die hohe Rate von Anfälligkeiten und die teilweise fehlende Unterstützung seitens der Originalautoren in Form von langfristig gepflegten Programmversionen machen es sehr schwierig, für diese Browser und Engines Sicherheitsunterstützung auf Basis von rückportierten Fehlerkorrekturen anzubieten. Zusätzlich machen es Abhängigkeiten zwischen beteiligten Bibliotheken extrem schwierig, auf neuere Upstream-Versionen hochzurüsten. Applikationen, die das webkit2gtk-Quellpaket nutzen (z.B. epiphany) sind von der Sicherheitsunterstützung abgedeckt, andere, die qtwebkit verwenden (Quellpaket qtwebkit-opensource-src ) jedoch nicht.

Generell empfehlen wir als Webbrowser Firefox oder Chromium. Sie werden für Stable aktuell gehalten, indem Sie auf Basis der neuesten ESR-Versionen jeweils neu gebaut werden. Die gleiche Strategie wird auch für Thunderbird angewandt.

Wenn eine Debian-Veröffentlichung zu oldstable wird, könnten offiziell unterstützte Webbrowser innerhalb des eigentlich unterstützen Zeitraums keine Updates mehr erhalten. Chromium zum Beispiel wird in oldstable nur noch für 6 Monate Sicherheits-Updates erhalten statt für die typischen 12 Monate.

5.2.1.2. Go-und Rust-basierte Pakete

Debian's Infrastruktur hat derzeit Probleme beim Neubau von Paketentypen, die systematischen Gebrauch von statischer Verlinkung machen. Das Anwachsen des Go und Rust Eco-Systems bedeutet, dass diese Pakete nur eingeschränkt von Debians Sicherheitsunterstützung abgedeckt sein werden, bis die Infrastruktur dahingehend entsprechend verbessert wurde.

In den meisten Fällen, wenn Aktualisierungen für Go- oder Rust-Development-Bibliotheken zugesichert werden, können diese nur im Rahmen von Zwischenveröffentlichungen ausgeliefert werden.

5.2.2. Python-Interpreter jetzt als extern verwaltet markiert

Die von Debian angebotenen Python3-Interpreter-Pakete (python3.11 und pypy3) sind jetzt gemäß PEP-668 als extern verwaltet markiert. Die Version von python3-pip, die Debian bereitstellt, folgt diesem Konzept und wird es verweigern, Pakete für Debians Python-Interpreter zu installieren, außer die Option --break-system-packages ist angegeben.

Wenn Sie eine Python-Applikation (oder -Version) installieren müssen, die nicht in Debian paketiert ist, empfehlen wir, dass Sie es mit pipx (aus dem Debian-Paket pipx) installieren. pipx wird eine Umgebung einrichten, die von anderen Applikationen und systemgebundenen Python-Modulen isoliert ist, und die zusätzliche Python-Applikation wird mit samt ihren Abhängigkeiten in dieser Umgebung installiert.

Falls Sie ein Modul (oder eine Version) einer Python-Bibliothek installieren müssen, das nicht in Debian paketiert ist, empfehlen wir, es wenn möglich in eine virtualenv-Umgebung zu installieren. Sie können eine solche Umgebung mit Pythons stdlib-Modul venv (aus Debians python3-venv-Paket) erzeugen oder mit dem Drittanbieter-Werkzeug virtualenv (aus dem Paket virtualenv). Statt also zum Beispiel pip install --user foo auszuführen, verwenden Sie jetzt: mkdir -p ~/.venvs && python3 -m venv ~/.venvs/foo && ~/.venvs/foo/bin/python -m pip install foo, um das Modul in eine dedizierte virtualenv-Umgebung zu installieren.

Weitere Details finden Sie in /usr/share/doc/python3.11/README.venv.

5.2.3. Limitierte Unterstützung für hardware-beschleunigtes Encoding/Decoding in VLC

Der VLC-Videoplayer unterstützt grundsätzlich hardware-beschleunigtes Encoding/Decoding über VA-API und VDPAU. Allerdings hängt VLC's Unterstützung für VA-API stark von der Version von FFmpeg ab. Da FFmpeg auf den 5.x-Zweig aktualisiert wurde, wurde die Unterstützung für VA-API in VLC deaktiviert. Nutzer von GPUs mit nativer VA-API-Unterstützung (z.B. Intel- und AMD-GPUs) könnten eine erhöhte CPU-Nutzung beim Abspielen und Codieren von Videos bemerken.

Nutzer, deren GPUs native Unterstützung über VDPAU bieten (z.B. NVIDIA mit nicht-freien Treibern) sind von diesem Problem nicht betroffen.

Ob VA-API und VDPAU unterstützt werden, kann mittels vainfo und vdpauinfo (jeweils aus dem gleichnamigen Debian-Paket) kontolliert werden.

5.2.4. systemd-resolved in separates Paket ausgegliedert

Das neue systemd-resolved-Paket wird bei Hochrüstungen nicht automatisch installiert. Falls Sie den systemd-resolved-Systemdienst genutzt haben, installieren Sie dieses neue Paket nach dem Upgrade bitte manuell, und beachten Sie, dass bis dahin die DNS-Namensauflösung nicht mehr funktionieren wird, da der Dienst auf dem System nicht mehr existiert. Die Installation dieses Pakets gibt systemd-resolved automatisch die Kontrolle über /etc/resolv.conf. Weitere Informationen über systemd-resolved finden Sie in der offiziellen Dokumentation. Beachten Sie, dass systemd-resolved in der Vergangenheit nicht der standardmäßige DNS-Namensauflöser-Dienst war, und es auch in Zukunft nicht ist. Wenn Sie Ihr System also nicht manuell angepasst haben, um systemd-resolved als DNS-Resolver zu nutzen, sind keine Maßnahmen erforderlich.

5.2.5. systemd-boot in separates Paket ausgegliedert

Das neue systemd-boot-Paket wird bei Hochrüstungen nicht automatisch installiert. Falls Sie systemd-boot genutzt haben, installieren Sie dieses neue Paket nach dem Upgrade bitte manuell, und beachten Sie, dass bis dahin die ältere Version von systemd-boot weiter als Bootloader genutzt wird. Die Installation dieses Pakets wird automatisch systemd-boot als Bootloader des Rechners konfigurieren. Der Standard-Bootloader in Debian ist immer noch GRUB. Wenn Sie Ihr System nicht manuell angepasst haben, um systemd-boot als Bootloader zu nutzen, sind keine Maßnahmen erforderlich.

5.2.6. systemd-journal-remote nutzt nicht mehr GnuTLS

Die optionalen Dienste systemd-journal-gatewayd und systemd-journal-remote werden jetzt ohne GnuTLS-Unterstützung gebaut, was bedeutet, dass die --trust-Option von beiden Programmen nicht mehr bereitgestellt wird und ein Fehler wird ausgegeben beim Versuch, diese Option zu nutzen.

5.2.7. Umfangreiche Änderungen in adduser für Bookworm

Es gab eine Reihe von Änderungen in adduser. Die herausragendste Änderung ist, dass --disabled-password und --disabled-login jetzt funktional identisch sind. Weitere Details finden Sie in /usr/share/doc/adduser/NEWS.Debian.gz.

5.2.8. Vorhersehbare Namen für Xen-Netzwerkschnittstellen

Die vorhersehbare Namenslogik in systemd für Netzwerkschnittstellen wurde erweitert, um auch stabile Namen von Xen-netfront-Geräteinformationen zu erstellen. Das bedeutet, dass statt des alten Systems, bei dem die Namen vom Kernel zugewiesen wurden, den Schnittstellen jetzt Namen gemäß der Form enX# zugewiesen werden. Bitte passen Sie Ihr System entsprechend an, bevor Sie es nach der Hochrüstung neu starten. Einige weitere Informationen finden Sie auf der NetworkInterfaceName-Wikiseite.

5.2.9. Änderung in dash bezüglich der Handhabung des Akzents circumflex

dash, das standardmäßig die System-Shell/bin/sh in Debian bereitstellt, hat eine Umstellung betreffend den Akzent circumflex (^) durchgeführt, so dass dieser jetzt als wortgetreues Zeichen behandelt wird (was auch immer schon das gemäß POSIX gewünschte Verhalten sein sollte). Als Folge bedeutet [^0-9] in Bookworm nicht mehr nicht 0 bis 9, sondern 0 bis 9 und ^.

5.2.10. netcat-openbsd unterstützt abstrakte Sockets

Das netcat-Werkzeug zum Lesen und Schreiben von Daten über Netzwerkverbindungen unterstützt abstrakte Sockets, und nutzt diese unter gewissen Umständen standardmäßig.

In der Standardeinstellung wird netcat vom Paket netcat-traditional bereitgestellt. Wenn es jedoch von netcat-openbsd bereitgestellt wird und und Sie einen AF_UNIX-Socket verwenden, dann greift diese neue Funktionalität. In diesem Fall wird die Option -U den nc-Befehl anweisen, ein Argument, das mit @ beginnt, als Anfrage eines abstrakten Sockets zu interpretieren, statt als mit einem @ beginnenden Dateinamen im aktuellen Verzeichnis. Dies kann sicherheitsrelevante Auswirkungen haben, da Dateisystemberechtigungen jetzt nicht mehr genutzt werden können, um den Zugriff auf einen abstrakten Socket zu steuern. Wenn Sie wie früher mit @ beginnende Dateinamen verwenden möchten, müssen Sie diesem entweder ein ./ voranstellen oder einen absoluten Pfad angeben.

5.3. Überalterungen und Missbilligungen

5.3.1. Nennenswerte veraltete Pakete

Hier eine Liste bekannter und erwähnenswerter veralteter Pakete (lesen Sie hierzu auch Abschnitt 4.8, „Veraltete Pakete“).

Zu diesen Paketen gehören:

  • Das libnss-ldap-Paket wurde aus bookworm entfernt. Seine Funktionalitäten werden jetzt durch libnss-ldapd und libnss-sss abgedeckt.

  • Das libpam-ldap-Paket wurde aus bookworm entfernt. Sein Nachfolger ist libpam-ldapd.

  • Das fdflush-Paket wurde aus bookworm entfernt. Verwenden Sie stattdessen bitte blockdev --flushbufs aus dem Paket util-linux.

  • Das Paket libgdal-perl wurde aus bookworm entfernt, da die Perl-Bindung für GDAL von upstream nicht mehr unterstützt wird. Falls Sie Perl-Unterstützung für GDAL benötigen, können Sie zum FFI-Interface aus dem Geo::GDAL::FFI-Paket (verfügbar auf CPAN) migrieren. Sie müssen dazu Ihre eigenen Binärdateien bauen, wie auf der BookwormGdalPerl-Wikiseite dokumentiert.

5.3.2. Missbilligte Komponenten für Bookworm

Mit der nächsten Veröffentlichung von Debian 13 (Codename Trixie) werden einige Funktionalitäten missbilligt sein. Nutzer müssen auf andere Alternativen umsteigen, um Schwierigkeiten nach dem Upgrade auf Debian 13 zu vermeiden.

Dazu gehören folgende Funktionalitäten:

  • Die Entwicklung des NSS-Service gw_name endete 2015. Das zugehörige Paket libnss-gw-name könnte in zukünftigen Debian-Veröffentlichungen entfernt werden. Der Originalautor empfiehlt stattdessen die Verwendung von libnss-myhostname.

  • Seit Ende 2010 gibt es für dmraid keine Aktivität von Upstream mehr, und in Debian galt Life Support. Bookworm wird die letzte Veröffentlichung sein, in der dmraid enthalten ist, planen Sie daher bitte entsprechende Umstellungen, falls Sie dmraid verwenden.

  • request-tracker4 wurde in dieser Veröffentlichung durch request-tracker5 abgelöst und wird in der Zukunft komplett entfernt werden. Wir empfehlen, dass Sie während der Lebenszeit dieser Veröffentlichung von request-tracker4 auf request-tracker5 migrieren.

  • Die isc-dhcp-Suite wurde von der ISC abgekündigt. Das Debian Wiki enthält eine Liste alternativer Implementierungen; hier die aktuellsten Listen für DHCP-Clients und DHCP-Server. Wenn Sie NetworkManager oder systemd-networkd verwenden, können Sie das isc-dhcp-client-Paket problemlos entfernen, da beide jeweils ihre eigene Implementation mitbringen. Falls Sie das ifupdown-Paket nutzen, können Sie mit udhcpc als Ersatz experimentieren. Das ISC empfiehlt als Ersatz für DHCP-Server das Kea-Paket.

    Debian's Security-Team wird das isc-dhcp-Paket während der Lebenszeit von Bookworm noch weiter unterstützen, aber das Paket wird wahrscheinlich in der nächsten Stable-Veröffentlichung nicht mehr unterstützt werden; nähere Details finden Sie unter Bug #1035972 (isc-dhcp EOL'ed).

5.4. Bekannte gravierende Fehler

Obwohl Debian-Veröffentlichungen nur freigegeben werden, wenn sie fertig sind, heißt dies unglücklicherweise nicht, dass keine bekannten Fehler existieren. Als Teil des Release-Prozesses werden alle Fehler mit Schweregrad serious oder höher aktiv vom Release-Team verfolgt, daher gibt es in Debians Fehlerdatenbank einen Überblick all der Fehler, die im letzten Schritt der Freigabe von bookworm als "zu ignorieren" gekennzeichnet wurden. Folgende Fehler betreffen bookworm zum Zeitpunkt der Veröffentlichung und sollten hier erwähnt werden:

FehlernummerQuell- oder BinärpaketBeschreibung
1032240akonadi-backend-mysqlakonadi server fails to start since it cannot connect to mysql database
918984src:fuse3provide upgrade path fuse -> fuse3 for bookworm
1016903g++-12tree-vectorize: Wrong code at O2 level (-fno-tree-vectorize is working)
1020284git-daemon-runfails to purge: deluser -f: Unknown option: f
919296git-daemon-runfails with 'warning: git-daemon: unable to open supervise/ok: file does not exist'
1034752src:gluegen2embeds non-free headers
1036256src:golang-github-pin-tftpFTBFS in testing: dh_auto_test: error: cd _build && go test -vet=off -v -p 8 github.com/pin/tftp github.com/pin/tftp/netascii returned exit code 1
1036575groonga-binmissing Depends: libjs-jquery-flot, libjs-jquery-ui
1036041src:grub2upgrade-reports: Dell XPS 9550 fails to boot after bullseye to bookworm upgrade - grub/bios interaction bug?
558422grub-pcupgrade hangs
913916grub-efi-amd64UEFI boot option removed after update to grub2 2.02~beta3-5+deb9u1
924151grub2-commonwrong grub.cfg for efi boot and fully encrypted disk
925134grub-efi-amd64grub-efi-amd64-signed: doesn't mount cryptodisk
945001grub-efi-amd64GRUB-EFI messes up boot variables
965026grub-emugrub-emu hangs linux console when run as root
984760grub-efi-amd64upgrade works, boot fails (error: symbol `grub_is_lockdown` not found)
1036263src:guestfs-toolsFTBFS in testing: make[6]: *** [Makefile:1716: test-suite.log] Error 1
916596iptablesiptables.postinst failure on link creation
919058itstoolits-tools: crashes when freeing xmlDocs
1028416kexec-toolssystemctl kexec doesn't shutdown system properly and corrupts mounted filesystems
935182libreoffice-coreConcurrent file open on the same host results file deletion
1036755src:linux6.1.26 <= x < 6.1.30 breaks applications using mmap(MAP_32BIT) [affects ganeti]
1036580src:llvm-defaultsplease add some Breaks for smoother upgrades from bullseye
1036359elpa-markdown-toccrashes with (wrong-type-argument consp nil)
1032647nvidia-driverIntermittent black screen after updating to 525.89.02-1
1029342openjdk-17-jre-headlessjexec: can't locate java: No such file or directory
1035798libphp8.2-embeddoes not ship SONAME link /usr/lib/libphp.so -> libphp8.2.so
1034993software-properties-qtmissing Breaks+Replaces for software-properties-kde when upgrading from bullseye
1036388sylpheedaccount reset when mail is checked
1036424sylpheedreplying to an email you sent doesn't set account accordingly
994274src:syslinuxFTBFS with gnu-efi 3.0.13
1031152system-config-printerunlock button in system-config-printer provides no elevated permissions dialog
975490u-boot-sunxiA64-Olinuxino-eMMC boot stuck at "Starting kernel ..."
1034995python-is-python3missing Breaks+Replaces for python-dev-is-python2 when upgrading from bullseye
1036881whitedunesegfaults
1036601xenstore-utilsmissing Depends: xen-utils-common
1036578python3-yadedoes not ship a python module