Online-Aktualisierung von Fedora Linux mithilfe der Paketverwaltung

Ben Cotton, Kamil Páral, Caleb McKee Version F37, F38, F39, F40 Last review: 2023-11-07
Diese Seite enthält Informationen, die erklären, wie man Fedora Linux online mit dnf aktualisiert (ohne das DNF-Systemaktualisierungs-Plugin).

Dies ist eine nicht unterstützte Aktualisierungsmethode. Lesen Sie Aktualisierung auf eine neue Version von Fedora Linux, um eine Liste mit unterstützten und getesteten Aktualisierungsmethoden zu erhalten. Die in dieser Anleitung beschriebenen Schritte erfolgen auf eigene Gefahr.

Fedora Linux direkt mit dnf aktualisieren

Teilnehmen

Wenn Sie die Systemaktualisierung mittels DNF durchführen und dabei allgemeine Abhängigkeitsprobleme auftreten, melden Sie diese bitte in Bugzilla. Lesen Sie jedoch bitte diese Seite, alle Referenzseiten und durchsuchen Sie die Mailinglistenarchive, bevor Sie Fehler melden. Und natürlich bitten wir Sie um Hilfe, um diese Seite aktuell zu halten.

Wenn Sie dazu beitragen möchten, dass Live-Systemaktualisierungen reibungslos funktionieren, treten Sie der folgenden Gruppe Live Upgrade Special Interest Group bei.

Systemaktualisierung über mehrere Veröffentlichungen hinweg

Wenn Sie über mehrere Versionen hinweg aktualisieren müssen, empfiehlt es sich generell, jeweils eine Version nach der anderen zu installieren: Anstatt beispielsweise direkt von Fedora Linux 37 auf Fedora Linux 39 zu aktualisieren, sollten Sie zuerst auf Fedora Linux 38 und dann auf Fedora Linux 39 aktualisieren. Dadurch verringert sich in der Regel die Anzahl möglicher Probleme mit Paketabhängigkeiten. Wenn Sie von einer Version aktualisieren, deren Support eingestellt wurde, lesen Sie bitte auch den Abschnitt zum Supportende.

Anweisungen zur Aktualisierung mit dnf

1. Sichern Sie die Daten Ihres Systems

Sichern Sie Ihre persönlichen Daten auf einer externen Festplatte oder einem anderen Computer. Im Falle eines nicht behebbaren Fehlers, der eine Neuinstallation erfordert, möchten Sie schließlich keine Daten verlieren.

2. Informieren Sie sich über häufig auftretende Probleme

Weiter unten auf dieser Seite finden Sie eine Liste häufiger Probleme, die bei Systemaktualisierungen mit DNF für bestimmte Versionen auftreten können. Einige davon erfordern vor der Systemaktualisierung Aufmerksamkeit.

Allgemeine Hinweise zum Aktualisieren von Fedora Linux finden Sie hier. Lesen Sie außerdem die Installationsanleitung und die Versionshinweise für die Version, auf die Sie aktualisieren möchten – diese enthalten wichtige Informationen zu Aktualisierungsproblemen. Schauen Sie abschließend in die Liste der häufig auftretenden Fehler.

3. Aufräumen

Überprüfen und entfernen Sie alle .rpmsave- und .rpmnew-Dateien vor und nach der Systemaktualisierung (und falls SELinux aktiviert ist, denken Sie daran, den Sicherheitskontext zu überprüfen, wenn Sie Konfigurationsdateien verschieben).

Suchen Sie nach nicht verwendeten Konfigurationsdateien + Führen Sie die vom folgenden Skript gefundenen Änderungen zusammen und lösen sie auf: dnf install rpmconf; rpmconf -a. Nun suchen und entfernen Sie alte Konfigurationsdateien, die niemandem mehr gehören: rpmconf -c.

Jetzt ist ein guter Zeitpunkt, um nicht verwendete Pakete zu entfernen – insbesondere nicht standardmäßige Pakete.

