Kapitel 4. Upgrade von Debian 11 (Bullseye)

Inhaltsverzeichnis

4.1. Vorbereiten des Upgrades
4.1.1. Sichern aller Daten und Konfigurationsinformationen
4.1.2. Die Benutzer vorab informieren
4.1.3. Vorbereitung auf die Deaktivierung von Diensten
4.1.4. Vorbereitungen für eine Systemwiederherstellung
4.1.5. Vorbereiten einer sicheren Umgebung für das Upgrade
4.2. Start des Upgrades von einem reinen Debian-System
4.2.1. Upgrade auf Debian 11 (Bullseye)
4.2.2. Upgrade auf die letzte Zwischenveröffentlichung
4.2.3. Debian Backports
4.2.4. Vorbereiten der Paketdatenbank
4.2.5. Veraltete Pakete entfernen
4.2.6. Pakete entfernen, die nicht von Debian stammen
4.2.7. Bereinigen alter Konfigurationsdateien
4.2.8. Die Archivbereiche non-free und non-free-firmware
4.2.9. Der Bereich für vorgeschlagene Aktualisierungen (proposed-updates)
4.2.10. Inoffizielle Quellen
4.2.11. APT Pinning deaktivieren
4.2.12. Kontrolieren, ob gpgv installiert ist
4.2.13. Paketstatus überprüfen
4.3. Die APT source-list-Dateien vorbereiten
4.3.1. APT-Internet-Quellen hinzufügen
4.3.2. APT-Quellen für einen lokalen Spiegel hinzufügen
4.3.3. APT-Quellen für optische Medien hinzufügen
4.4. Upgrades von Paketen durchführen
4.4.1. Aufzeichnung der Sitzung
4.4.2. Aktualisieren der Paketliste
4.4.3. Sicherstellen, dass genügend Speicherplatz für das Upgrade zur Verfügung steht
4.4.4. Überwachungssysteme stoppen
4.4.5. Minimales System-Upgrade
4.4.6. Upgrade des Systems
4.5. Mögliche Probleme während des Upgrades
4.5.1. full-upgrade schlägt fehl mit Could not perform immediate configuration
4.5.2. Zu erwartende Paketentfernungen
4.5.3. Conflicts- oder Pre-Depends-Schleifen
4.5.4. Dateikonflikte
4.5.5. Konfigurationsänderungen
4.5.6. Ändern der aktuellen Sitzung auf die Konsole
4.6. Upgrade des Kernels und zugehöriger Pakete
4.6.1. Ein Kernel-Metapaket installieren
4.7. Vorbereiten auf die nächste Veröffentlichung
4.7.1. Vollständiges Löschen entfernter Pakete
4.8. Veraltete Pakete
4.8.1. Übergangs-Dummy-Pakete

4.1. Vorbereiten des Upgrades

Wir empfehlen, dass Sie vor dem Upgrade auch die Informationen in Kapitel 5, Dinge, die Sie über Bookworm wissen sollten lesen. Das Kapitel behandelt mögliche Probleme, die mit dem Upgrade-Prozess nicht direkt zusammenhängen, von denen Sie aber dennoch wissen sollten, bevor Sie mit dem Upgrade beginnen.

4.1.1. Sichern aller Daten und Konfigurationsinformationen

Wir empfehlen Ihnen nachdrücklich, vor dem Upgrade Ihres Systems ein komplettes Backup durchzuführen oder zumindest alle Daten und Konfigurationsinformationen zu sichern, die Sie nicht verlieren möchten. Die Upgrade-Werkzeuge und der zugehörige Prozess sind recht zuverlässig, aber ein Versagen der Hardware während des Upgrades könnte zu einem schwer beschädigten System führen.

Am wichtigsten für das Backup sind die Inhalte von /etc, /var/lib/dpkg, /var/lib/apt/extended_states und die Ausgabe von:

$ dpkg --get-selections '*' # (die Anführungszeichen sind wichtig)
      

Wenn Sie aptitude zur Paketverwaltung auf Ihrem System verwenden, sollten Sie auch eine Sicherung von /var/lib/aptitude/pkgstates machen.

Der Upgrade-Prozess ändert nichts im Verzeichnisbaum /home. Allerdings ist bekannt, dass einige Anwendungen (z.B. Teile der Mozilla-Suite und die GNOME- und KDE-Desktop-Umgebungen) existierende Benutzereinstellungen mit neuen Vorgaben überschreiben, wenn eine neue Version der Anwendung das erste Mal von einem Benutzer gestartet wird. Zur Vorsicht sollten Sie überlegen, die versteckten Dateien und Verzeichnisse (Dateien und Verzeichnisse, die mit einem Punkt beginnen, auch dotfiles genannt) in den Home-Verzeichnissen der Benutzer zu sichern. Dieses Backup könnte Ihnen dabei helfen, die alten Einstellungen wiederherzustellen. Auch sollten Sie die Benutzer des Systems darüber informieren.

Jede Paketinstallation muss mit den Rechten des Superusers ausgeführt werden. Melden Sie sich daher als root an oder verwenden Sie su oder sudo, um die notwendigen Rechte zu erlangen.

Für das Upgrade gibt es ein paar Voraussetzungen; Sie sollten diese überprüfen, bevor Sie das Upgrade durchführen.

4.1.2. Die Benutzer vorab informieren

Es empfiehlt sich, alle Benutzer vor dem geplanten Upgrade zu informieren, auch wenn Benutzer, die über ssh auf Ihr System zugreifen, wenig von dem Upgrade mitbekommen sollten und es ihnen möglich sein sollte, weiterzuarbeiten.

Falls Sie zusätzliche Vorsichtsmaßnahmen ergreifen möchten, sichern Sie die Partition /home vor dem Upgrade oder lösen Sie diese Einbindung mit umount.

Sie müssen beim Upgrade auf Bookworm auch ein Kernel-Upgrade durchführen, daher wird ein Systemneustart notwendig sein. Typischerweise wird dieser stattfinden, nachdem das Upgrade abgeschlossen ist.

4.1.3. Vorbereitung auf die Deaktivierung von Diensten

Einigen Paketen, für die ein Upgrade ansteht, sind möglicherweise Dienste zugeordnet. Falls das der Fall ist, beachten Sie bitte, dass diese Dienste während des Upgrades gestoppt werden, wenn die ihnen zugeordneten Pakete ersetzt und konfiguriert werden. Während dieser Zeit werden diese Dienste nicht verfügbar sein.

Die exakte Dauer, für die die Dienste abgeschaltet sind, variiert abhängig von der Anzahl der Pakete, die im System aktualisiert werden und enthält auch die Zeit, die der Systemadministrator benötigt, um Konfigurationsfragen von verschiedenen Paket-Upgrades zu beantworten. Beachten Sie, dass eine hohe Wahrscheinlichkeit für die Nichtverfügbarkeit von Diensten über eine erhebliche Zeitdauer besteht, wenn der Upgrade-Prozess unbeaufsichtigt läuft und das System eine Bedienereingabe während des Prozesses erfordert[1].

Wenn das zu aktualisierende System kritische Dienste für Ihre Nutzer oder für das Netzwerk bereitstellt[2], können Sie die Dauer, für die der Dienst abgeschaltet ist, reduzieren, indem Sie ein minimales System-Upgrade durchführen (wie in Abschnitt 4.4.5, „Minimales System-Upgrade“ beschrieben), gefolgt von einem Kernel-Upgrade und einem Reboot und schließlich dem Upgrade der Pakete, denen Ihre kritischen Dienste zugeordnet sind. Aktualisieren Sie diese Pakete, bevor Sie das eigentliche vollständige Upgrade durchführen, das in Abschnitt 4.4.6, „Upgrade des Systems“ beschrieben ist. So stellen Sie sicher, dass die kritischen Dienste während des ganzen vollständigen Upgrades laufen und verfügbar sind, so dass der Zeitraum, während dem die Dienste abgeschaltet sind, insgesamt reduziert ist.

