CentOS 8 AppStream-Metadatenfehler: So beheben Sie ihn | INTROSERV
EUR
european

EUR

usa

USD

German De
Ex. VAT Ex. VAT 0%

So beheben Sie den AppStream-Repository-Metadatenfehler unter CentOS 8

Einführung

Wenn Sie unter CentOS 8 ein Update ausführen oder versuchen, ein Paket zu installieren, bricht der Paketmanager möglicherweise mit folgendem Fehler ab:

Failed to load metadata for 'AppStream' repo: Cannot prepare internal mirror list: No URLs in mirror list.

Dies ist keine Netzwerkstörung oder ein vorübergehendes Mirror-Problem. Es handelt sich um das erwartete Ergebnis davon, dass CentOS 8 das Ende seines Lebenszyklus erreicht hat. Dieser Artikel erklärt, warum der Fehler auftritt, was die richtige langfristige Lösung ist, und wie Sie das System vorübergehend wieder online bringen, falls Sie weiterhin darauf zugreifen müssen.

Warum dieser Fehler auftritt

CentOS Linux 8 hat am 31. Dezember 2021 das Ende seines Lebenszyklus erreicht. Nach diesem Datum wurde der Mirrorlist-Dienst für CentOS Linux 8 eingestellt und die Pakete wurden auf den Archivserver vault.centos.org verschoben.

Die Repository-Dateien auf dem System verweisen weiterhin auf mirrorlist.centos.org. Da dieser Dienst keine URLs mehr zurückgibt, kommt die Mirror-Liste leer zurück, und der Paketmanager hat keine Adresse, von der er Metadaten herunterladen kann. Das ist die Meldung, die Sie sehen.

Info

Die Pakete wurden nicht gelöscht. Sie wurden auf einen Archivserver, vault.centos.org, verschoben. Das macht die im Folgenden beschriebene vorübergehende Lösung möglich.

Empfohlene Lösung: Migration zu AlmaLinux oder Rocky Linux

Da CentOS 8 keine Updates mehr erhält, einschließlich Sicherheitsupdates, stellt der Weiterbetrieb im Produktivsystem ein Risiko dar. Die richtige Lösung besteht darin, zu einer Distribution zu wechseln, die binärkompatibel mit dem bereits laufenden System ist.

AlmaLinux und Rocky Linux sind kostenlose, von der Community unterstützte Nachbauten von Red Hat Enterprise Linux. Sie sind als direkte Ersatzlösungen für CentOS konzipiert, sodass bestehende Software und Konfigurationen in den meisten Fällen ohne Änderungen weiterlaufen. Beide Projekte bieten ein In-Place-Migrationsskript, das CentOS 8 konvertiert, ohne den Server neu zu installieren.

Warning

Erstellen Sie vor der Migration immer ein vollständiges Backup oder einen Snapshot. Eine In-Place-Konvertierung ändert zentrale Systempakete, und Sie sollten einen Weg zurück haben, falls etwas schiefgeht.

Beide Migrationsskripte benötigen einen funktionierenden Paketmanager, um die neuen Pakete herunterzuladen. Auf einem CentOS-8-System, das das Ende seines Lebenszyklus erreicht hat, sind die Repositories nicht mehr erreichbar. Wenden Sie daher zuerst die im nächsten Abschnitt beschriebene vorübergehende Lösung an und führen Sie anschließend die Migration durch.

Migration zu AlmaLinux 8:

curl -O https://raw.githubusercontent.com/AlmaLinux/almalinux-deploy/master/almalinux-deploy.sh bash almalinux-deploy.sh

Migration zu Rocky Linux 8:

curl -O https://raw.githubusercontent.com/rocky-linux/rocky-tools/main/migrate2rocky/migrate2rocky.sh bash migrate2rocky.sh -r

Nachdem das Skript abgeschlossen ist, starten Sie den Server neu und bestätigen Sie das neue System mit:

cat /etc/os-release dnf repolist


Tip

Falls der Server nicht in place migriert werden kann oder Sie lieber neu beginnen möchten, richten Sie einen neuen VPS mit bereits installiertem AlmaLinux oder Rocky Linux ein und übertragen Sie Ihre Daten dorthin. INTROSERV bietet Linux-VPS mit diesen Distributionen bereits bei der Bestellung an.

Vorübergehende Lösung: Repositories auf das Archiv umleiten

