Jak mogę naprawić błędy „nie mogę znaleźć prawidłowej bazy danych dla repo” w CentOS?


130

Skończyłem instalowanie CentOS 6, ale kiedy próbowałem uruchomić yum update, otrzymałem:

[root@centos6test ~]# yum update
Loaded plugins: fastestmirror, refresh-packagekit
Determining fastest mirrors
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=6&arch=i386&repo=os
error was 14: PYCURL ERROR 6 - "" Error: Cannot find a valid baseurl for repo: base

Dlaczego tak się dzieje? Jak mogę to naprawić?


3
Czy masz połączenie z siecią? Czy potrafisz pingować mirrorlist.centos.org?
— Nikhil Mulley,

3
Co się stanie, jeśli uciekniesz curl 'http://mirrorlist.centos.org/?release=6&arch=i386&repo=os'?
— rvs

Odpowiedzi:


165

Najpierw musisz się połączyć, AFAIK CentOS 6 minimalnie ustaw urządzenie sieciowe ONBOOT=No, po prostu dhclientz uprawnieniami administratora do interfejsu sieciowego i powinieneś być gotowy:

$ sudo dhclient


1
Kiedyś konfigurowałem klienta dhcp na moim zdalnym serwerze używając ssh zgodnie z tą odpowiedzią i teraz straciłem połączenie, ponieważ IP serwera jest teraz dynamicznie zmieniane i nie myślałem o tym przypadku przed zastosowaniem zmian. Ta odpowiedź jest błędna bez wystarczającego opisu i prowadzi do nieporozumień.
— Mojtaba Rezaeian

4
W przypadku wersji CentOS-7 (1611) ONBOOT=Noplik znajduje się w pliku podobnym do /etc/sysconfig/network-scripts/ifcfg-enp0s3. Edytowałem ten plik ONBOOT=yesi zrestartowałem go, aby go naprawić.
— Johnny Wong,

2
Zmieniających się ONBOOT=yesw /etc/sysconfig/network-scripts/ifcfg-enp0s3prace dla mnie, dzięki @JohnnyWong
— Evi Pieśń

24

Walczyłem z tym samym problemem na Centos6.4 x86_64. Wystąpił następujący błąd:

Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=os error was 14: PYCURL ERROR 6 - "Couldn't resolve host 'mirrorlist.centos.org'" Error: Cannot find a valid baseurl for repo: base

Naprawiłem to przez następujące kroki:

edytuj interfejs sieciowy. W moim przypadku użyłem eth0w CentOS 6.X W CentOS 7 możesz użyć interfejsu „ensxxx”.

vim /etc/sysconfig/network-scripts/ifcfg-eth0

zaktualizuj NM_CONTROLLED na no

ONBOOT=no
NM_CONTROLLED=no
BOOTPROTO=dhcp
DNS1=8.8.8.8
DNS2=4.2.2.2

zrestartuj interfejs sieciowy

ifdown eth0
ifup eth0

1
ifcfg-eth0nie istnieje w CentOs 7
— shailenTJ

@shailenTJ Wystarczy dotknąć ~ działa dobrze.
— Eddie B,

1
@shailenTJ Zmienili system nazewnictwa, będzie to enpXsX, w moim systemie jest to enp0s3, ale prawdopodobnie będzie on nieco inny w twoim.
— MarcusJ

Jeśli wykonasz „minimalną instalację”, to „ifcfg-enpls0f0”. Ale jeśli instalujesz z GUI, zastępuje on ten plik czymś innym. Następnie użyj narzędzia ustawień sieciowych w prawym górnym rogu ekranu głównego pulpitu.
— Chris Dutrow

4.2.2.2prawdopodobnie nie jest to wpis DNS, który chcesz!
— Dolph

14

Miałem ten sam problem i problem został rozwiązany po edycji /etc/yum.confpliku. Jeśli korzystasz z serwera proxy, a adres IP podany na serwerze jest pomijany, ale nadal jest otwierany w przeglądarce (IE - musimy zaznaczyć znacznik wyboru na serwerze proxy, ale nie musisz podawać nazwy użytkownika i hasła).

Dodaj następujący wiersz w głównej sekcji pliku /etc/yum.conf.

proxy=http://xxx.xxx.xx.xx:8080

tj. zastąpienie adresu proxy faktycznym proxy. Zmień także numer portu, jeśli nie jest to 8080.

Jeśli proxy wymaga uwierzytelnienia, dodaj to również do pliku

proxy_username=username
proxy_password=password

9

Zredagowałem plik /etc/yum.repos.d/CentOS-Base.repoi odkomentowałem baseurl:

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

1
Dzięki! To zadziałało dla mnie. Czy ktoś wie, dlaczego jest to potrzebne lub dlaczego zostało skomentowane, jeśli jest potrzebne?
— Bogaty

9

Jeśli polecenie ping do znanego hosta po nazwie (np. ping www.google.com) Zwraca, ping: unknown hostale polecenie ping do ip (np. ping 8.8.8.8) Działa dobrze, oznacza to, że masz problem z rozpoznaniem DNS - spróbuj dodać te wpisy do /etc/resolv.conf:

nameserver 8.8.8.8
nameserver 8.8.4.4

2

Wczoraj miałem ten sam problem i spędziłem godziny próbując go rozwiązać. Rozwiązanie okazało się proste.

Usuń zawartość, /etc/yum.repos.d/remi.repoa następnie uruchom

# yum update

Zrobione! Zawartość pliku rozpocznie pobieranie ponownie i zostanie skonfigurowana.


Gdzie znajduje się ten remi.repoplik?

/etc/yum.repos.d/
— Steven Kryskalla

Mogę coś przeoczyć, ale gdzie widzisz, że ma zainstalowane repozytorium Remiego? Wyraźnie wspomniał „Skończyłem instalowanie CentOS6”, wątpię, czy repozytorium Remiego jest skonfigurowane. Mogę się mylić ...
— Spredzy

Problemem jest zniekształcony plik pod /etc/yum.repos.d- remi.repow tym przypadku akurat nazwa pliku
— Curtis Mattoon

1

Oto kolejna możliwość, na którą natknąłem się, powodując ten problem:

Użyłem modułu Puppet do stworzenia repozytorium EPEL dla CentOS, modułu stahnma / epel.

W ramach modułu skonstruował adres URL repo ze zmienną, ::os_maj_versionktóra nie istniała na mojej liście faktów. Musiałem to zamienić na :: Operatingsystemmajrelease.

Tak więc adres URL /etc/yum.repos.d/epel.repobył zniekształcony.


0

Zdarzyło mi się to w środowisku Centos 7 i udało mi się go rozwiązać za pomocą następującego polecenia:

yum clean all

Przez kilka miesięcy nie uruchomiłem żadnego polecenia, wygląda na to, że metadane w pamięci podręcznej stały się przestarzałe.


0

Wszystkie poprzednie odpowiedzi są poprawne, ale niestety nie działały dla mnie. Poniższe polecenie działało dla mnie:

Ostrzeżenie spowoduje usunięcie wszystkich repozytoriów Centos !!! użyj tego na własne ryzyko

mkdir ~/backup
cp -r /etc/yum.repos.d/Cen* ~/backup
rm /etc/yum.repos.d/Cen*

spowoduje to usunięcie repozytorium z systemu
— Saurabh Chandra Patel

Prawdopodobnie powinieneś rozważyć włączenie procedury odtworzenia usuniętych plików repozytorium po ich usunięciu.
— Kusalananda
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.