4.1.4. Vorbereitungen für eine Systemwiederherstellung

Obwohl Debian versucht sicherzustellen, dass Ihr System immer startfähig bleibt, gibt es stets die Möglichkeit, dass Sie beim Neustart des Systems nach dem Upgrade Probleme feststellen. Bekannte mögliche Probleme sind in diesem und den nächsten Kapiteln dieser Veröffentlichungshinweise dokumentiert.

Aus diesem Grund ist es sinnvoll, sicherzustellen, dass Sie die Möglichkeit haben, Ihr System wieder zum Laufen zu bringen, falls der Start fehlschlagen sollte oder (bei fernverwalteten Systemen) der Aufbau der Netzwerkverbindung nicht erfolgreich sein sollte.

Falls Sie das Upgrade aus der Ferne über eine ssh-Verbindung durchführen, wird empfohlen, dass Sie die nötigen Vorkehrungen treffen, um den Server über eine serielle Terminalverbindung aus der Ferne erreichen zu können. Es besteht die Möglichkeit, dass Sie nach dem Kernel-Upgrade und anschließenden Neustart die Systemkonfiguration über eine lokale Konsole korrigieren müssen. Auch könnte es sein, dass Sie das System über eine lokale Konsole wiederherstellen müssen, wenn es in der Mitte des Upgrade-Prozesses versehentlich neu gebootet wird.

Zur Systemrettung oder Behebung von Problemen empfehlen wir normalerweise die Verwendung vom Rettungsmodus des Debian-Installers für Bookworm. Der Vorteil der Verwendung des Installers besteht darin, dass Sie aus seinen vielen Methoden diejenige aussuchen können, die am besten für Sie passt. Für weitere Informationen lesen Sie bitte den Abschnitt Ein beschädigtes System reparieren in Kapitel 8 der Installationsanleitung und die FAQ des Debian-Installers.

Falls dies fehlschlägt, benötigen Sie eine alternative Möglichkeit, Ihr System zu starten und zu reparieren. Eine Möglichkeit ist, ein spezielles Rettungs-Image oder ein Live-Installations-Imagezu verwenden. Nachdem Sie davon gebootet haben, sollten Sie die Wurzel Ihres Dateisystems (/) einbinden und ein chroot darauf ausführen, um das Problem zu untersuchen und zu beheben.

4.1.4.1. Shell zur Fehleranalyse während des Bootens mit Initrd

Das initramfs-tools-Paket integriert eine Shell zur Fehleranalyse[3] in die Initrds, die es erzeugt. Falls die Initrd beispielsweise nicht in der Lage ist, die Wurzel Ihres Dateisystems (/) einzubinden, wird Ihnen diese Debug-Shell präsentiert, in der die grundlegenden Befehle vorhanden sind, um das Problem zu ermitteln und möglicherweise zu beheben.

Folgende wesentliche Dinge sollten Sie prüfen: Vorhandensein der richtigen Gerätedateien in /dev, welche Module geladen sind (cat /proc/modules) und Fehler beim Laden von Treibern in der Ausgabe von dmesg. Die Ausgabe von dmesg wird Ihnen auch zeigen, welche Gerätedateien welchen Festplatten zugeordnet wurden; Sie sollten das mit der Ausgabe von echo $ROOT vergleichen, um sicherzustellen, dass die Wurzel des Dateisystems (/) auf dem erwarteten Gerät liegt.

Falls Sie das Problem beheben können, geben Sie exit ein, um die Debug-Shell zu beenden und mit dem Boot-Vorgang an der Fehlerstelle fortzufahren. Natürlich müssen Sie auch das zu Grunde liegende Problem beheben und die Initrd neu erzeugen, damit der Systemstart nicht beim nächsten Mal wieder fehlschlägt.

4.1.4.2. Shell zur Fehleranalyse während des Bootens mit systemd

Falls das Booten unter systemd fehlschlägt, ist es über eine Änderung der Kernel-Befehlszeile möglich, eine Root-Shell zur Fehlersuche aufzurufen. Wenn das Booten grundsätzlich funktioniert, aber einige Dienste nicht starten, könnte es nützlich sein, systemd.unit=rescue.target zu den Kernel-Parametern hinzuzufügen.

In anderen Fällen bringt Ihnen der Kernel-Parameter systemd.unit=emergency.target zum frühest möglichen Zeitpunkt eine Root-Shell. Allerdings muss dazu das root-Dateisystem mit Lese-/Schreibrechten eingebunden werden. Sie müssen dies händisch erledigen mittels:

# mount -o remount,rw /
      

Ein anderer Ansatz ist, systemd's early debug shell zu aktivieren(über debug-shell.service). Beim Booten kann dieser Dienst zu einem sehr frühen Zeitpunkt des Bootvorgangs eine Login-Shell auf tty9 öffnen. Dies kann aktiviert werden über den Boot-Parameter systemd.debug-shell=1, oder dauerhaft über den Befehl systemctl enable debug-shell (in diesem Fall sollten Sie dies wieder deaktivieren, wenn die Fehleranalyse beendet ist).

Sie finden weitere Informationen zur Fehlersuche bei fehlschlagenden Boot-Vorgängen unter systemd in dem Artikel Freedesktop.org Diagnosing Boot Problems.

4.1.5. Vorbereiten einer sicheren Umgebung für das Upgrade

[Wichtig]Wichtig

Wenn Sie VPN-Dienste (wie zum Beispiel tinc) verwenden, sollten Sie davon ausgehen, dass diese während des Upgrades eine Zeit lang nicht verfügbar sein könnten. Bitte lesen Sie Abschnitt 4.1.3, „Vorbereitung auf die Deaktivierung von Diensten“.

Für zusätzliche Sicherheit sollten Sie beim Upgrade aus der Ferne den Upgrade-Prozess in einer virtuellen Konsole des Programms screen durchführen, da bei temporären Verbindungsabbrüchen die Verbindung dann sicher wiederhergestellt werden kann und der Upgrade-Prozess somit nicht fehlschlägt.

4.2. Start des Upgrades von einem reinen Debian-System

Der Upgrade-Prozess, wie er in diesem Kapitel beschrieben wird, ist für reine Debian Stable-Systeme konzipiert. APT steuert, was auf Ihrem System installiert ist. Falls Ihre APT-Konfiguration noch weitere Paketquellen zusätzlich zu bullseye enthält oder falls Sie Pakete aus anderen Debian-Veröffentlichungen oder von Drittanbietern installiert haben, sollten Sie diese Risikofaktoren eventuell durch Entfernen der Pakete ausräumen, um einen zuverlässigen Upgrade-Prozess sicherzustellen.

Die Haupt-Konfigurationsdatei, die APT verwendet, um festzulegen, welche Paketquellen zum Download von Paketen genutzt werden, ist /etc/apt/sources.list, aber es können auch weitere Dateien im Verzeichnis /etc/apt/sources.list.d/ zum Einsatz kommen - Details hierzu finden Sie unter sources.list(5). Wenn Ihr System mehrere source-list-Dateien verwendet, müssen Sie sicherstellen, dass diese untereinander konsistent sind.

4.2.1. Upgrade auf Debian 11 (Bullseye)

Es werden nur Upgrades ausgehend von Debian 11 (bullseye) unterstützt. Sie können sich die aktuell auf Ihrem System laufende Debian-Version anzeigen lassen mit:

$ cat /etc/debian_version
      

Bitte befolgen Sie die Anweisungen in den Hinweisen zur Debian-Veröffentlichung Version 11, um zunächst ein Upgrade auf Debian 11 durchzuführen, falls erforderlich.