Verwenden Sie dies nur, wenn das System für kurze Zeit wieder funktionieren muss, zum Beispiel um vor der Migration ein letztes Backup zu erstellen, oder um eine nicht kritische Maschine bis zum Abschluss der Migration am Laufen zu halten. Dadurch wird CentOS 8 nicht wieder unterstützt, und es kommen keine Updates zurück.

Info

Bevor Sie die folgenden Befehle ausführen, prüfen Sie die genaue Version Ihrer Installation mit cat /etc/centos-release. Dieser Artikel verwendet 8.5.2111 als Beispiel. Ersetzen Sie dies durch die auf Ihrem System gemeldete Version. Wenn Sie die falsche archivierte Version angeben, kann DNF 404-Fehler zurückgeben, da dieses Verzeichnis für Ihre Installation nicht existiert.

Die folgenden Befehle deaktivieren die nicht mehr funktionierende Mirror-Liste und leiten die Repository-Dateien stattdessen auf den Archivserver vault.centos.org um:

cd /etc/yum.repos.d/ sed -i 's/^mirrorlist/#mirrorlist/g' CentOS-* sed -i 's|^#baseurl=.*mirror.centos.org|baseurl=https://vault.centos.org|g' CentOS-* sed -i 's|/$contentdir/$releasever/|/8.5.2111/|g' CentOS-*

Warning

Im Gegensatz zu den aktiven Repositories ist das Archiv unter festen Release-Verzeichnissen organisiert, zum Beispiel 8.5.2111. Dadurch verweist der Standardpfad $releasever nicht mehr auf gültige Inhalte und muss durch die genaue archivierte Version ersetzt werden. Dies gilt für alle drei Standard-Repository-Dateien, AppStream, BaseOS und Extras, nicht nur für AppStream.

Überprüfen Sie nach Ausführung der obigen Befehle jede Repository-Datei einzeln, anstatt der Sammelbearbeitung blind zu vertrauen, da sich bei einem sed-Befehl über drei Dateien leicht ein falsches Zeichen oder ein falsches Trennzeichen unbemerkt einschleichen kann.

Prüfen Sie die AppStream-Datei:

cat CentOS-Linux-AppStream.repo

Die baseurl-Zeile sollte genau wie folgt lauten, wobei das Release-Verzeichnis Ihrer eigenen Version entspricht:

baseurl=https://vault.centos.org/8.5.2111/AppStream/x86_64/os/

Prüfen Sie die BaseOS-Datei auf die gleiche Weise:

cat CentOS-Linux-BaseOS.repo

Und die Extras-Datei:

cat CentOS-Linux-Extras.repo

Sobald alle drei Dateien bestätigt sind, leeren Sie den Cache und erstellen Sie ihn neu:

dnf clean all dnf makecache dnf repolist

Wenn ein Repository korrekt repariert wurde, lädt es nun seine Metadaten fehlerfrei herunter. Wenn eine Datei noch einen Tippfehler enthält, meldet dnf das jeweils fehlgeschlagene Repository, sodass Sie leicht zurückgehen und genau diese Datei überprüfen können.

Warning

Das Archiv enthält die letzten vor dem Ende des Lebenszyklus veröffentlichten Pakete. Sie erhalten keine neueren Versionen oder Sicherheitspatches mehr. Betrachten Sie dies als Möglichkeit, das System bis zur Migration erreichbar zu halten, nicht als dauerhaften Zustand.

Um zu bestätigen, dass Pakete korrekt installiert werden und nicht nur die Metadaten geladen werden, testen Sie mit einem beliebigen kleinen Paket:

dnf install -y wget


Sobald dies erfolgreich ist, führen Sie das eigentliche Update aus:

dnf update -y

Fazit

Der AppStream-Metadatenfehler unter CentOS 8 ist ein Zeichen dafür, dass die Distribution das Ende ihres Lebenszyklus erreicht hat. Die einzige langfristige Lösung besteht darin, idealerweise nach einem vollständigen Backup zu einer unterstützten, binärkompatiblen Distribution wie AlmaLinux oder Rocky Linux zu migrieren. Der Workaround über vault.centos.org bleibt nützlich, jedoch nur als kurzfristige Brücke, um den Server lange genug lauffähig zu halten, bis Sie sicher von CentOS 8 wegwechseln.

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA