Erreur de métadonnées AppStream sur CentOS 8 : solution | INTROSERV
EUR
european

EUR

usa

USD

French Fr
Ex. VAT Ex. VAT 0%

Comment corriger l'erreur de métadonnées du dépôt AppStream sur CentOS 8

Introduction

Lorsque vous exécutez une mise à jour ou essayez d'installer un paquet sur CentOS 8, le gestionnaire de paquets peut s'arrêter avec l'erreur suivante :

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

Il ne s'agit ni d'un problème réseau ni d'un problème temporaire de miroir. C'est le résultat attendu du fait que CentOS 8 a atteint la fin de sa vie. Cet article explique pourquoi cette erreur se produit, quelle est la solution correcte à long terme, et comment remettre temporairement le système en ligne si vous devez encore y accéder.

Pourquoi cette erreur se produit

CentOS Linux 8 a atteint la fin de sa vie le 31 décembre 2021. Après cette date, le service de liste de miroirs pour CentOS Linux 8 a été retiré et les paquets ont été déplacés vers le serveur d'archives vault.centos.org.

Les fichiers de dépôt du système pointent toujours vers mirrorlist.centos.org. Comme ce service ne renvoie plus aucune URL, la liste de miroirs revient vide, et le gestionnaire de paquets n'a plus d'adresse à partir de laquelle télécharger les métadonnées. C'est le message que vous voyez.

Info

Les paquets n'ont pas été supprimés. Ils ont été déplacés vers un serveur d'archives, vault.centos.org. C'est ce qui rend possible la solution temporaire décrite ci-dessous.

Solution recommandée : migrer vers AlmaLinux ou Rocky Linux

Étant donné que CentOS 8 ne reçoit plus aucune mise à jour, y compris de sécurité, le maintenir en production représente un risque. La solution correcte consiste à passer à une distribution compatible au niveau binaire avec le système que vous exploitez déjà.

AlmaLinux et Rocky Linux sont des reconstructions gratuites de Red Hat Enterprise Linux, prises en charge par la communauté. Elles sont conçues comme des remplacements directs de CentOS, de sorte que les logiciels et la configuration existants continuent de fonctionner sans modification dans la plupart des cas. Les deux projets fournissent un script de migration sur place qui convertit CentOS 8 sans réinstaller le serveur.

Warning

Effectuez toujours une sauvegarde complète ou un instantané avant de migrer. Une conversion sur place modifie des paquets système essentiels, et il est préférable de disposer d'un moyen de revenir en arrière en cas de problème.

Les deux scripts de migration nécessitent un gestionnaire de paquets fonctionnel pour télécharger les nouveaux paquets. Sur un système CentOS 8 arrivé en fin de vie, les dépôts ne sont plus accessibles ; appliquez donc d'abord la solution temporaire de la section suivante, puis exécutez la migration.

Pour migrer vers AlmaLinux 8 :

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

Pour migrer vers Rocky Linux 8 :

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

Une fois le script terminé, redémarrez le serveur et confirmez le nouveau système avec :

cat /etc/os-release dnf repolist


Tip

Si le serveur ne peut pas être migré sur place, ou si vous préférez repartir d'une installation propre, déployez un nouveau VPS avec AlmaLinux ou Rocky Linux déjà installé et transférez-y vos données. INTROSERV propose des VPS Linux avec ces distributions disponibles dès la commande.

Solution temporaire : rediriger les dépôts vers les archives

N'utilisez cette méthode que lorsque vous avez besoin que le système fonctionne à nouveau pour une courte durée, par exemple pour effectuer une dernière sauvegarde avant la migration, ou pour maintenir en fonctionnement une machine non critique jusqu'à ce que la migration puisse être terminée. Cela ne rend pas CentOS 8 à nouveau pris en charge et ne restaure pas les mises à jour.

Info

Avant d'exécuter les commandes ci-dessous, vérifiez la version exacte de votre installation avec cat /etc/centos-release. Cet article utilise 8.5.2111 à titre d'exemple. Remplacez-le par la version indiquée sur votre propre système. Si vous indiquez une version archivée incorrecte, DNF peut renvoyer des erreurs 404, car ce répertoire n'existe pas pour votre installation.

Les commandes ci-dessous désactivent la liste de miroirs devenue inutilisable et redirigent les fichiers de dépôt vers le serveur d'archives vault.centos.org :

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

Contrairement aux dépôts actifs, les archives sont organisées selon des répertoires de version fixes, par exemple 8.5.2111. Par conséquent, le chemin par défaut $releasever ne pointe plus vers un contenu valide et doit être remplacé par la version archivée exacte. Cela s'applique aux trois fichiers de dépôt par défaut, AppStream, BaseOS et Extras, et pas seulement à AppStream.

Après avoir exécuté les commandes ci-dessus, vérifiez chaque fichier de dépôt individuellement plutôt que de faire aveuglément confiance à la modification groupée, car un sed appliqué en une seule fois sur trois fichiers est un endroit facile pour qu'un caractère erroné ou un séparateur incorrect passe inaperçu.

Vérifiez le fichier AppStream :

cat CentOS-Linux-AppStream.repo

La ligne baseurl doit se lire exactement comme suit, le répertoire de version correspondant à votre propre version :

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

Vérifiez le fichier BaseOS de la même manière :

cat CentOS-Linux-BaseOS.repo

Et le fichier Extras :

cat CentOS-Linux-Extras.repo

Une fois les trois fichiers confirmés, videz le cache et reconstruisez-le :

dnf clean all dnf makecache dnf repolist

Si un dépôt a été correctement corrigé, il télécharge désormais ses métadonnées sans erreur. Si un fichier contient encore une faute de frappe, dnf signale le dépôt spécifique qui a échoué, ce qui permet de revenir facilement en arrière et de vérifier uniquement ce fichier.

Warning

Les archives contiennent les derniers paquets publiés avant la fin de vie. Vous ne recevrez plus de versions plus récentes ni de correctifs de sécurité. Considérez cela comme un moyen de garder le système accessible jusqu'à la migration, et non comme un état permanent.

Pour confirmer que les paquets s'installent correctement, et pas seulement que les métadonnées se chargent, testez avec un petit paquet quelconque :

dnf install -y wget


Une fois cette opération réussie, exécutez la mise à jour proprement dite :

dnf update -y

Conclusion

L'erreur de métadonnées AppStream sur CentOS 8 est le signe que la distribution a atteint la fin de sa vie. La seule solution à long terme consiste à migrer vers une distribution prise en charge et compatible au niveau binaire, telle qu'AlmaLinux ou Rocky Linux, idéalement après une sauvegarde complète. La solution de contournement via vault.centos.org reste utile, mais uniquement comme un pont temporaire permettant de maintenir le serveur en fonctionnement suffisamment longtemps pour quitter CentOS 8 en toute sécurité.

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