Napaka pri nalaganju metapodatkov za repozitorij »AppStream« [CentOS] v sistemu CentOS 8 | INTROSERV
EUR
european

EUR

usa

USD

Slovenia Sl
Ex. VAT Ex. VAT 0%

Napaka pri nalaganju metapodatkov za repozitorij »AppStream« [CentOS] v sistemu CentOS 8

Uvod

Ko na CentOS 8 zaženete posodobitev ali poskušate namestiti paket, se lahko upravitelj paketov ustavi z naslednjo napako:

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

To ni omrežna motnja niti začasna težava z zrcalnimi strežniki. Gre za pričakovan rezultat dejstva, da je CentOS 8 dosegel konec svoje življenjske dobe. Ta članek pojasnjuje, zakaj pride do te napake, kakšna je pravilna dolgoročna rešitev in kako sistem začasno znova vzpostaviti, če do njega še vedno potrebujete dostop.

Zakaj pride do te napake

CentOS Linux 8 je konec svoje življenjske dobe dosegel 31. decembra 2021. Po tem datumu je bila storitev seznama zrcalnih strežnikov za CentOS Linux 8 ukinjena, paketi pa so bili premaknjeni na arhivski strežnik vault.centos.org.

Datoteke repozitorijev v sistemu še vedno kažejo na mirrorlist.centos.org. Ker ta storitev ne vrača več nobenih naslovov URL, se seznam zrcalnih strežnikov vrne prazen, upravitelj paketov pa nima naslova, s katerega bi prenesel metapodatke. To je sporočilo, ki ga vidite.

Info

Paketi niso bili izbrisani. Premaknjeni so bili na arhivski strežnik vault.centos.org. Prav to omogoča spodaj opisano začasno rešitev.

Priporočena rešitev: preselitev na AlmaLinux ali Rocky Linux

Ker CentOS 8 ne prejema več nobenih posodobitev, vključno z varnostnimi, je njegovo nadaljnje delovanje v produkcijskem okolju tvegano. Pravilna rešitev je prehod na distribucijo, ki je binarno združljiva s sistemom, ki ga že uporabljate.

AlmaLinux in Rocky Linux sta brezplačni, s strani skupnosti podprti obnovitvi Red Hat Enterprise Linux. Zasnovani sta kot neposredni nadomestek za CentOS, zato obstoječa programska oprema in konfiguracija v večini primerov delujeta naprej brez sprememb. Oba projekta ponujata skript za migracijo na mestu (in place), ki pretvori CentOS 8 brez ponovne namestitve strežnika.

Warning

Pred migracijo vedno naredite popolno varnostno kopijo ali posnetek stanja. Pretvorba na mestu spremeni ključne sistemske pakete, zato je dobro imeti možnost vrnitve, če kaj ne uspe.

Oba skripta za migracijo potrebujeta delujočega upravitelja paketov za prenos novih paketov. V sistemu CentOS 8, ki je dosegel konec življenjske dobe, repozitoriji ne delujejo več, zato najprej uporabite začasno rešitev iz naslednjega razdelka, nato pa zaženite migracijo.

Za migracijo na AlmaLinux 8:

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

Za migracijo na Rocky Linux 8:

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

Ko se skript zaključi, znova zaženite strežnik in potrdite nov sistem z ukazoma:

cat /etc/os-release dnf repolist

Tip

Če strežnika ni mogoče migrirati na mestu ali če raje začnete znova, vzpostavite nov VPS z že nameščenim AlmaLinux ali Rocky Linux in tja prenesite svoje podatke. INTROSERV ponuja Linux VPS s temi distribucijami, ki so na voljo že ob naročilu.

Začasna rešitev: preusmeritev repozitorijev na arhiv

To uporabite le, kadar potrebujete, da sistem znova deluje za kratek čas, na primer za izdelavo zadnje varnostne kopije pred migracijo ali za ohranjanje delovanja nekritičnega stroja do zaključka migracije. S tem CentOS 8 ne postane znova podprt in ne prinese nazaj posodobitev.

Info

Preden zaženete spodnje ukaze, preverite točno različico svoje namestitve z ukazom cat /etc/centos-release. Ta članek kot primer uporablja različico 8.5.2111. Zamenjajte jo z različico, ki jo javi vaš sistem. Če navedete napačno arhivirano različico, lahko DNF vrne napake 404, ker ta mapa za vašo namestitev ne obstaja.

Spodnji ukazi onemogočijo neaktiven seznam zrcalnih strežnikov in namesto tega usmerijo datoteke repozitorijev na arhivski strežnik 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

Za razliko od aktivnih repozitorijev je arhiv organiziran znotraj fiksnih map po različicah, na primer 8.5.2111. Zato privzeta pot $releasever ne kaže več na veljavno vsebino in jo je treba zamenjati s točno arhivirano različico. To velja za vse tri privzete datoteke repozitorijev, AppStream, BaseOS in Extras, ne le za AppStream.

Po zagonu zgornjih ukazov preverite vsako datoteko repozitorija posebej, namesto da bi slepo zaupali skupinskemu urejanju, saj je pri ukazu sed, izvedenem hkrati na treh datotekah, lahko neopazno prišlo do napačnega znaka ali napačnega ločila.

Preverite datoteko AppStream:

cat CentOS-Linux-AppStream.repo

Vrstica baseurl bi morala biti natanko taka, pri čemer se mapa različice ujema z vašo:

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

Na enak način preverite datoteko BaseOS:

cat CentOS-Linux-BaseOS.repo

In datoteko Extras:

cat CentOS-Linux-Extras.repo

Ko so vse tri datoteke potrjene, počistite predpomnilnik in ga znova zgradite:

dnf clean all dnf makecache dnf repolist

Če je bil repozitorij pravilno popravljen, zdaj prenese svoje metapodatke brez napak. Če ima ena od datotek še vedno tipkarsko napako, dnf sporoči, kateri repozitorij ni uspel, kar olajša vrnitev in preverjanje prav te datoteke.

Warning

Arhiv vsebuje zadnje pakete, izdane pred koncem življenjske dobe. Ne boste prejemali novejših različic ali varnostnih popravkov. To obravnavajte kot način, da sistem ostane dosegljiv do migracije, ne kot trajno stanje.

Za potrditev, da se paketi pravilno namestijo, ne le da se naložijo metapodatki, preizkusite s katerim koli majhnim paketom:

dnf install -y wget

Ko to uspe, zaženite dejansko posodobitev:

dnf update -y

Zaključek

Napaka metapodatkov AppStream na CentOS 8 je znak, da je distribucija dosegla konec svoje življenjske dobe. Edina dolgoročna rešitev je migracija na podprto, binarno združljivo distribucijo, kot sta AlmaLinux ali Rocky Linux, po možnosti po izdelavi popolne varnostne kopije. Obhod prek vault.centos.org je še vedno uporaben, vendar le kot kratkotrajen most, ki omogoči, da strežnik deluje dovolj dolgo za varen prehod s CentOS 8.

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