mniam aktualizacja kończy się niepowodzeniem: Błąd: Nie można pobrać metadanych repozytorium (repomd.xml) dla repozytorium…


34

Używam CentOS 6.3. Kiedy próbuję zaktualizować system za pomocą yum, pojawia się następujący komunikat:

yum update

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.ircam.fr
 * centosplus: miroir.univ-paris13.fr
 * extras: mirrors.ircam.fr
 * update: centos.quelquesmots.fr
http://mirror.centos.org/centos/6/addons/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404"
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: addons. Please verify its path and try again

yum clean all

Loaded plugins: fastestmirror
Cleaning repos: CactiEZ addons base centosplus extras pgdg93 update
Cleaning up Everything
Cleaning up list of fastest mirrors

yum check

Loaded plugins: fastestmirror
check all

yum erase apf

Loaded plugins: fastestmirror
Setting up Remove Process
No Match for argument: apf
Determining fastest mirrors
 * base: centos.mirror.fr.planethoster.net
 * centosplus: centos.mirror.fr.planethoster.net
 * extras: mirrors.ircam.fr
 * update: centos.quelquesmots.fr
CactiEZ                                                | 2.9 kB     00:00
CactiEZ/primary_db                                     |  13 kB     00:00
http://mirror.centos.org/centos/6/addons/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404"
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: addons. Please verify its path and try again

yum upgrade

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.mirror.fr.planethoster.net
 * centosplus: centos.mirror.fr.planethoster.net
 * extras: mirrors.ircam.fr
 * update: centos.quelquesmots.fr
http://mirror.centos.org/centos/6/addons/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404"
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: addons. Please verify its path and try again

Mój yum.conf

[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release

1
skoro wczoraj zadałeś tak wiele pytań na temat błędu z mniam łączami internetowymi i problemami ze ścieżką, czy zastanawiałeś się nad ponownym zainstalowaniem systemu? Wydaje się, że jest całkiem
fajnie

Najpierw musisz naprawić połączenie internetowe. Ponowna instalacja może być opcją. Lub spróbuj uruchomić system Live CD.
Peter

Rozwiązałem problem, usuwając folder „yum.repos.d” i ponownie tworząc plik example.repo. dodaj szczegóły repozytorium tutaj: linuxquestions.org/questions/linux-newbie-8/...
Yang

Odpowiedzi:


33

Twoje pliki ca-bundles.crt są za stare. Jednym z obejść do momentu uaktualnienia do nowszej wersji CentOS byłaby zmiana epel.repo z używania https na http

sudo sed -i 's/https/http/g' /etc/yum.repos.d/epel.repo

2
+1 miejsce na. Ale nie trzeba aktualizować CentOS, aby pobrać najnowszy pakiet certyfikatów (ze względu na długoterminowe wsparcie CentOS). yum update ca-certificatespowinien załatwić sprawę (po wyłączeniu https dla epel lub pobraniu rpm bezpośrednio i aktualizacji za pomocą rpm).
Kev

@ kev Teoretycznie twój komentarz powinien zadziałać, ale niestety dla mnie, gdy pytam, yum to update ca-certificatesże pojawia się komunikat „Brak pakietów oznaczonych do aktualizacji” . W rzeczywistości, kiedy to zrobię yum list | grep ca-certificates, dostaję ten ca-certyfikaty.noarch 2010.63-3.el6_1.5 jako najnowszą wersję na moim urządzeniu CentOS 6.4. Na moim urządzeniu CentOS 6.5 otrzymuję certyfikaty ca.noarch 2014.1.98-65.1.el6 Wygląda więc na to, że musisz przynajmniej zaktualizować CentOS 6.5, aby uzyskać najnowsze CA-Ceritifcates z CentOS, lub ręcznie pobrać rpm i zainstalować .
RobertDeRose,

@Kev Rob go przybił. Wiele firm korporacyjnych nadal prowadzi bardzo stare dystrybucje. Obecnie pracuję nad CentOS4.5 dla klienta i muszę robić wiele rzeczy, których normalnie nie trzeba robić.
SgtPooki

@RobD Wygląda na to, że OP używa http, a kiedy natknąłem się na ten sam problem, ja również użyłem http, a nie https. Więc jestem ciekawy, jak można wywnioskować, że główną przyczyną są nieaktualne certyfikaty root ssl ca?
Dwight Spencer,

@DwightSpencer przepraszam, nie rozumiem twojego pytania, co to jest OP? Wydedukowałem, że problemem były moje certyfikaty root ssl ca, ponieważ na moim starym polu CentOS 6.2 nie mogłem zaktualizować, ale na moim polu 6.6 mogłem. Po prostu zmiana z https na http rozwiązała problem. Mniej więcej po prostu zawęziłem to do tego.
RobertDeRose

16

Spróbuj tego (musi być rootem)

yum clean all
yum check
yum erase apf
yum update ca-certificates
yum upgrade

Spójrz na edycję
az93

Tak! Udało się :)
facundofarias