4.2.2. Upgrade auf die letzte Zwischenveröffentlichung

Diese Anleitung geht davon aus, dass Sie Ihr System auf die neueste Zwischenveröffentlichung von Bullseye aktualisiert haben. Falls dies nicht der Fall sein sollte oder Sie sich unsicher sind, folgen Sie den Anweisungen in Abschnitt A.1, „Upgrade Ihres Bullseye-Systems“.

4.2.3. Debian Backports

Debian Backports erlaubt es Anwendern von Debian Stable, aktuellere Versionen von manchen Paketen zu bekommen (mit einigen Kompromissen bezüglich Test und Sicherheitsunterstützung). Das Debian-Backports-Team betreut eine Untermenge von Paketen aus der nächsten Debian-Veröffentlichung, die angepasst und neu kompiliert werden, um mit der aktuellen Debian-Stable-Veröffentlichung zu harmonieren.

Pakete von bullseye-backports haben Versionsnummern, die niedriger sind als die Versionen in bookworm, so dass sie beim nächsten Distributions-Upgrade auf normalem Wege (genauso wie reine Pakete aus bullseye) aktualisiert werden sollten. Obwohl uns keine potentiellen Probleme bekannt sind, ist der Upgrade-Pfad über backports weniger getestet und birgt daher ein höheres Risiko.

[Achtung]Achtung

Während reguläre Debian Backports unterstützt werden, gibt es keinen sauberen Upgrade-Pfad von sloppy-backports (diese nutzen APT source-list-Einträge, die auf bullseye-backports-sloppy verweisen).

Genauso wie bei Abschnitt 4.2.10, „Inoffizielle Quellen“ sind Nutzer angewiesen, Einträge für bullseye-backports aus den APT source-list-Dateien zu entfernen, bevor sie das Upgrade durchführen. Wenn dies abgeschlossen ist, kann bookworm-backports aktiviert werden, falls gewünscht.

Bezüglich weiterer Informationen konsultieren Sie bitte die Backports Wiki-Seite.

4.2.4. Vorbereiten der Paketdatenbank

Bevor Sie das Upgrade starten, sollten Sie kontrollieren, ob noch ausstehende Aktionen in der Paketdatenbank existieren. Falls Sie einen Paketmanager wie aptitude oder synaptic verwenden, kontrollieren Sie, ob es dort noch ausstehende Aktionen gibt. Ein Paket, das im Paketmanager zum Entfernen oder Aktualisieren vorgemerkt ist, könnte den Upgrade-Prozess negativ beeinflussen. Beachten Sie, dass Sie eine solche Situation nur korrigieren können, solange Ihre APT source-list-Dateien noch auf bullseye verweisen und nicht auf stable oder bookworm; Näheres dazu in Abschnitt A.2, „Überprüfen Ihrer Paketquellen (APT source-list-Dateien)“.

4.2.5. Veraltete Pakete entfernen

Es ist eine gute Idee, veraltete Pakete vor dem Upgrade zu entfernen. Sie könnten sonst zu Komplikationen während des Upgrade-Prozesses führen oder ein Sicherheitsrisiko darstellen, da sie nicht mehr betreut werden.

4.2.6. Pakete entfernen, die nicht von Debian stammen

Hier sind zwei Methoden aufgeführt, wie Sie Pakete finden können, die nicht original von Debian kommen, entweder mit apt oder apt-forktracer. Bitte beachten Sie, dass beide Methoden nicht immer zu 100% korrekte Resultate liefern (z.B. werden bei dem apt-Beispiel auch Pakete aufgelistet, die früher einmal von Debian angeboten wurden, jetzt aber nicht mehr, wie alte Kernel-Pakete).

$ apt list '?narrow(?installed, ?not(?origin(Debian)))'
$ apt-forktracer | sort
    

4.2.7. Bereinigen alter Konfigurationsdateien

Von einem früheren Upgrade könnten noch ungenutzte Kopien von Konfigurationsdateien zurückgeblieben sein: alte Versionen dieser Dateien, oder Versionen, die vom Paketbetreuer bereitgestellt wurden, etc. Solche Hinterlassenschaften zu beseitigen kann Komplikationen vermeiden. Sie können solche Dateien finden mit:

# find /etc -name '*.dpkg-*' -o -name '*.ucf-*' -o -name '*.merge-error'
    

4.2.8. Die Archivbereiche non-free und non-free-firmware

Falls Sie nicht-freie Firmware installiert haben, wird empfohlen, dass Sie non-free-firmware zu Ihrer APT sources-list hinzufügen. Weitere Details finden Sie unter Abschnitt 2.2, „Archivbereiche“ und Abschnitt 5.1.1, „ Nicht-freie Firmware in eigenen Archivbereich verschoben “.

4.2.9. Der Bereich für vorgeschlagene Aktualisierungen (proposed-updates)

Wenn Sie proposed-updates in Ihren APT source-list-Dateien aufgeführt haben, sollten Sie das entfernen, bevor Sie versuchen, ein Upgrade Ihres Systems durchzuführen. Dies ist eine Vorsichtsmaßnahme, um die Zahl möglicher Konflikte zu reduzieren.

4.2.10. Inoffizielle Quellen

Falls auf Ihrem System Debian-fremde Pakete installiert sind, sollten Sie wissen, dass diese während des Upgrades aufgrund von Konflikten in den Abhängigkeiten entfernt werden könnten. Falls diese Pakete installiert wurden, indem eine zusätzliche Paketquelle in Ihre APT source-list-Dateien eingefügt wurde, sollten Sie überprüfen, ob das Archiv auch für Bookworm übersetzte Pakete anbietet und den Eintrag gleichzeitig mit dem für die Original-Debian-Pakete ändern.

Einige Benutzer haben möglicherweise inoffizielle rückportierte neuere Versionen von Paketen, die in Debian enthalten sind, auf ihrem Bullseye-System installiert. Diese Pakete werden wahrscheinlich während des Upgrades zu Problemen führen, da Dateikonflikte auftreten können[4]. Abschnitt 4.5, „Mögliche Probleme während des Upgrades“ enthält Informationen, wie Sie mit eventuellen Dateikonflikten umgehen.

4.2.11. APT Pinning deaktivieren

Falls Sie APT so konfiguriert haben, dass bestimmte Pakete aus einer anderen Debian-Suite als Stable (z.B. aus Testing) installiert werden, müssen Sie unter Umständen Ihre APT-Pinning-Konfiguration (in /etc/apt/preferences und /etc/apt/preferences.d/) ändern, um das Upgrade der Pakete aus der neuen Stable-Veröffentlichung zu erlauben. Weitere Informationen zu APT Pinning finden Sie unter apt_preferences(5).

4.2.12. Kontrolieren, ob gpgv installiert ist

APT benötigt gpgv Version 2 oder höher, um die Schlüssel verifizieren zu können, die genutzt werden, um bookworm-Veröffentlichungen zu signieren. gpgv1 erfüllt die Abhängigkeit technisch zwar bereits, aber bei dieser Version ist die Funktionalität nur unter speziellen Umständen nützlich. Daher sollten Benutzer sicherstellen, dass die korrekte Version installiert ist mittels:

# apt install gpgv
    

4.2.13. Paketstatus überprüfen

Unabhängig von der Upgrade-Methode wird empfohlen, dass Sie zuerst überprüfen, ob alle Pakete in einem Status sind, der zum Upgrade geeignet ist. Der folgende Befehl wird Ihnen alle Pakete anzeigen, die im Status halb-installiert oder Konfiguration-fehlgeschlagen sind, und solche mit Fehler-Status:

$ dpkg --audit
    

Sie können auch den Status aller Pakete Ihres Systems mittels aptitude oder Befehlen der folgenden Form überprüfen:

$ dpkg -l | pager
    

oder

