Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Linux

วิธีแก้ปัญหา "No Installation Candidate" ใน Ubuntu

คุณพยายามติดตั้งบางอย่าง แต่ Ubuntu นำไม่เข้า Apt บอกว่า "no installation candidate" หมายความว่าอะไร สาเหตุคืออะไร และแก้ได้ไหม? นี่คือวิธีแก้ไข

ความหมายคืออะไร?

หากพยายามติดตั้งแพ็กเกจที่ Apt ไม่รู้จัก จะบอกว่า unable to locate it เกิดได้หากพิมพ์ชื่อแพ็กเกจผิด หรือพยายามติดตั้งแอปพลิเคชันที่ไม่อยู่ใน repository

ยังมีกรณี missing packages อีกแบบ: Apt หาไม่เจอในตำแหน่งปกติ แต่รู้ว่ามันมีอยู่ เพราะแพ็กเกจอื่น reference มัน

ในกรณีเหล่านี้ ปัญหาคือ Apt ไม่รู้ว่าจะหาและได้มันยังไง

แก้ไขอย่างไร?

เริ่มตรวจสอบว่า entry ถูกลบระหว่าง update/upgrade ล่าสุดหรือไม่ ไม่ต้องหาใน logs ที่ cryptic แค่รัน update/upgrade อีกครั้งเพื่อดึง latest versions ของซอฟต์แวร์ติดตั้งแล้ว ระหว่างนั้น database ของ Apt จะอัปเดต แล้วลองติดตั้งแพ็กเกจอีกครั้ง

ถ้ายังไม่ได้ แพ็กเกจนั้นน่าจะอยู่ใน repository ที่ยังไม่ได้ list เพียงหาและเพิ่มเข้า software sources ของ distro

อินเทอร์เน็ตเป็นเพื่อนในการหา missing repository เจอแล้ว เพิ่ม repository เข้า Ubuntu ด้วยคำสั่ง:

sudo add-apt-repository REPOSITORY_PPA

บางกรณีหายาก ปัญหาไม่ใช่ missing repository แตเป็น renamed package ตรวจสอบแพ็กเกจชื่อคล้ายที่มีอยู่ด้วยคำสั่ง:

apt-cache search PACKAGE_NAME

ขึ้นอยู่กับสิ่งที่หา อาจได้ list ซอฟต์แวร์เยอะมาย มี trick จำกัดผลลัพธ์: ปกติ package names ไม่เปลี่ยนชื่อ radically สิ่งที่เปลี่ยนอาจเป็น version number หรือ secondary keyword โชคดีที่ apt-cache รองรับ Regex ดังนั้น ค้นหาแพ็กเกจที่ขึ้นต้นด้วย keyword เฉพาะได้

ตัวอย่าง ใส่คำสั่งข้างต้นด้วย "firefox" เป็น PACKAGE_NAME จะเห็นโหลด entries ที่มีคำว่า firefox ในชื่อหรือคำอธิบาย ลองคำสั่งนี้แทน:

apt-cache search "^PACKAGE_NAME*"

คำสั่งนี้คืนรายการแพ็กเกจทั้งหมดที่ชื่อขึ้นต้นด้วย PACKAGE_NAME หากแทน PACKAGE_NAME ด้วย firefox จะเห็นแพ็กเกจทั้งหมดที่เริ่มต้นด้วย "firefox" ระหว่างนั้นน่าจะพบ alternative ที่ต้องการ

เคยเจอปัญหา "no installation candidate" ไหม? ถ้าเจอ แก้ยังไง? บอกเราใน comments ด้านล่าง อ่านต่อเพื่อเรียนรู้ตั้งค่า git username และ email ใน Ubuntu