Suchen und prüfen Sie „nicht verwendete“ Pakete + Mit dem Werkzeug package-cleanup aus dem Paket dnf-utils können Sie Pakete finden, die von anderen Paketen nicht benötigt werden: dnf install dnf-utils; package-cleanup --leaves. Diese Pakete könnten zur Entfernung in Frage kommen. Prüfen Sie jedoch, ob Sie sie direkt verwenden oder ob sie von Anwendungen genutzt werden, die nicht auf RPM-Paketen basieren. Entfernen Sie sie mit dnf remove Paketname-und-Version. Ein weiteres nützliches Werkzeug zum Bereinigen ungenutzter Pakete ist rpmreaper. Es handelt sich um eine Ncurses-basierte Anwendung, mit der Sie den RPM-Abhängigkeitsgraphen anzeigen und Pakete zum Löschen markieren können. Durch das Markieren eines Pakets werden andere Pakete zu Randpaketen („leaf packages“), was Sie sofort sehen. So müssen Sie das Werkzeug nicht mehrmals ausführen, um einen ganzen Unterbaum ungenutzter Pakete zu entfernen. Installieren Sie es mit dnf install rpmreaper.
Suchen und prüfen Sie „verlorene“ Pakete + Mit package-cleanup --orphans können Sie verwaiste Pakete (das heißt, Pakete, die nicht mehr in den Paketquellen vorhanden sind) finden. Dies zeigt auch Pakete an, die teilweise deinstalliert wurden, bei denen aber das Skript „%postun“ fehlgeschlagen ist.

4. Die Systemaktualisierung ausführen

Wenn Sie Drittanbieter-Paketquellen konfiguriert haben, müssen Sie diese möglicherweise für die neue Fedora-Linux-Version anpassen. Beim Wechsel von einer Fedora-Linux-Version zur nächsten ist in der Regel nichts weiter zu tun. Wenn Sie von einer Standard-Fedora-Linux-Version auf Rawhide wechseln (oder umgekehrt), müssen Sie in den meisten Fällen die Rawhide-RPMs aus der Drittanbieter-Paketquelle installieren (oder die Standard-RPMs, falls Sie zurückwechseln).

Beachten Sie, dass die Systemaktualisierung wahrscheinlich fehlschlägt, wenn veraltete Abhängigkeiten von Paketen vorhanden sind, die nicht aus einer DNF-Paketquelle stammen oder aus einer Paketquelle stammen, die für die neue Version noch nicht bereit ist.

Es empfiehlt sich, die Systemaktualisierung außerhalb der grafischen Benutzeroberfläche durchzuführen. Melden Sie sich von Ihrem grafischen Desktop ab und verwenden Sie dann

fedora-upgrade

Es steht ein kleines Skript namens fedora-upgrade zur Verfügung, das den unten beschriebenen Prozess automatisiert. Um es auszuführen, gehen Sie wie folgt vor:

$ sudo dnf install fedora-upgrade
$ sudo fedora-upgrade

Bei einer Systemaktualisierung über die Remote-Shell empfiehlt es sich, screen oder das tmux-Dienstprogramm zu verwenden, um im Falle eines Verbindungsabbruchs zur laufenden Transaktion zurückkehren zu können.

Alternativ führen Sie manuell folgende Schritte aus:

Öffnen Sie eine Textkonsole

Strg+Alt+F2

(oder)

Melden Sie sich als Root an und gehen Sie in das Systemd-Ziel multi-user.target

$ sudo systemctl isolate multi-user.target

Vollständige Aktualisierung Ihrer aktuellen Fedora Linux-Installation

$ sudo dnf upgrade

Installieren Sie den Paketsignierschlüssel für die Veröffentlichung, auf die Sie aktualisieren

Bei einer Systemaktualisierung über maximal zwei Versionen von Fedora Linux 20 oder höher ist dieser Schritt in der Regel nicht erforderlich. Bei einer Systemaktualisierung von einer älteren Fedora-Linux-Version oder einer Systemaktualisierung von drei oder mehr Versionen müssen Sie möglicherweise den Signaturschlüssel für die Zielversion importieren.

Falls das nicht so sein sollte, können Sie Schlüssel folgendermaßen importieren:

$ sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-23-x86_64

wobei „23“ und „x86_64“ durch die neue Version von Fedora Linux beziehungsweise Ihre Architektur ersetzt wird.

Paketsignaturschlüssel für aktuell unterstützte Versionen finden Sie auch hier. Schlüssel für nicht mehr unterstützte Versionen finden Sie hier. Klicken Sie auf Primary (oder Secondary, falls Sie eine sekundäre Architektur verwenden). Anschließend wird Ihnen Geit it from: Fedora Project angezeigt, wobei Fedora Project ein Link ist. Kopieren Sie diese URL und führen Sie folgenden Befehl aus:

$ sudo rpm --import (url)

Dadurch wird der Schlüssel installiert. Bei älteren Versionen kann es mit rpm zu Problemen kommen; sollte dies der Fall sein, laden Sie die Datei mit curl -o oder wget herunter und importieren Sie die heruntergeladene Datei.

Cache aufräumen

Entfernen Sie anschließend alle Spuren der Version, die Sie verlassen, aus dem DNF-Zwischenspeicher in`/var/cache/dnf`.

$ sudo dnf clean all

Alle Pakete aktualisieren

Führen Sie die Systemaktualisierung niemals im Akkubetrieb durch! + Schließen Sie Ihr Gerät immer an das Stromnetz an, wenn Sie einen Laptop verwenden. Sollte Ihr System jedoch über einen Akku verfügen, stellen Sie sicher, dass dieser geladen und angeschlossen ist, um im Falle eines Stromausfalls während der Systemaktualisierung für ausreichend Sicherheit zu sorgen.
Unterbrechen Sie eine Systemaktualisierung unter keinen Umständen! Sobald eine Live-Systemaktualisierung gestartet wurde, darf sie nicht durch Neustart, Beenden des Prozesses oder auf andere Weise gestoppt werden, bis sie abgeschlossen ist. Eine Unterbrechung führt dazu, dass sich das betroffene System in einem gemischten Zustand befindet – teilweise die alte, teilweise die neue Version. In diesem Zustand ist das System nicht zuverlässig und funktioniert nicht wie erwartet. Sie können versuchen, die Probleme mit den Befehlen dnf distro-sync und package-cleanup --problems zu beheben.

Führen Sie den folgenden Befehl zur Aktualisierung aus:

$ sudo dnf --releasever=<Nummer_der_Veröffentlichung> --setopt=deltarpm=false distro-sync
Abhängigkeitsprobleme + Sollten Abhängigkeitsprobleme auftreten, müssen Sie diese manuell beheben. Häufig werden sie dadurch verursacht, dass Pakete in der neueren Version entfernt, aber nicht ordnungsgemäß als veraltet gekennzeichnet wurden. Oft genügt es, mehrere problematische Pakete zu entfernen. Möglicherweise stellen Sie fest, dass ein wichtiges Paket von einem Paket abhängt, das für die Systemaktualisierung entfernt werden muss. Normalerweise können Sie das wichtige Paket nach Abschluss der Systemaktualisierung wieder installieren.

Wenn Sie ein Paket mit vielen Abhängigkeiten entfernen müssen, insbesondere solche, die wichtig erscheinen, seien Sie bitte vorsichtig. Wenn Sie eine Systemaktualisierung über mehrere Versionen hinweg durchführen, versuchen Sie es zunächst mit kleineren Schritten, um zu sehen, ob sich das Problem dadurch beheben lässt.

Wenn Sie sich in irgendeiner Weise unsicher sind, fragen Sie in einer Mailingliste, einem Forum oder im IRC-Kanal um Hilfe, bevor Sie Pakete entfernen.

5. Stellen Sie sicher, dass Fedora aktualisiert wurde

Distro-sync kümmert sich normalerweise auch um Aktualisierungen der aktivierten Drittanbieter-Paketquellen. Überprüfen Sie den Aktualisierungsprozess nach Abschluss mit dnf repolist. dnf meldet möglicherweise Konflikte oder fehlende Abhängigkeiten. Dies liegt wahrscheinlich daran, dass Sie nicht-standardmäßige Paketquellen verwendet oder nicht-standardmäßige Pakete manuell installiert haben. Versuchen Sie herauszufinden, welche Pakete das Problem verursachen (oder zumindest Teil der Abhängigkeitskette sind) – deinstallieren Sie diese und versuchen Sie es erneut. Denken Sie daran, die Pakete erneut zu installieren, falls diese unbedingt erforderlich sind.

Überprüfen Sie mit folgendem Befehl, dass alle neuen (essenziellen) Pakete der neuen Veröffentlichung installiert sind:

$ sudo dnf group upgrade 'Minimal Install'

Möglicherweise möchten Sie auch andere Gruppen aktualisieren, siehe