# dpkg --get-selections '*' > ~/derzeit-installierte-pakete.txt
    

Alternativ können Sie auch apt verwenden.

# apt list --installed > ~/derzeit-installierte-pakete.txt
    

Es ist erstrebenswert, alle hold-Markierungen (halten; Markierung, dass ein Paket in dem Zustand belassen werden soll, in dem es ist; es würde nicht aktualisiert) vor dem Upgrade zu entfernen. Wenn irgendein Paket, das für das Upgrade unverzichtbar ist, auf hold steht, schlägt das Upgrade fehl.

$ apt-mark showhold
    

Falls Sie ein Paket lokal verändert und neu kompiliert haben, und ihm dabei weder einen anderen Namen gegeben noch eine Epoche in die Versionsnummer eingefügt haben, müssen Sie es auf hold setzen, um zu verhindern, dass ein Upgrade für dieses Paket durchgeführt und es damit überschrieben wird.

Der hold-Paketstatus für apt kann mit folgenden Befehlen geändert werden: hold-Status setzen:

# apt-mark hold paketname
    

hold-Status löschen: ersetzen Sie hold durch unhold.

Falls etwas korrigiert werden muss, sorgen Sie am besten dafür, dass die APT source-list-Datei noch auf bullseye verweist, wie in Abschnitt A.2, „Überprüfen Ihrer Paketquellen (APT source-list-Dateien)“ erklärt.

4.3. Die APT source-list-Dateien vorbereiten

Bevor Sie das Upgrade beginnen, müssen Sie die APT source-list-Dateien (/etc/apt/sources.list und Dateien in /etc/apt/sources.list.d/) passend konfigurieren: Zeilen für bookworm müssen hinzugefügt und solche für bullseye üblicherweise entfernt werden.

apt wird alle Pakete berücksichtigen, die über die konfigurierten Paketquellen gefunden werden, und jeweils das Paket mit der höchsten Versionsnummer installieren, wobei die Priorität auf dem ersten Eintrag in den Dateien liegt. Daher würden Sie bei der Existenz mehrerer Quellen typischerweise zuerst lokale Festplatten, dann CD-ROMs und schließlich ferne Archivspiegel angeben.

Eine Veröffentlichung kann sowohl über ihren Codenamen (z.B. bullseye, bookworm) als auch über den Statusnamen (d.h. oldstable, stable, testing, unstable) angegeben werden. Die Verwendung des Codenamens hat den Vorteil, dass Sie nie von einer neueren Veröffentlichung überrascht werden, und wird daher hier verwandt. Natürlich bedeutet dies, dass Sie selbst auf Veröffentlichungsankündigungen achten müssen. Falls Sie stattdessen den Statusnamen verwenden, werden Sie nur eine große Menge an Paketaktualisierungen sehen, wenn eine Veröffentlichung stattgefunden hat.

Debian betreibt zwei Ankündigungs-Mailinglisten, die Ihnen helfen, bezüglich der Informationen zu Debian-Veröffentlichungen auf dem aktuellen Stand zu bleiben:

4.3.1. APT-Internet-Quellen hinzufügen

Bei Neuinstallationen ist es mittlerweile Standardeinstellung, Debians APT-CDN-Service für APT zu benutzen; dies sollte sicherstellen, dass Pakete automatisch von dem (netzwerk-technisch gesehen) geografisch nächstliegenden Server heruntergeladen werden. Da dies noch ein relativ neuer Dienst ist, können vorhandene Installationen noch Konfigurationen haben, die direkt auf Debians Haupt-Internet-Server oder auf einen der Spiegel-Server verweisen. Falls noch nicht geschehen, wird empfohlen, dass Sie Ihre APT-Konfiguration auf den CDN-Service hin ändern.

Um den CDN-Service zu nutzen, fügen Sie eine Zeile wie die folgende zu Ihrer APT-Konfiguration hinzu (wir gehen hier davon aus, dass Sie main und contrib verwenden):

deb https://deb.debian.org/debian bookworm main contrib

