Bagaimana saya bisa memperbaiki kesalahan “tidak dapat menemukan baseurl untuk repo” yang valid pada CentOS?

130

Saya selesai menginstal CentOS 6, tetapi ketika saya mencoba menjalankan yum updatesaya dapat:

[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

Mengapa itu terjadi? Bagaimana saya bisa memperbaikinya?

dirtyhandsphp
sumber
3
Apakah Anda terhubung ke jaringan? Bisakah Anda melakukan ping mirrorlist.centos.org?
Nikhil Mulley
3
Apa yang terjadi jika Anda berlari curl 'http://mirrorlist.centos.org/?release=6&arch=i386&repo=os'?
rvs

Jawaban:

165

Pertama-tama Anda harus terhubung, AFAIK CentOS 6 minimal mengatur perangkat jaringan Anda ONBOOT=No, lakukan saja dhclientdengan hak admin untuk antarmuka jaringan Anda dan Anda harus menjalankan dan menjalankan:

$ sudo dhclient

Jorge
sumber
1
Saya dulu mengatur klien dhcp pada server jauh saya menggunakan ssh sesuai dengan jawaban ini dan sekarang saya kehilangan koneksi karena IP server berubah secara dinamis sekarang dan saya tidak memikirkan kasus itu sebelum menerapkan perubahan. Jawaban ini keliru tanpa deskripsi yang cukup dan mengarah pada kesalahpahaman.
Mojtaba Rezaeian
4
Untuk versi CentOS-7 (1611), ONBOOT=Noterletak di seperti file /etc/sysconfig/network-scripts/ifcfg-enp0s3. Saya mengedit file itu ONBOOT=yesdan reboot dapat memperbaikinya.
Johnny Wong
2
Mengganti ONBOOT=yesdalam /etc/sysconfig/network-scripts/ifcfg-enp0s3karya untuk saya, terima kasih @JohnnyWong
Evi Song
24

Saya telah berjuang dengan masalah yang sama pada Centos6.4 x86_64. Saya mendapat kesalahan berikut:

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

Jadi, saya memperbaikinya dengan langkah-langkah ini:

edit antarmuka jaringan. Untuk kasus saya, saya menggunakan eth0CentOS 6.X Di CentOS 7 Anda dapat menggunakan antarmuka "ensxxx".

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

perbarui NM_CONTROLLED ke no

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

restart antarmuka jaringan

ifdown eth0
ifup eth0
Raja David
sumber
1
ifcfg-eth0tidak ada pada CentOs 7
shailenTJ
@shailenTJ Cukup sentuh ~ berfungsi dengan baik.
Eddie B
1
@shailenTJ Mereka mengubah sistem penamaan, itu akan menjadi enpXsX, pada sistem saya ini enp0s3, tetapi mungkin akan sedikit berbeda pada Anda.
MarcusJ
Jika Anda melakukan "minimal install", ini "ifcfg-enpls0f0". Tetapi jika Anda menginstal dengan GUI, itu menimpa file itu dengan sesuatu yang lain. Kemudian Anda menggunakan alat pengaturan jaringan di sudut kanan atas layar desktop utama.
Chris Dutrow
4.2.2.2mungkin bukan entri DNS yang Anda inginkan!
Dolph
14

Saya memiliki masalah yang sama dan diselesaikan setelah saya mengedit /etc/yum.conffile. Jika Anda menjalankan server proxy dan IP yang diberikan ke server dilewati tetapi masih saat Anda membuka di browser (IE - kita perlu memberi tanda centang pada proxy tetapi tidak perlu memberikan nama pengguna dan kata sandi.)

Tambahkan baris berikut ini di bagian utama dari file /etc/yum.conf.

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

yaitu, mengganti alamat proxy dengan proxy yang sebenarnya. Juga ganti nomor port jika bukan 8080.

Jika proksi memerlukan otentikasi, tambahkan ini juga ke file

proxy_username=username
proxy_password=password
Anand TS
sumber
9

Saya mengedit file /etc/yum.repos.d/CentOS-Base.repodan menghapus komentar 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
sumber
1
Terima kasih! Ini berhasil untuk saya. Adakah yang tahu mengapa ini diperlukan, atau mengapa itu dikomentari jika diperlukan?
Kaya
9

Jika mem-ping host yang terkenal dengan namanya (mis. ping www.google.com) Kembali ping: unknown hosttetapi mem-ping ip (mis ping 8.8.8.8) berfungsi dengan baik maka Anda memiliki masalah resolusi DNS - coba tambahkan entri ini ke /etc/resolv.conf:

nameserver 8.8.8.8
nameserver 8.8.4.4
ATUL KHACHANE
sumber
2

Saya memiliki masalah yang sama kemarin dan saya menghabiskan waktu berjam-jam untuk menyelesaikannya. Solusinya akhirnya menjadi sederhana.

Hapus konten /etc/yum.repos.d/remi.repodan kemudian jalankan

# yum update

Selesai! Konten file akan mulai mengunduh lagi dan dikonfigurasikan.

victorkurauchi
sumber
Di mana remi.repofile ini berada?
/etc/yum.repos.d/
Steven Kryskalla
Saya mungkin telah melewatkan sesuatu, tetapi di mana Anda melihat dia memiliki repo Remi diinstal? Dia dengan jelas menyebutkan 'Saya selesai menginstal CentOS6', saya agak ragu repo Remi dikonfigurasi. Saya mungkin salah ...
Spredzy
Masalahnya adalah file cacat di bawah /etc/yum.repos.d- remi.repokebetulan merupakan nama file dalam kasus ini
Curtis Mattoon
1

Berikut adalah satu lagi kemungkinan yang saya temukan, menyebabkan masalah ini:

Saya menggunakan modul Wayang untuk membuat repo EPEL untuk CentOS, modul stahnma / epel.

Dalam modul itu dibangun URL repo dengan variabel ::os_maj_versionyang tidak ada dalam daftar fakta saya. Saya harus menggantinya dengan :: operatingsystemmajrelease.

Jadi URL dalam /etc/yum.repos.d/epel.reposalah format .

Mojo
sumber
0

Itu terjadi pada saya di lingkungan Centos 7, dan saya dapat menyelesaikannya dengan perintah berikut:

yum clean all

Saya belum menjalankan perintah yum selama beberapa bulan, sepertinya metadata yang di-cache menjadi usang.

Elouan Keryell-Even
sumber
0

Semua jawaban sebelumnya benar tetapi sayangnya tidak berhasil untuk saya. Perintah di bawah ini bekerja untuk saya:

Peringatan ini akan menghapus kalian semua Centos repo !!! gunakan ini dengan risiko Anda sendiri

mkdir ~/backup
cp -r /etc/yum.repos.d/Cen* ~/backup
rm /etc/yum.repos.d/Cen*
grepit
sumber
ini akan menghapus repo dari sistem
Saurabh Chandra Patel
Anda mungkin harus mempertimbangkan untuk memasukkan prosedur untuk membuat kembali file repositori yang dihapus setelah Anda menghapus semuanya.
Kusalananda