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ć?

dirtyhandsphp
źródło
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

Jorge
źródło
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
Raja David
źródło
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
Anand TS
źródło
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
Mastergalen
źródło
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
ATUL KHACHANE
źródło
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.

victorkurauchi
źródło
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.

Mojo
źródło
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.

Elouan Keryell-Even
źródło
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*
grepit
źródło
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