Nachdem Sie die neuen Quellen hinzugefügt haben, deaktivieren Sie die bisher existierenden deb-Zeilen, indem Sie eine Raute (#) am Zeilenanfang einfügen.

Falls Sie über die direkte Angabe eines speziellen Spiegel-Servers, der netzwerk-technisch nahe bei Ihnen liegt, bessere Resultate erzielen, ist eine solche Art der Konfiguration aber nach wie vor möglich.

Adressen solcher Spiegel finden Sie auf https://www.debian.org/distrib/ftplist (suchen Sie nach dem Abschnitt Liste von Debian-Spiegeln).

Im Beispiel nehmen wir an, dass der für Sie am nächsten liegende Spiegel http://mirrors.kernel.org sei. Wenn Sie sich den Spiegel mit einem Webbrowser anschauen, werden Sie bemerken, dass die Hauptverzeichnisse wie folgt organisiert sind:

http://mirrors.kernel.org/debian/dists/bookworm/main/binary-amd64/...
http://mirrors.kernel.org/debian/dists/bookworm/contrib/binary-amd64/...
    

Um APT auf einen bestimmten Spiegel-Server zu konfigurieren, fügen Sie eine Zeile wie diese ein (diese verwendet wie oben main und contrib):

deb http://mirrors.kernel.org/debian bookworm main contrib

Beachten Sie, dass das dists stillschweigend hinzugefügt wird und dass Argumente nach dem Namen der Veröffentlichung verwendet werden, um den Pfad aufzufächern, so dass er in mehrere unterschiedliche Verzeichnisse verweist.

Nach Hinzufügen der neuen Quellen deaktivieren Sie auch hier die bisher vorhandenen Einträge, indem Sie eine Raute (#) am Zeilenanfang einfügen.

4.3.2. APT-Quellen für einen lokalen Spiegel hinzufügen

Statt einen fernen Paketspiegel zu verwenden, können Sie auch Ihre APT source-list-Dateien anpassen, um einen Spiegel auf einer lokalen Platte zu nutzen (die z.B. über NFS eingebunden ist).

Beispielsweise könnte Ihr Paketspiegel unter /var/local/debian/ liegen und über die folgenden Hauptverzeichnisse verfügen:

/var/local/debian/dists/bookworm/main/binary-amd64/...
/var/local/debian/dists/bookworm/contrib/binary-amd64/...
    

Um diesen Spiegel mit apt zu verwenden, fügen Sie die folgende Zeile zu Ihrer Datei sources.list hinzu:

deb file:/var/local/debian bookworm main contrib

Beachten Sie, dass das dists stillschweigend hinzugefügt wird und dass Argumente nach dem Namen der Veröffentlichung verwendet werden, um den Pfad aufzufächern, so dass er in mehrere unterschiedliche Verzeichnisse verweist.

Nachdem Sie die neuen Quellen hinzugefügt haben, deaktivieren Sie die bisher existierenden Paketquellen in den APT source-list-Dateien, indem Sie eine Raute (#) am Zeilenanfang einfügen.

4.3.3. APT-Quellen für optische Medien hinzufügen

Falls Sie ausschließlich DVDs (oder CDs oder Blu-ray-Disks) verwenden möchten, kommentieren Sie die existierenden Einträge in allen APT source-list-Dateien aus, indem Sie am Zeilenanfang eine Raute (#) einfügen.

Stellen Sie sicher, dass es eine Zeile in /etc/fstab gibt, die das Einbinden Ihres CD-ROM-Laufwerks unter /media/cdrom bewirkt. Falls Ihr CD-ROM-Laufwerk beispielsweise /dev/sr0 ist, sollte /etc/fstab eine Zeile wie diese enthalten:

/dev/sr0 /media/cdrom auto noauto,ro 0 0
    

Beachten Sie, dass es keine Leerzeichen zwischen den Begriffen noauto,ro im vierten Feld geben darf.

Um zu überprüfen, ob dies funktioniert, legen Sie eine CD/DVD ein und versuchen Sie, Folgendes auszuführen:

# mount /media/cdrom    # dies wird die CD/DVD am Einbindungspunkt einbinden
# ls -alF /media/cdrom  # dies sollte Ihnen das Wurzelverzeichnis der CD/DVD anzeigen
# umount /media/cdrom   # dies wird die Einbindung der CD/DVD wieder aufheben
    

Führen Sie als nächstes für jede Binär-CD/-DVD, die Sie von Debian haben, den Befehl

# apt-cdrom add
    

aus, um die Daten der CD/DVD zu der APT-Datenbank hinzuzufügen.

4.4. Upgrades von Paketen durchführen

Die empfohlene Methode zum Upgrade von vorherigen Debian-Versionen ist die Verwendung des Paketmanagement-Programms apt.

[Anmerkung]Anmerkung

apt ist für interaktive Nutzung gedacht und sollte nicht in Skripten verwendet werden. Dort sollten Sie stattdessen apt-get nutzen, weil dessen Ausgabe besser für die Abfrage in Skripten geeignet ist.

Vergessen Sie nicht, alle benötigten Partitionen (insbesondere / und /usr) zum Schreiben einzubinden. Verwenden Sie hierzu einen Befehl der Art:

# mount -o remount,rw /einbindungspunkt
  

Als nächstes sollten Sie noch einmal sicherstellen, dass die Quelleinträge für APT (in /etc/apt/sources.list und in allen Dateien in /etc/apt/sources.list.d/) entweder auf bookworm oder auf stable verweisen. Es sollte keine Quelleinträge für bullseye geben.

[Anmerkung]Anmerkung

Quellzeilen für eine CD-ROM könnten sich eventuell auf unstable beziehen; dies mag zwar verwirrend erscheinen, Sie sollten dies jedoch nicht ändern.

4.4.1. Aufzeichnung der Sitzung

Es wird nachdrücklich empfohlen, dass Sie das Programm /usr/bin/script verwenden, um einen Mitschnitt der Upgrade-Sitzung zu erstellen. Falls dann ein Problem auftritt, haben Sie ein exaktes Protokoll der Ereignisse und können - falls notwendig - genaue Informationen in einem Fehlerbericht angeben. Um die Aufzeichnung zu beginnen, geben Sie etwas wie

# script -t 2>~/upgrade-bookwormschritt1.time -a ~/upgrade-bookwormschritt1.script
    

ein. Falls Sie das Script erneut starten müssen (z.B. aufgrund eines Systemneustarts), zählen Sie den Wert für schritt hoch, um darzustellen, welchen Schritt des Upgrades Sie gerade aufzeichnen. Legen Sie die Mitschnittdatei nicht in einem temporären Verzeichnis wie /tmp oder /var/tmp ab (Dateien in diesen Verzeichnissen könnten während des Upgrades oder eines Systemstarts gelöscht werden).

Der Mitschnitt erlaubt es Ihnen auch, die Informationen durchzuschauen, die bereits aus dem Bildschirm herausgelaufen sind. Wenn Sie sich auf der System-Konsole befinden, schalten Sie auf VT2 um (mit Alt+F2) und verwenden Sie nach dem Anmelden etwas wie less -R ~root/upgrade-bookworm.script, um die Datei durchzuschauen.

Nach Beendigung des Upgrades können Sie script beenden, indem Sie exit an der Eingabeaufforderung eingeben.

apt führt Protokoll über geänderten Paketstatus und speichert dies in /var/log/apt/history.log; außerdem wird die Terminal-Ausgabe in /var/log/apt/term.log abgelegt. dpkg wird zusätzlich Informationen über geänderten Paketstatus in /var/log/dpkg.log abspeichern. Wenn Sie aptitude benutzen, werden Statusänderungen in /var/log/aptitude abgelegt.

Wenn Sie den Schalter -t für script verwendet haben, können Sie das Programm scriptreplay zum Abspielen der gesamten Sitzung verwenden:

# scriptreplay ~/upgrade-bookwormschritt.time ~/upgrade-bookwormschritt.script
    

4.4.2. Aktualisieren der Paketliste

Zuerst muss die Liste der verfügbaren Pakete für die neue Veröffentlichung abgerufen werden. Dies erledigen Sie mit dem folgenden Befehl:

# apt update
    
[Anmerkung]Anmerkung

Nutzer von apt-secure könnten Probleme bekommen, wenn sie aptitude oder apt-get benutzen. Im Falle von apt-get können Sie dann apt-get update --allow-releaseinfo-change verwenden.

4.4.3. Sicherstellen, dass genügend Speicherplatz für das Upgrade zur Verfügung steht

Sie müssen vor dem Upgrade sicherstellen, dass Sie genügend Platz auf Ihrer Festplatte verfügbar haben, wenn Sie wie in Abschnitt 4.4.6, „Upgrade des Systems“ beschrieben ein Upgrade des kompletten Systems starten. Als erstes wird jedes Paket, das zur Installation benötigt wird und über das Netz heruntergeladen werden muss, in /var/cache/apt/archives gespeichert (bzw. während des Downloads im Unterverzeichnis partial/). Sie müssen also sicherstellen, dass Sie auf der Partition, die /var/ beinhaltet, genügend Platz haben, um temporär alle Pakete, die installiert werden sollen, herunterladen zu können. Nach dem Download benötigen Sie möglicherweise mehr Platz in anderen Partitionen, sowohl um die zu aktualisierenden Pakete zu installieren (diese könnten größere Binärdateien oder zusätzliche Daten enthalten) als auch um Pakete zu installieren, die neu hinzukommen. Falls Sie nicht genügend freien Speicherplatz bereithalten, bleibt vielleicht ein System mit einem unvollständigen Upgrade zurück, das unter Umständen nur schwer wiederbelebt werden kann.

apt kann Ihnen detaillierte Informationen über den Festplattenplatz anzeigen, der für die Installation benötigt wird. Bevor Sie das Upgrade ausführen, können Sie sich die ungefähren Werte durch folgenden Befehl anschauen:

# apt -o APT::Get::Trivial-Only=true full-upgrade
[ ... ]
XXX aktualisiert, XXX neu installiert, XXX zu entfernen und XXX nicht aktualisiert.
Es müssen xxx.x MB an Archiven heruntergeladen werden.
Nach dieser Operation werden xxx MB Plattenplatz zusätzlich benutzt.
    
[Anmerkung]Anmerkung

Das Ausführen dieses Befehls zu Beginn des Upgrade-Prozesses könnte einen Fehler ausgeben (die Gründe sind in den folgenden Abschnitten beschrieben). In diesem Fall müssen Sie mit der Ausführung des Befehls warten, bis Sie das minimale System-Upgrade (wie in Abschnitt 4.4.5, „Minimales System-Upgrade“ beschrieben) durchgeführt haben, um den Platzbedarf abschätzen zu können.

Falls Sie nicht genügend Platz für das Upgrade haben, wird apt Sie mit einer Meldung wie dieser warnen:

F: Sie haben nicht genug Platz in /var/cache/apt/archives/.
    

In dieser Situation müssen Sie vorher manuell Platz schaffen. Sie können:

  • Pakete löschen, die früher schon einmal für eine Installation heruntergeladen worden sind (in /var/cache/apt/archives). Durch das Leeren des Paket-Caches mit apt clean werden alle bereits heruntergeladenen Paketdateien gelöscht.

  • Vergessene Pakete entfernen. Wenn Sie aptitude oder apt verwendet haben, um Pakete in Bullseye manuell zu installieren, werden die Paketwerkzeuge dies registriert haben und können auch andere Pakete als unnötig markieren, die nur aufgrund von Abhängigkeiten installiert wurden und jetzt nicht mehr benötigt werden, weil ein Paket entfernt wurde. Es werden keine Pakete zur Entfernung vorgemerkt werden, die Sie manuell installiert haben. Um automatisch installierte und jetzt nicht mehr verwendete Pakete zu entfernen, führen Sie dies aus:

    # apt autoremove
            

    Sie können auch deborphan, debfoster oder cruft verwenden, um unnötige Pakete zu finden. Entfernen Sie nicht blind die Pakete, die von diesen Programmen ausgegeben werden, speziell wenn Sie Optionen mit aggressiven Nicht-Standard-Werten verwenden, die dafür bekannt sind, falsch-positive Meldungen zu erzeugen. Es wird dringend empfohlen, dass Sie die Pakete, die zum Entfernen vorgeschlagen werden, kontrollieren (bezüglich Inhalt, Größe und Beschreibung), bevor Sie sie entfernen.

  • Entfernen Sie Pakete, die viel Speicherplatz belegen und die aktuell nicht benötigt werden (Sie können sie nach dem Upgrade wieder installieren). Wenn Sie popularity-contest installiert haben, können Sie popcon-largest-unused verwenden, um die Pakete aufzulisten, die derzeit nicht verwendet werden und den meisten Platz verbrauchen. Um die Pakete ausfindig zu machen, die schlicht den meisten Festplattenspeicher in Anspruch nehmen, verwenden Sie dpigs (aus dem debian-goodies-Paket) oder wajig (führen Sie wajig size aus). Desweiteren können Sie diese Pakete auch mit aptitude finden. Starten Sie dazu aptitude im Terminal-Modus, wählen Sie AnsichtenNeue einfache Paketansicht, drücken Sie l und geben Sie ~i ein, drücken Sie dann S und geben Sie ~installsize ein. Nun wird Ihnen eine schöne Liste angezeigt, mit der Sie arbeiten können.

  • Entfernen von Übersetzungen und Lokalisierungsdateien aus dem System, falls diese nicht benötigt werden. Sie können das Paket localepurge installieren und so konfigurieren, dass nur einige ausgewählte Gebietsschemata (locales) im System verbleiben. Dies wird den unter /usr/share/locale benötigten Plattenplatz reduzieren.

  • System-Protokolldateien (die unter /var/log/ liegen) vorübergehend auf ein anderes System verschieben oder dauerhaft löschen.

  • Ein temporäres /var/cache/apt/archives verwenden: Sie können vorübergehend ein Cache-Verzeichnis auf einem anderen Dateisystem benutzen (USB-Speicher, provisorisch angeschlossene Festplatte, ein bereits anderweitig benutztes Dateisystem ...).

    [Anmerkung]Anmerkung

    Benutzen Sie jedoch kein per NFS eingebundenes Netzlaufwerk, da die Netzwerkverbindung während des Upgrades unterbrochen werden könnte.

    Falls Sie zum Beispiel eine USB-Festplatte haben, die in /media/usbkey eingebunden ist:

    1. entfernen Sie die Pakete, die unter Umständen bereits früher für Installationen heruntergeladen worden sind:

      # apt clean
                      

    2. kopieren Sie das Verzeichnis /var/cache/apt/archives auf die USB-Festplatte:

      # cp -ax /var/cache/apt/archives /media/usbkey/
                      

    3. binden Sie das temporäre Cache-Verzeichnis in dem vorhandenen ein:

      # mount --bind /media/usbkey/archives /var/cache/apt/archives
                      

    4. stellen Sie nach dem Upgrade das ursprüngliche /var/cache/apt/archives-Verzeichnis wieder her:

      # umount /var/cache/apt/archives
                      

    5. entfernen Sie das verbleibende /media/usbkey/archives.

    Sie können das temporäre Cache-Verzeichnis auf jedem Dateisystem erstellen, das auf Ihrem System eingebunden ist.

  • Führen Sie ein minimales Upgrade (siehe Abschnitt 4.4.5, „Minimales System-Upgrade“) oder andere Teil-Upgrades des Systems durch, gefolgt von einem vollständigen Upgrade. Dies schafft die Möglichkeit, das System stückweise zu aktualisieren und erlaubt es Ihnen, den Paket-Cache vor dem vollständigen Upgrade nochmals zu leeren.

Beachten Sie, dass es ratsam ist, die APT source-list-Dateien zurück auf bullseye zu ändern (wie in Abschnitt A.2, „Überprüfen Ihrer Paketquellen (APT source-list-Dateien)“ beschrieben), um Pakete sicher entfernen zu können.

4.4.4. Überwachungssysteme stoppen

Da apt Dienste, die auf Ihrem System laufen, eventuell vorübergehend beenden muss, ist es vielleicht eine gute Idee, Überwachungssysteme zu stoppen, die solche beendeten Dienste sonst wieder starten könnten. In Debian ist z.B. monit ein Beispiel für solch ein Überwachungssytem.

4.4.5. Minimales System-Upgrade

In einigen Fällen wird durch das direkte Ausführen des vollständigen Upgrades (wie unten beschrieben) eine große Anzahl von Paketen entfernt, die Sie eigentlich behalten möchten. Wir empfehlen deshalb einen zweiteiligen Upgrade-Prozess: als erstes ein minimales Upgrade, um diese Konflikte zu umgehen und anschließend ein vollständiges Upgrade wie in Abschnitt 4.4.6, „Upgrade des Systems“ beschrieben.

Führen Sie dazu zuerst dies aus:

# apt upgrade --without-new-pkgs
    

Dies hat den Effekt, dass für diejenigen Pakete ein Upgrade durchgeführt wird, für die dies möglich ist, ohne dass irgendwelche anderen Pakete entfernt oder installiert werden müssen.

Solch ein minimales System-Upgrade kann auch nützlich sein, wenn auf dem System freier Festplattenplatz knapp ist und aus diesem Grund ein komplettes Upgrade nicht durchgeführt werden kann.

Falls das apt-listchanges-Paket installiert ist, wird es (in seiner Standard-Konfiguration) alle wichtigen Informationen über aktualisierte Pakete in einem Pager anzeigen, nachdem die Pakete heruntergeladen wurden. Drücken Sie q, nachdem Sie alles gelesen haben, um den Pager zu beenden und das Upgrade fortzusetzen.

4.4.6. Upgrade des Systems

Wenn Sie die vorherigen Schritte hinter sich gebracht haben, Sie sind bereit für den eigentlichen Hauptteil des Upgrades. Führen Sie aus:

# apt full-upgrade
    

Dadurch wird ein vollständiges Upgrade des Systems durchgeführt, also die Installation der neuesten verfügbaren Versionen aller Pakete und die Auflösung aller möglichen Änderungen bei den Abhängigkeiten zwischen Paketen der verschiedenen Veröffentlichungen. Falls nötig werden einige neue Pakete installiert (üblicherweise neue Bibliotheksversionen oder umbenannte Pakete) sowie veraltete Pakete entfernt, die Konflikte verursachen.

Falls Sie ein Upgrade von einem Satz CDs/DVDs/BDs durchführen, werden Sie an verschiedenen Stellen des Upgrade-Prozesses aufgefordert, bestimmte Disks einzulegen. Sie müssen eventuell ein und dieselbe Disk mehrmals einlegen; dies liegt daran, dass einige Pakete mit gegenseitiger Wechselbeziehung zueinander über verschiedene Disks verteilt sind.

Neue Versionen von bereits installierten Paketen, die nicht aktualisiert werden können, ohne den Installationsstatus eines anderen Pakets zu ändern, werden in ihrer derzeitigen Version belassen (sie werden als zurückgehalten angezeigt). Dies kann aufgelöst werden, indem Sie entweder aptitude verwenden, um diese Pakete zur Installation vorzumerken, oder indem Sie apt install paketname versuchen.

4.5. Mögliche Probleme während des Upgrades

Die folgenden Abschnitte beschreiben bekannte Probleme, die während des Upgrades auf Bookworm auftreten können.

4.5.1. full-upgrade schlägt fehl mit Could not perform immediate configuration

In einigen Fällen kann der Schritt apt full-upgrade nach dem Heruntergeladen der Pakete fehlschlagen mit der Meldung:

E: Could not perform immediate configuration on 'paket'.  Please see man 5 apt.conf under APT::Immediate-Configure for details.
      

Falls dies passiert, sollte es möglich sein, mit apt full-upgrade -o APT::Immediate-Configure=0 das Upgrade fortzusetzen.

Eine andere Möglichkeit, dies zu umgehen ist, vorübergehend sowohl bullseye- wie auch bookworm-Quellen in Ihren APT source-list-Dateien anzugeben und danach apt update auszuführen.

4.5.2. Zu erwartende Paketentfernungen

Der Upgrade-Prozess auf Bookworm könnte auch das Entfernen von Paketen im System bedeuten. Die exakte Liste der zu entfernenden Pakete varriert in Abhängigkeit von den Paketen, die Sie installiert haben. Diese Veröffentlichungshinweise geben grundsätzliche Hinweise über diese Paketentfernungen, falls Sie aber Zweifel haben, wird empfohlen, dass Sie die Liste zu entfernender Pakete, die von den einzelnen Upgrade-Methoden vorgeschlagen werden, kontrollieren, bevor Sie fortfahren. Weitere Informationen über veraltete Pakete in Bookworm finden Sie in Abschnitt 4.8, „Veraltete Pakete“.

4.5.3. Conflicts- oder Pre-Depends-Schleifen

Manchmal ist es nötig, die Option APT::Force-LoopBreak in APT zu aktivieren, um die Möglichkeit zu haben, ein zwingend nötiges Paket vorübergehend entfernen zu können, falls das Problem einer Conflicts-/Pre-Depends-Schleife besteht. apt wird Sie über solch eine Problematik informieren und das Upgrade abbrechen. Sie setzen diese Option, indem Sie -o APT::Force-LoopBreak=1 in den apt-Befehl einfügen.

Es ist möglich, dass die Abhängigkeitsstruktur eines Systems so beschädigt ist, dass ein manuelles Eingreifen nötig ist. Dies erfordert üblicherweise die Verwendung von apt oder

# dpkg --remove paketname
    

um einige der beschädigten Pakete zu eliminieren, oder

# apt -f install
# dpkg --configure --pending
    

In extremen Fällen müssen Sie eventuell die Neuinstallation eines Pakets erzwingen; verwenden Sie dazu einen Befehl wie

# dpkg --install /pfad/zu/paketname.deb
    

4.5.4. Dateikonflikte

Dateikonflikte sollten nicht auftauchen, wenn Sie ein Upgrade auf einem reinen Bullseye-System durchführen, können aber vorkommen, wenn Sie inoffizielle Backports installiert haben. Ein Dateikonflikt resultiert in einem Fehler wie:

Entpacken von <irgendein-paket1> (aus <irgendein-paket1-dateiname>) ...
dpkg: Fehler beim Bearbeiten von <irgendein-paket1> (--install):
 Versuch, <name-irgendeiner-datei> zu überschreiben,
 welches auch in Paket <irgendein-paket2> ist
dpkg-deb: Unterprozess paste mit Signal (Broken pipe) getötet
 Fehler traten auf beim Bearbeiten von:
 <irgendein-paket1>
    

Sie können versuchen, einen Dateikonflikt zu lösen, indem Sie zwangsweise das Paket entfernen, das in der letzten Zeile der Fehlermeldung genannt wird:

# dpkg -r --force-depends paketname
    

Nachdem Sie die Probleme behoben haben, sollte es möglich sein, das Upgrade fortzusetzen, indem Sie die oben beschriebenen apt-Befehle nochmals ausführen.

4.5.5. Konfigurationsänderungen

Während des Upgrades werden Ihnen Fragen gestellt, die die Konfiguration oder Neukonfiguration verschiedener Pakete betreffen. Wenn Sie gefragt werden, ob Dateien in den Verzeichnissen /etc/init.d oder die Datei /etc/manpath.config durch die Version des Paketbetreuers ersetzt werden sollen, ist es für gewöhnlich nötig, mit yes (ja) zu antworten, um die Konsistenz des Systems sicherzustellen. Sie können jederzeit zu den alten Versionen der Konfigurationsdateien zurückkehren, da diese mit der Erweiterung .dpkg-old gesichert werden.

Falls Sie sich nicht sicher sind, was Sie tun sollen, schreiben Sie den Namen des Pakets oder der Datei auf und kümmern Sie sich später darum. Sie können die Mitschnittdatei durchsuchen, um die Informationen erneut zu betrachten, die zum Zeitpunkt des Upgrades auf dem Bildschirm angezeigt wurden.

4.5.6. Ändern der aktuellen Sitzung auf die Konsole

Wenn Sie das Upgrade von der lokalen Systemkonsole aus durchführen, werden Sie vielleicht feststellen, dass in einigen Situationen die Anzeige auf eine andere Konsole umgeschaltet wird, so dass Sie den Status des Upgrade-Prozesses nicht mehr beobachten können. Zum Beispiel könnte dies auf Systemen mit grafischer Oberfläche passieren, wenn der Displaymanager neu gestartet wird.

Um die Konsole wiederherzustellen, auf der der Upgrade-Prozess läuft, müssen Sie Strg+Alt+F1 betätigen (wenn Sie vom grafischen Startbildschirm zur 1. virtuellen Konsole wechseln möchten) oder Alt+F1 (wenn Sie sich auf einer virtuellen Text-Konsole befinden). Ersetzen Sie dabei F1 durch die Funktionstaste, die der Konsole zugeordnet ist, auf der der Upgrade-Prozess läuft. Sie können auch Alt+Pfeiltaste-Links oder Alt+Pfeiltaste-Rechts verwenden, um zwischen den verschiedenen Textmodus-Konsolen hin- und herzuschalten.

4.6. Upgrade des Kernels und zugehöriger Pakete

Dieser Abschnitt beschreibt, wie Sie ein Upgrade des Kernels durchführen und weist auf potenzielle Probleme hin, die diesen Vorgang betreffen. Sie können entweder eines der von Debian angebotenen linux-image-*-Pakete installieren oder einen eigenen Kernel aus den Quellen selbst kompilieren.

Beachten Sie, dass viele der Informationen in diesem Abschnitt auf der Annahme basieren, dass Sie einen der modularen Debian-Kernel zusammen mit initramfs-tools und udev verwenden. Falls Sie sich entscheiden, einen eigenen selbst erstellten Kernel zu benutzen, der keine Initrd benötigt, oder wenn Sie einen anderen Initrd-Generator verwenden, könnten einige der Informationen für Sie nicht relevant sein.

4.6.1. Ein Kernel-Metapaket installieren

Wenn Sie ein Distributions-Upgrade mit (apt full-upgrade) von Bullseye auf Bookworm durchführen, wird dringend empfohlen, ein linux-image-*-Metapaket zu installieren, falls noch nicht geschehen. Diese Metapakete werden während des Upgrade-Prozesses automatisch eine neue Kernel-Version installieren. Ob Sie eins installiert haben, können Sie verifizieren mit:

$ dpkg -l 'linux-image*' | grep ^ii | grep -i meta
    

Falls nichts angezeigt wird, müssen Sie entweder ein neues linux-image-Paket von Hand installieren oder Sie installieren ein linux-image-Metapaket. Eine Liste verfügbarer linux-image-Metapakete bekommen Sie mit:

$ apt-cache search linux-image- | grep -i meta | grep -v transition
    

Falls Sie bei der Entscheidung, welches Paket Sie wählen sollen, unsicher sind, führen Sie uname -r aus und suchen Sie nach einem Paket mit einem ähnlichen Namen. Falls die Anzeige zum Beispiel 4.9.0-8-amd64 ist, wird empfohlen, dass Sie linux-image-amd64 installieren. Sie können auch apt benutzen, um eine ausführliche Beschreibung jedes Pakets zu bekommen, was Ihnen bei der Paketauswahl helfen kann. Zum Beispiel:

$ apt show linux-image-amd64
    

Sie sollten dann apt install verwenden, um es zu installieren. Sobald dieser neue Kernel installiert ist, sollten Sie sobald wie möglich einen Neustart durchführen, um von der neuen Kernel-Version zu profitieren. Lesen Sie aber Abschnitt 5.1.16, „Dinge, die vor dem Neustart erledigt werden sollten“, bevor Sie nach dem Upgrade den ersten Reboot durchführen.

Für alle Experimentierfreudigen gibt es einen einfachen Weg, einen eigenen angepassten Kernel unter Debian zu kompilieren. Installieren Sie die Kernel-Quellen aus dem linux-source-Paket. Sie können dann das Target dep-pkg zur Erstellung eines Binär-Pakets verwenden. Weitere Informationen finden Sie im Debian Linux Kernel-Handbuch, das es auch als debian-kernel-handbook-Paket gibt.

Falls möglich, wäre es ein Vorteil, wenn Sie das Kernel-Paket separat vom Rest des Systems aktualisieren, um die Wahrscheinlichkeit eines nicht-bootfähigen Systems zu reduzieren. Beachten Sie, dass dies nur nach dem minimalen System-Upgrade (siehe Abschnitt 4.4.5, „Minimales System-Upgrade“) durchgeführt werden sollte.

4.7. Vorbereiten auf die nächste Veröffentlichung

Nach dem Upgrade gibt es einige Dinge, die Sie tun können, um für die nächste Veröffentlichung vorbereitet zu sein.

4.7.1. Vollständiges Löschen entfernter Pakete

Es ist grundsätzlich empfehlenswert, entfernte Pakete vollständig (inkl. der Konfigurationsdateien) zu löschen. Dies ist besonders relevant, wenn sie im Rahmen eines früheren Upgrades entfernt wurden (z.B. bei dem Upgrade auf Bullseye) oder bei Paketen von Drittanbietern. Speziell alte init.d-Skripte sind dafür bekannt, Probleme zu verursachen.

[Achtung]Achtung

Das vollständige Löschen eines Pakets wird grundsätzlich auch dessen Logdateien vom System entfernen, daher sollten Sie sie eventuell vorher sichern.

Folgender Befehl zeigt eine Liste aller entfernten Pakete an, deren Konfigurationsdateien noch auf dem System vorhanden sind (falls zutreffend):

$ apt list '~c'
    

Die Pakete können mittels apt purge vollständig gelöscht werden. Wenn wir davon ausgehen, dass Sie alle in einem Rutsch löschen möchten, können Sie folgenden Befehl verwenden:

# apt purge '~c'
    

4.8. Veraltete Pakete

Mit Bookworm werden viele neue Pakete eingeführt, jedoch werden auch einige alte Pakete, die in Bullseye noch existierten, ausgelassen oder wegfallen. Es wird keine Möglichkeit eines Upgrades für diese veralteten Pakete geben. Selbst wenn nichts Sie davon abhalten kann, ein veraltetes Paket weiter zu benutzen, falls Sie dies wünschen, wird das Debian-Projekt bei diesen Paketen üblicherweise die Unterstützung für Sicherheitsaktualisierungen ein Jahr nach der Veröffentlichung von Bookworm einstellen[5] und auch sonst in der Zwischenzeit keine Unterstützung dafür anbieten. Es wird empfohlen, die Pakete gegen die empfohlenen Alternativen (falls verfügbar) auszutauschen.

Es gibt viele Gründe, warum Pakete aus der Distribution entfernt worden sein könnten: sie wurden von den Originalautoren nicht mehr betreut; es ist kein Debian-Entwickler mehr daran interessiert, sie zu betreuen; die Funktionalität, die sie bieten, ist durch andere Software (oder eine neuere Version) ersetzt worden, oder sie wurden (aufgrund von Fehlern darin) als nicht mehr passend für Bookworm angesehen. Im letzten Fall könnten sie trotzdem noch in der unstable-Distribution vorhanden sein.

Veraltete und lokal erzeugte Pakete können aufgelistet und vollständig vom System entfernt werden mit:

$ apt list '~o'
# apt purge '~o'
  

Die Debian-Fehlerdatenbank bietet oft zusätzliche Informationen, warum ein Paket entfernt wurde. Sie sollten sowohl die archivierten Fehlerberichte für das Paket selbst als auch für das Pseudo-Paket ftp.debian.org kontrollieren.

Eine Liste veralteter Pakete für Bookworm finden Sie unter Abschnitt 5.3.1, „Nennenswerte veraltete Pakete“.

4.8.1. Übergangs-Dummy-Pakete

Einige Pakete aus Bullseye könnten in Bookworm durch Übergangs-Dummy-Pakete ersetzt worden sein; das sind leere Platzhalter-Pakete, die lediglich dazu gedacht sind, um ein Upgrade zu vereinfachen. Wenn zum Beispiel eine Anwendung, die vorher nur aus einem einzigen Paket bestand, in mehrere Pakete aufgeteilt wurde, kann ein Übergangspaket bereitgestellt werden, das den gleichen Namen wie das alte Paket hat sowie entsprechende Abhängigkeiten, die dazu führen, dass alle neuen Pakete installiert werden. Nachdem dieser Installationsvorgang stattgefunden hat, kann das Übergangspaket problemlos entfernt werden.

Die Paketbeschreibungen für Übergangs-Dummy-Pakete enthalten normalerweise einen Hinweis auf ihren Zweck. Jedoch sind diese Beschreibungen nicht standardisiert; insbesondere sind einige Dummy-Pakete nicht dazu gedacht, nach dem Upgrade entfernt zu werden, sondern dienen stattdessen dazu, eine größere Programm-Suite vollständig zu installieren oder die aktuell verfügbare Version eines Programms zu verfolgen. Vielleicht ist deborphan mit einer der --guess-*-Optionen für Sie nützlich (z.B. --guess-dummy), um solche Übergangs-Pakete auf Ihrem System zu finden.



[1] Wenn die debconf-Priorität auf einen sehr hohen Wert gesetzt wird, können Sie so eventuell Konfigurationsfragen vermeiden, aber Dienste, die auf Standardantworten angewiesen sind, welche jedoch auf Ihrem System nicht zutreffend sind, werden nicht erfolgreich starten.

[2] Zum Beispiel: DNS- oder DHCP-Dienste, besonders wenn keine Redundanz- oder Ersatzsysteme für den Fall eines Ausfalls vorhanden sind. Im Fall von DHCP-Diensten werden die Endbenutzer unter Umständen vom Netzwerk getrennt, wenn die Lease-Zeit niedriger ist als die, die für den Abschluß des Upgrade-Prozesses benötigt wird.

[3] Diese Funktionalität kann deaktiviert werden, indem der Parameter panic=0 zu den Boot-Parametern hinzugefügt wird.

[4] Das Paketverwaltungssystem von Debian erlaubt es normalerweise nicht, dass ein Paket Dateien anderer Pakete entfernt oder ersetzt, es sei denn, es wurde definiert, dass es das andere Paket ersetzt.

[5] So lange es keine andere Veröffentlichung in diesem Zeitraum gibt. Typischerweise werden zu jeder Zeit nur zwei stabile Veröffentlichungen mit Sicherheitsaktualisierungen unterstützt.