1
Działa idealnie i jest to o wiele czystsze niż niektóre inne odpowiedzi w tym wątku.
Dwight Spencer,

Musiałem tam dodać yum update --disableplugin fastestmirrorprzepustkę, ponieważ jeden z tych kroków (prawdopodobnie yum clean) usunął informacje potrzebne do skontaktowania się z serwerami lustrzanymi. Powiedziałem „nie”, kiedy zaoferował aktualizację, potem zrobiłem zwykły yum updatei tym razem się udało. Sądzę, że w pierwszym przejściu pobrano nową listę kopii lustrzanych z głównej strony CentOS, co pozwoliło na drugie przejście.
Warren Young


3

Problemem było dla mnie to, że repozytoria używają https i to nie działa.

cd /etc/yum.repos.d/
grep -RFi "https" *

Pokazuje, w jakich plikach repozytorium jest używany protokół https. Otwórz je w edytorze i ustaw na http. Dla mnie to rozwiązało problem.


3

Wszystkie poprzednie odpowiedzi nie działały dla mnie, ale zadziałały następujące polecenia:

$ sudo yum remove centos-release-SCL
$ sudo yum update # Update to CentOS 6.8
$ sudo yum install centos-release-scl
$ sudo yum update

Który otrzymałem z tego postu na blogu .




1

Jeśli uruchomisz „mniam aktualizację” lub „mniam aktualizację” bez żadnych innych parametrów, wszystkie pakiety w twoim systemie, w tym mniam, zostaną zaktualizowane, więc naprawdę nie ma potrzeby samodzielnej aktualizacji yum, chyba że aktualizujesz wersje Fedory lub CentOS.


W rzeczywistości muszę zainstalować ftp. Ale kiedy używam yum install ftp, idę ten sam problem.
az93

1

Zainstalowałem CentOS przez Vagrant i przyszedł on z /etc/yum.repos.d/katalogiem wypełnionym takimi rzeczami jak puppet.repo. Lo i oto, puppet.repoa także inne zawarte repozytorium nie wskazywały na prawidłowe zasoby.

Więc usunąłem je i mniam teraz działa.


1

W moim przypadku, co jest naprawdę wyjątkowe, położenie pliku XML zawierającego informacje o repozytorium jest zmienione.

  • Mam połączenie z Internetem ( ping 8.8.8.8działa)
  • Po uruchomieniu yum upgradepo wielu 404błędach mogę uzyskać nazwy pakietów, które muszę pobrać, ale nie mogę ich pobrać.

Kiedy przeglądam pierwszy adres URL repozytorium 404, który jest:

http://mirror.airenetworks.es/CentOS/7.4.1708/os/x86_64/repodata/repomd.xml

i widzę to nieobecne. Przechodząc do jego folderu nadrzędnego http://mirror.airenetworks.es/CentOS/7.4.1708/readme, otrzymuję to:

Ten katalog (i wersja CentOS) jest przestarzały. Dla zwykłych użytkowników powinieneś używać / 7 /, a nie /7.4.1708/ na swojej ścieżce. Zapoznaj się z często zadawanymi pytaniami dotyczącymi schematu wydania CentOS:

https://wiki.centos.org/FAQ/General

Jeśli wiesz, co robisz i absolutnie chcesz pozostać na poziomie 7.4.1708, przejdź na stronę http://vault.centos.org/ w celu uzyskania pakietów.

Należy pamiętać, że 7.4.1708 nie otrzymuje już żadnych aktualizacji ani poprawek bezpieczeństwa.

Więc muszę wrócić /etc/yum.repo.ddo edycji plików.

Mam:

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

Podejrzewam, że $releasevernie jest jeszcze w użyciu, więc mogę przetestować zmieniając go do 7: (należy pamiętać, aby uciec &z \)

curl http://mirrorlist.centos.org/?release=7\&arch=x86_64\&repo=os\&infra=arch

możemy uzyskać listę plików:

ftp://ftp.cesca.cat/centos/7.5.1804/os/x86_64/
http://ftp.rediris.es/mirror/CentOS/7.5.1804/os/x86_64/
http://ftp.cica.es/CentOS/7.5.1804/os/x86_64/
http://centos.mirror.minorisa.net/7.5.1804/os/x86_64/
http://repo.nixval.com/CentOS/7.5.1804/os/x86_64/
http://centos.uvigo.es/7.5.1804/os/x86_64/
http://ftp.uma.es/mirror/CentOS/7.5.1804/os/x86_64/
http://ftp.cixug.es/CentOS/7.5.1804/os/x86_64/
http://mirror.airenetworks.es/CentOS/7.5.1804/os/x86_64/
http://mirror.gadix.com/centos/7.5.1804/os/x86_64/

Możemy więc ustawić zmienną w następujący sposób:

  1. Otworzyć /etc/yum.repo.d/CentOS-Base.repo
  2. W [base]sekcji określają: releasever=7.
  3. Uruchom ponownie yum upgradelub yum install xxx.
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.