ฉันจะแก้ไขข้อผิดพลาด“ ไม่พบ baseurl ที่ถูกต้องสำหรับ repo” บน CentOS ได้อย่างไร


130

ฉันติดตั้ง CentOS 6 เสร็จแล้ว แต่เมื่อฉันลองใช้yum updateฉันได้รับ:

[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

ทำไมถึงเกิดขึ้น? ฉันจะแก้ไขได้อย่างไร


3
คุณเชื่อมต่อกับเครือข่ายหรือไม่ คุณสามารถ ping mirrorlist.centos.org ได้ไหม
Nikhil Mulley

3
จะเกิดอะไรขึ้นถ้าคุณใช้curl 'http://mirrorlist.centos.org/?release=6&arch=i386&repo=os'?
rvs

คำตอบ:


165

ก่อนอื่นคุณต้องทำการเชื่อมต่อ AFAIK CentOS 6 จะตั้งค่าอุปกรณ์เครือข่ายของคุณให้น้อยที่สุดONBOOT=Noเพียงแค่ทำdhclientสิทธิ์ผู้ดูแลระบบให้กับอินเทอร์เฟซเครือข่ายของคุณและคุณควรจะใช้งานได้:

$ sudo dhclient


1
ฉันเคยตั้งค่าไคลเอนต์ dhcp บนเซิร์ฟเวอร์ระยะไกลของฉันโดยใช้ ssh ตามคำตอบนี้และตอนนี้ฉันขาดการเชื่อมต่อเพราะ IP ของเซิร์ฟเวอร์มีการเปลี่ยนแปลงแบบไดนามิกตอนนี้และฉันไม่ได้คิดถึงกรณีนั้นก่อนที่จะใช้การเปลี่ยนแปลง คำตอบนี้ผิดพลาดโดยไม่มีคำอธิบายเพียงพอและนำไปสู่ความเข้าใจผิด
Mojtaba Rezaeian

4
สำหรับ CentOS-7 (1611) รุ่นที่จะอยู่ในแฟ้มเหมือนONBOOT=No /etc/sysconfig/network-scripts/ifcfg-enp0s3ฉันแก้ไขไฟล์ONBOOT=yesและรีบูตสามารถแก้ไขได้
Johnny Wong

2
เปลี่ยนไปONBOOT=yesใน/etc/sysconfig/network-scripts/ifcfg-enp0s3การทำงานสำหรับฉันขอบคุณ @JohnnyWong
Evi เพลง

24

ฉันดิ้นรนกับปัญหาเดียวกันกับCentos6.4 x86_64 ฉันได้รับข้อผิดพลาดต่อไปนี้:

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

ดังนั้นฉันแก้ไขตามขั้นตอนเหล่านี้:

แก้ไขอินเตอร์เฟสเครือข่าย สำหรับกรณีของฉันฉันใช้eth0ใน CentOS 6.X ใน CentOS 7 คุณสามารถใช้อินเทอร์เฟซ "ensxxx"

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

อัปเดตNM_CONTROLLEDเป็นไม่

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

รีสตาร์ทอินเทอร์เฟซเครือข่าย

ifdown eth0
ifup eth0

1
ifcfg-eth0ไม่มีอยู่ใน CentOs 7
shailenTJ

@shailenTJ เพียงแตะมัน ~ ใช้งานได้ดี
Eddie B

1
@shailenTJ พวกเขาเปลี่ยนระบบการตั้งชื่อมันจะเป็น enpXsX บนระบบของฉันคือ enp0s3 แต่มันอาจจะแตกต่างกันเล็กน้อยในตัวคุณ
MarcusJ

หากคุณทำการติดตั้งขั้นต่ำให้ติดตั้ง ifcfg-enpls0f0 แต่ถ้าคุณติดตั้งด้วย GUI มันจะแทนที่ไฟล์นั้นด้วยอย่างอื่น จากนั้นคุณใช้เครื่องมือการตั้งค่าเครือข่ายที่มุมขวาบนของหน้าจอเดสก์ท็อปหลัก
Chris Dutrow

4.2.2.2อาจไม่ใช่รายการ DNS ที่คุณต้องการ!
Dolph

14

ฉันมีปัญหาเดียวกันและแก้ไขได้หลังจากฉันแก้ไข/etc/yum.confไฟล์ หากคุณกำลังทำงานบนพร็อกซีเซิร์ฟเวอร์และ IP ที่กำหนดให้กับเซิร์ฟเวอร์จะถูกข้าม แต่ยังเมื่อคุณเปิดในเบราว์เซอร์ (IE - เราต้องให้เครื่องหมายถูกบนพร็อกซี แต่ไม่จำเป็นต้องให้ชื่อผู้ใช้และรหัสผ่าน)

เพิ่มบรรทัดต่อไปนี้ในส่วนหลักของไฟล์ /etc/yum.conf

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

เช่นการแทนที่ที่อยู่พร็อกซีด้วยพร็อกซีที่เกิดขึ้นจริง เปลี่ยนหมายเลขพอร์ตด้วยถ้าไม่ใช่ 8080

หากพร็อกซีต้องการการรับรองความถูกต้องให้เพิ่มสิ่งนี้ลงในไฟล์ด้วย

proxy_username=username
proxy_password=password

9

ฉันแก้ไขไฟล์/etc/yum.repos.d/CentOS-Base.repoและไม่ใส่เครื่องหมายข้อคิดเห็น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
ขอบคุณ! สิ่งนี้ใช้ได้สำหรับฉัน ไม่มีใครรู้ว่าทำไมสิ่งนี้เป็นสิ่งจำเป็นหรือทำไมมันถึงได้รับความเห็นถ้าจำเป็น?
รวย

9

ถ้า pinging โฮสต์ที่รู้จักกันดีโดยใช้ชื่อ (เช่นping www.google.com) ส่งคืนping: unknown hostแต่การ ping ip (เช่นping 8.8.8.8) ทำงานได้ดีคุณจะพบปัญหาการแก้ไข DNS - ลองเพิ่มรายการเหล่านี้ไปที่/etc/resolv.conf:

nameserver 8.8.8.8
nameserver 8.8.4.4

2

ฉันมีปัญหาเดียวกันเมื่อวานนี้และฉันใช้เวลาหลายชั่วโมงในการพยายามแก้ไข การแก้ปัญหาจบลงด้วยความเรียบง่าย

ลบเนื้อหาของ/etc/yum.repos.d/remi.repoแล้วดำเนินการ

# yum update

มันจบแล้ว! เนื้อหาของไฟล์จะเริ่มดาวน์โหลดอีกครั้งและได้รับการกำหนดค่า


remi.repoไฟล์นี้อยู่ที่ไหน?

/etc/yum.repos.d/
Steven Kryskalla

ฉันอาจพลาดอะไรบางอย่าง แต่คุณเห็นว่าเขาติดตั้ง repo ของ Remi ไว้ที่ไหน เขากล่าวอย่างชัดเจนว่า 'ฉันติดตั้ง CentOS6' เสร็จสิ้นฉันสงสัยว่า repo ของ Remi ได้รับการกำหนดค่า ฉันอาจจะผิด ...
Spredzy

ปัญหานี้เป็นไฟล์ที่มีรูปแบบไม่ถูกต้อง/etc/yum.repos.d- remi.repoเพิ่งเกิดขึ้นเป็นชื่อไฟล์ในกรณีนี้
Curtis Mattoon

1

นี่เป็นความเป็นไปได้อีกอย่างที่ฉันสะดุดเมื่อทำให้เกิดปัญหานี้:

ฉันใช้โมดูล Puppet เพื่อสร้าง EPEL repo สำหรับ CentOS ซึ่งเป็นโมดูล stahnma / epel

ภายในโมดูลมันสร้าง repo URL พร้อมตัวแปร::os_maj_versionซึ่งไม่มีอยู่ในรายการข้อเท็จจริงของฉัน ฉันต้องแทนที่ด้วย :: operatingsystemmajrelease

ดังนั้น URL ใน/etc/yum.repos.d/epel.repoนั้นมีรูปแบบไม่ถูกต้อง


0

เกิดขึ้นกับฉันในสภาพแวดล้อม Centos 7 และฉันสามารถแก้ไขได้ด้วยคำสั่งต่อไปนี้:

yum clean all

ฉันไม่ได้เรียกใช้คำสั่ง yum ใด ๆ ในช่วงสองสามเดือนที่ผ่านมาดูเหมือนว่าข้อมูลเมตาแคชจะล้าสมัย


0

คำตอบก่อนหน้าทั้งหมดถูกต้อง แต่น่าเสียดายที่ไม่ได้ผลสำหรับฉัน คำสั่งด้านล่างใช้งานได้สำหรับฉัน:

คำเตือนนี่จะลบพวกคุณทุกคน Centos repos !!! ใช้สิ่งนี้โดยยอมรับความเสี่ยงเอง

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

สิ่งนี้จะลบ repo ออกจากระบบ
Saurabh Chandra Patel

คุณควรพิจารณารวมถึงขั้นตอนการสร้างไฟล์ที่เก็บที่ถูกลบอีกครั้งเมื่อคุณลบทั้งหมด
Kusalananda
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.