$ sudo dnf group list -v

Zum Beispiel

$ sudo dnf group upgrade "GNOME Desktop" \
    "Development Tools" "Sound and Video" \
    "Games and Entertainment" "Administration Tools" \
    "Office/Productivity" "System Tools"

6. Vorbereitung für den Neustart

Vor dem Booten sollten Sie normalerweise den Bootloader von Ihrem neuen GRUB-System installieren, indem Sie folgenden Befehl ausführen:

$ sudo /usr/sbin/grub2-install BOOT-GERÄT
  • BOOT-GERÄT ist bei manchen virtuellen Maschineninstallationen oft /dev/sda oder /dev/vda. Wenn Sie mehrere Festplatten haben, stellen Sie sicher, dass Sie das richtige Gerät verwenden!

Falls Sie eine Fehlermeldung erhalten (e.g. /dev/sda does not have any corresponding BIOS drive), versuchen Sie /usr/sbin/grub2-install --recheck BOOTDEVICE.

Möglicherweise muss auch die Grub-Konfigurationsdatei aktualisiert werden:

$ sudo cp --backup=numbered -a /boot/grub2/grub.cfg{,.bak} # Sicherungskopie erstellen
$ sudo /usr/sbin/grub2-mkconfig -o /boot/grub2/grub.cfg # Konfigurationsdatei aktualisieren

7. Räumen Sie Ihr System auf

Bereinigen Sie Ihr System erneut wie in Abschnitt 2 beschrieben. Sie sollten außerdem einige nicht mehr benötigte zwischengespeicherte Dateien entfernen, beispielsweise Dateien älterer Fedora Linux-Versionen in den folgenden Verzeichnissen:

  • /var/cache/dnf

  • /var/cache/mock

  • /var/lib/mock

Veröffentlichungsspezifische Hinweise

Hinweis: Die veröffentlichungsspezifischen Hinweise für nicht mehr unterstützte Veröffentlichungen finden Sie auf EOL packager manager upgrade page.

Von einer Vorabversion

Falls Sie von einer Alpha- oder Betaversion oder einem Veröffentlichungskandidaten aktualisieren, siehe Upgrading from pre-release to final.

Zu Rawhide

Siehe die Rawhide-Seite für weitere Informationen zu Rawhide.

$ sudo dnf upgrade
$ sudo dnf install dnf-plugins-core fedora-repos-rawhide
$ sudo dnf config-manager --set-disabled fedora updates updates-testing
$ sudo dnf config-manager --set-enabled rawhide
$ sudo dnf clean -q dbcache packages metadata
$ sudo dnf --releasever=rawhide --setopt=deltarpm=false distro-sync --nogpgcheck

## Optional: Es wird generell empfohlen, ein SELinux-Autorelabel durchzuführen und das System neu zu starten
$ sudo touch /.autorelabel

Fedora Linux 31

Bevor Sie

$ sudo dnf distro-sync

ausführen, müssen Sie

$ sudo dnf module reset libgit2 exa bat

ausführen. Siehe Bug 1747408.

Fedora Linux 30

Keine speziellen Anweisungen. Folgen Sie den Anweisungen oben.

Fedora Linux 29

Keine speziellen Anweisungen. Folgen Sie den Anweisungen oben.

Aktualisieren von veralteten, nicht mehr unterstützten (EOL-) Fedora-Versionen

Beachten Sie, dass Fedora dringend davon abrät, jemals eine veraltete Version auf einem Produktivsystem oder einem mit dem öffentlichen Internet verbundenen System zu verwenden. Sie sollten es von vornherein vermeiden, dass eine Fedora-Linux-Produktionsumgebung das Ende ihres Lebenszyklus erreicht.

Wenn Sie also eine veraltete Version auf einem System installiert haben, die Sie nicht einfach verwerfen oder neu installieren können, können Sie versuchen, sie zu aktualisieren. Dies ist jedoch ein wenig getesteter und nicht ausdrücklich unterstützter Vorgang.

Detaillierte Anweisungen zur Systemaktualisierung von nicht mehr unterstützten Versionen finden Sie hier.

Haben Sie einen Tippfehler, eine fehlende oder veraltete Information entdeckt oder etwas anderes, das verbessert werden kann? Bearbeiten Sie dieses Dokument hier.