Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การแก้ไขปัญหา >> Linux

แก้ไข: Cannot find a valid baseurl for repo: base

หากคุณใช้ Linux Distribution ที่ใช้ตัวจัดการแพ็กเกจ yum อาจเจอข้อผิดพลาด Cannot find a valid baseurl for repo: base ไม่กี่วันหลังติดตั้งระบบปฏิบัติการเสร็จ นี่มักเกี่ยวข้องกับ Fedora, Red Hat และ CentOS แต่อาจเจอตอนพยายามอัปเดต yum บน SUSE รุ่นที่เข้ากันได้ด้วย ปกติเจอตอนพยายามอัปเดตเท่านั้น แต่โชคดีที่มีวิธีแก้ไขค่อนข้างง่าย

วิธีที่ 1: บังคับให้ yum หา baseurl (Forcing yum to Find a baseurl)

ข้อความผิดพลาดนี้บ่งชี้ว่า ยังไม่ว่าจะเป็นเหตุผลอะไร ระบบ Yellowdog Updater, Modified (yum) ไม่สามารถเข้าถึง base repository ที่ใช้ค้นหาข้อมูลแพ็กเกจได้ เพื่อ reproduce error ให้รัน sudo yum update หรือแค่ yum update หากเป็น root หากอัปเดตสำเร็จครั้งนี้ แสดงว่าแค่ปัญหาเครือข่ายชั่วคราว ไม่ต้องทำอะไรเพิ่ม

แก้ไข: Cannot find a valid baseurl for repo: base

แต่หาก reproduce error ได้ สิ่งแรกคือเช็คว่าเชื่อมต่อเครือข่ายอยู่จริง ต้องแน่ใจว่าไม่ใช่ Internet outage ซึ่งเป็นสาเหตุหลัก หากออนไลน์แล้วยังหา baseurl ไม่เจอ ให้ลอง ping mirrorlist.centos.org ดูผลลัพธ์ กด Ctrl+C หยุด ping หากใช้ Red Hat หรือ Fedora ให้เปลี่ยน mirrorlist URL ตามที่ error รายงาน แทน URL ของ CentOS ที่เราใช้

หาก ping ไม่ผ่าน เซิร์ฟเวอร์อาจ down ชั่วคราว ต้องรอ แต่หากมีปัญหาเครือข่าย ให้ลองแก้ไขไฟล์ตาม รูปภาพที่แสดง และสลับบรรทัด ONBOOT= เป็น yes หรือ no ลองทั้งคู่ หลังตั้งค่าแล้ว รัน sudo dhclient (ตราบใดที่ไม่ได้ทำงานผ่าน SSH) แล้วลองอัปเดต yum ใหม่ หากยัง掙扎 ให้แก้ไขไฟล์นั้นอีกครั้ง

แก้ไข: Cannot find a valid baseurl for repo: base

จะพบตัวเลือก NM_CONTROLLED ให้ตั้งเป็น no หากทำเช่นนั้น ต้องแน่ใจว่า ONBOOT= ตั้งเป็น no ด้วย ตอนตั้งค่าเป็น no ให้พิมพ์พิมพ์ lower case เท่านั้น เพราะบางรุ่น CentOS/Fedora อาจมี case sensitivity ในบริบทนี้

หลังแก้ไขไฟล์เสร็จ ตรวจสอบว่าเสียบสาย Ethernet ที่ interface แรกของเครื่อง แล้วลองรัน ifdown eth0; ifup eth0 เพื่อรีเซ็ตเครือข่าย ผู้ใช้ CentOS 7 (เหมือนตัวอย่าง) อาจไม่หาไฟล์นี้เจอ เพราะมีการเปลี่ยนแปลง ถ้าเช่นนั้น ให้หาตาม รูปภาพด้านล่าง หรือรูปแบบที่คล้ายกัน CentOS developers เปลี่ยนชื่อบางอินเตอร์เฟซตอน revamp minimal install code ล่าสุด

แก้ไข: Cannot find a valid baseurl for repo: base

เมื่อทุกอย่างดูถูกต้อง ลองอัปเดต yum อีกครั้งดูว่าทำงานได้ไหม

วิธีที่ 2: ยกเลิกคอมเมนต์ baseurl (Uncommenting the baseurl)

ในบางกรณีหายาก ข้อผิดพลาดนี้อาจไม่ใช่ปัญหาเครือข่าย หากแน่ใจว่าเชื่อมต่อแล้วยังทำงานไม่ได้ ให้เปิดไฟล์ ตามรูปภาพด้านล่าง ด้วยสิทธิ์ root ผ่าน text editor โปรด อีกครั้ง หากไม่ใช่ CentOS ต้องปรับชื่อไฟล์เล็กน้อย

แก้ไข: Cannot find a valid baseurl for repo: base

ควรเห็นบรรทัด:
baseurl=https://mirror.centos.org/centos/$releasever/os/$basearch/

ตรวจสอบว่าไม่ได้ขึ้นต้นด้วยเครื่องหมายคอมเมนต์อย่าง # หากมี ให้ลบออก แล้วบันทึกไฟล์ ลองอัปเดตอีกครั้ง ควรจะบังคับให้ระบบอัปเดตได้ถูกต้องครั้งนี้ เพราะหากไม่พบบรรทัดนี้ (เพราะถูกซ่อนด้วย #) ก็ไม่สามารถทำงานได้