ข้อผิดพลาด แพ็คเกจต่อไปนี้มีการขึ้นต่อกันที่ไม่ตรง ได้รบกวนผู้ใช้ Ubuntu มาระยะหนึ่งแล้วและมีการพบเห็นข้อผิดพลาดใน Ubuntu เวอร์ชันต่าง ๆ มากขึ้นเรื่อย ๆ ระบบการจัดการแพ็คเกจ APT นั้นใช้งานง่าย แต่ในบางโอกาส เช่น เมื่อคุณผสมการพึ่งพาของบุคคลที่สาม คุณอาจได้รับข้อผิดพลาดนี้จาก apt-get ป>
สิ่งนี้จะเกิดขึ้นเมื่อคุณพยายามติดตั้งบางอย่างด้วยระบบ apt ผ่านทางเทอร์มินัล และการติดตั้งล้มเหลวโดยไม่มีปัญหาใดๆ ที่ชัดเจน ปัญหานี้ไม่ได้จำกัดอยู่เพียงโปรแกรมใดโปรแกรมหนึ่ง แต่อาจเกิดขึ้นได้กับบางโปรแกรม เนื่องจากปัญหาอยู่ที่ระบบ apt ไม่ใช่ในโปรแกรมที่คุณกำลังติดตั้ง
โชคดีที่มีวิธีแก้ไขอยู่สองสามวิธีสำหรับเรื่องนี้ บางวิธีทำได้ง่ายกว่า และวิธีอื่นๆ ที่ยากกว่า แต่หากคุณทำตามคำแนะนำในวิธีการด้านล่าง คุณจะกำจัดข้อผิดพลาดได้ในเวลาอันรวดเร็ว
หมายเหตุ:ก่อนที่จะดำเนินการตามวิธีการใดๆ ขอแนะนำให้คุณสำรองไฟล์การกำหนดค่า เช่น เพื่อให้คุณสามารถย้อนกลับการเปลี่ยนแปลงใดๆ ในกรณีที่มีสิ่งผิดปกติเกิดขึ้น ทำได้โดยใช้ขั้นตอนต่อไปนี้: ป>
- กด Alt, Ctrl และ T บนแป้นพิมพ์พร้อมกันเพื่อเปิด Terminal
- พิมพ์ แล้วกด Enter
- เมื่อคำสั่งก่อนหน้าทำงานเสร็จแล้ว ให้พิมพ์ sudo cp /var/lib/dpkg/status /var/lib/dpkg/status.Original แล้วกด Enter อีกครั้ง
วิธีที่ 1:ใช้พารามิเตอร์ -f
นี่เป็นวิธีที่ง่ายที่สุดในการลอง และต้องเพิ่มตัวอักษรอีกสองตัวในคำสั่งที่คุณกำลังพิมพ์เท่านั้น แทนที่จะใช้ sudo apt-get install PACKAGENAME โดยที่ PACKAGENAME เป็นแพ็คเกจที่คุณพยายามติดตั้งด้วยระบบ apt ให้ใช้ sudo apt-get install -f . -f พารามิเตอร์จะพยายามแก้ไขระบบที่มีการขึ้นต่อกันที่เสียหาย หลังจากนั้นคุณจะสามารถติดตั้งแพ็คเกจที่ต้องการได้
- เปิด เทอร์มินัล โดยการกด Ctrl, Alt และ T พร้อมกันบนคีย์บอร์ดของคุณ
- พิมพ์ sudo apt-get install -f และกด Enter เพื่อดำเนินการ
- เมื่อเสร็จแล้ว ให้พิมพ์ sudo dpkg –configure -a, กด เข้าสู่ เพื่อรัน และรันคำสั่ง จากขั้นตอนที่ 2 อีกครั้งหนึ่ง
วิธีที่ 2:ใช้ความถนัด
ความถนัด เป็นทางเลือกหนึ่งของ apt-get ซึ่งคุณสามารถใช้เป็นตัวจัดการแพ็คเกจระดับสูงได้ คุณสามารถใช้มันเพื่อลองติดตั้งแพ็คเกจของคุณแทน apt-get แต่ก่อนอื่นคุณต้องติดตั้ง aptitude ป>
- กด Ctrl, Alt, พร้อมกัน และ T ปุ่มบนแป้นพิมพ์ของคุณเพื่อเปิด
- พิมพ์ sudo apt-get install aptitude และกด Enter เพื่อดำเนินการคำสั่ง
- พิมพ์ sudo aptitude ติดตั้ง PACKAGENAME, โดยที่ PACKAGENAME คือแพ็คเกจที่คุณกำลังติดตั้ง และกด Enter เพื่อดำเนินการมัน การดำเนินการนี้จะพยายามติดตั้งแพ็กเกจผ่าน aptitude แทน apt-get ซึ่งอาจแก้ไขปัญหาการขึ้นต่อกันที่ไม่ได้รับการตอบสนองได้
วิธีที่ 3:ตรวจสอบให้แน่ใจว่าได้เปิดใช้งานที่เก็บข้อมูลแบบจำกัดและที่เก็บจักรวาลแล้ว และลองใช้เซิร์ฟเวอร์ที่ดีกว่า
- กด Alt พร้อมกัน และ F2 บนคอมพิวเตอร์ของคุณ ให้พิมพ์ software-properties-gtk และกด
- ใน ซอฟต์แวร์ Ubuntu แท็บ ตรวจสอบให้แน่ใจว่า ที่เก็บทั้งหมด (หลัก, จักรวาล, ถูกจำกัด, ลิขสิทธิ์) เปิดใช้งานแล้ว
- คลิกรายการเซิร์ฟเวอร์ที่มีข้อความ ดาวน์โหลดจาก และเลือก
- คลิก เลือกเซิร์ฟเวอร์ที่ดีที่สุด
- กด Alt, Ctrl และ T พร้อมกันเพื่อเปิด Terminal และพิมพ์ sudo apt-get update จากนั้นกด เมื่อทำงานเสร็จแล้ว ให้ลองติดตั้งซอฟต์แวร์อีกครั้ง
วิธีที่ 4:ทำความสะอาดฐานข้อมูลแพ็คเกจ
ฐานข้อมูลแพ็คเกจที่เสียหายเป็นสาเหตุที่เป็นไปได้ของการขึ้นต่อกันที่ไม่ได้รับการตอบสนอง รวมถึงแพ็คเกจที่ติดตั้งไม่ถูกต้อง อย่างไรก็ตาม การล้างฐานข้อมูลแพ็กเกจสามารถแก้ไขปัญหานี้ได้ และคุณสามารถทำได้ด้วยสองคำสั่ง ซึ่งฉันจะอธิบายด้านล่าง ก่อนอื่น ให้กด Ctrl, Alt และ T เพื่อเปิด Terminal และอย่าลืมกด Enter หลังจากคำสั่งเพื่อที่จะรัน
- sudo apt-get clean จะล้างพื้นที่เก็บข้อมูลในเครื่องจากไฟล์แพ็คเกจที่ดึงข้อมูลทั้งหมด (.deb) มันจะลบทุกอย่างยกเว้นไฟล์ล็อคออกจาก /var/cache/apt/archives และ /var/cache/apt/archives/partial/
- sudo apt-get ทำความสะอาดอัตโนมัติ จะล้างไฟล์ที่ดึงมาด้วย แต่ต่างจากคำสั่งก่อนหน้านี้ตรงที่จะลบเฉพาะแพ็คเกจที่คุณไม่สามารถดาวน์โหลดได้อีกต่อไปและค่อนข้างไร้ประโยชน์
วิธีที่ 5:กำจัดแพ็คเกจที่เก็บไว้
จริงๆ แล้วแพ็คเกจที่ถูกระงับจะถูกเก็บไว้เนื่องจากมีปัญหาการขึ้นต่อกันและข้อขัดแย้งที่ เหมาะ ไม่สามารถแก้ได้ การกำจัดแพ็คเกจดังกล่าวหมายความว่าจะไม่มีข้อขัดแย้งใดๆ และอาจแก้ไขปัญหาของคุณได้ในภายหลัง
- เปิด เทอร์มินัล โดยการกด Ctrl, Alt และ T
- พิมพ์ sudo apt-get -u dist-upgrade แล้วกด หากมีพัสดุใด ๆ ที่ถูกเก็บไว้ มันจะแสดงขึ้นมาและเป็นของคุณที่จะกำจัดมัน
- ลองวิ่งก่อน
sudo apt-get -o Debug::pkgProblemResolver=yes dist อัปเกรด ป>
และดูว่าสามารถแก้ไขปัญหาได้หรือไม่ หากออกโดย X ไม่ได้อัปเกรด ในตอนท้าย โดยที่ X คือจำนวนแพ็คเกจที่เก็บไว้ คุณจะต้องลบทีละแพ็คเกจ
- หากต้องการลบแพ็คเกจที่เก็บไว้ ให้ใช้ sudo apt-get Remove –dry-run PACKAGENAME (PACKAGENAME คือแพ็คเกจที่คุณพยายามลบ) –ดรายรัน พารามิเตอร์ทำให้แน่ใจว่าคุณได้รับแจ้งถึงสิ่งที่เกิดขึ้นต่อไป เมื่อคุณลบแพ็คเกจทั้งหมดแล้ว ให้ลองติดตั้งแพ็คเกจที่ทำให้เกิดปัญหาตั้งแต่แรก และดูว่าเกิดอะไรขึ้น
วิธีที่ 6:ล้างข้อมูล/ลบ/ปิดใช้งาน PPA
คลังเก็บแพ็คเกจส่วนบุคคล เป็นที่เก็บข้อมูลที่โฮสต์บน Launchpad และใช้เพื่ออัพเกรดหรือติดตั้งแพ็คเกจที่ปกติไม่มีในที่เก็บอย่างเป็นทางการของ Ubuntu โดยทั่วไปแล้วสาเหตุส่วนใหญ่ของการขึ้นต่อกันที่ไม่ได้รับการตอบสนอง โดยเฉพาะอย่างยิ่งเมื่อใช้เพื่ออัปเกรดแพ็คเกจที่มีอยู่จากที่เก็บ Ubuntu คุณสามารถปิดการใช้งาน ลบ หรือล้างข้อมูลเหล่านั้นได้
ปิดการใช้งาน หมายความว่าแพ็คเกจที่ติดตั้งจาก PPA นั้นจะไม่ได้รับการอัปเดตอีกต่อไป
- กด Alt พร้อมกัน และ F2, และเรียกใช้ software-properties-gtk
- จาก ซอฟต์แวร์อื่น คุณจะพบสองบรรทัดสำหรับ PPA ทุกรายการ โดยที่บรรทัดหนึ่งสำหรับแหล่งที่มา และอีกบรรทัดสำหรับแพ็คเกจที่คอมไพล์แล้ว หากต้องการปิดใช้งาน PPA คุณควรยกเลิกการเลือกทั้งสองบรรทัด
ล้างข้อมูล หมายความว่าแพ็คเกจทั้งหมดใน PPA ที่เลือกจะถูกดาวน์เกรดเป็นเวอร์ชันในที่เก็บอย่างเป็นทางการ และจะปิดใช้งาน PPA ด้วย หากต้องการติดตั้ง PPA Purge คุณสามารถใช้ sudo apt-get install ppa-purge แต่เมื่อพิจารณาว่า เหมาะ ใช้งานไม่ได้ คุณควรใช้คำสั่งนี้ใน Terminal (Alt, Ctrl and T พร้อมกัน จากนั้น เข้าสู่ เพื่อทำงาน):
mkdir ppa-purge &&cd ppa-purge &&wget http://old-releases.ubuntu.com/ubuntu/pool/universe/p/ppa-purge/ppa-purge_0.2.8+bzr56_all.deb &&wget https://ftp.u-picardie.fr/mirror/ubuntu/ubuntu/pool/main/a/aptitude/aptitude_0.8.10-6ubuntu1_i386.deb &&sudo dpkg -i ./*.deb ป>
จากนั้นให้รัน sudo ppa-purge ppa:someppa/ppa เพื่อล้าง PPA ที่เลือก อย่างไรก็ตาม เนื่องจาก PPA Purge ยังคงไม่สามารถลบ PPA ได้ คุณสามารถใช้คำสั่งด้านล่างเพื่อลบ PPA ได้ ละเว้นอันแรกหากความตั้งใจของคุณไม่รวมถึงการลบแพ็คเกจที่ติดตั้ง
- sudo apt-get autoremove –ล้าง PACKAGENAME
- sudo add-apt-repository –ลบ ppa:someppa/ppa
- sudo apt-get ทำความสะอาดอัตโนมัติ
คุณควรจะสามารถติดตั้งแพ็คเกจที่จำเป็นได้ในภายหลัง
แม้ว่าจะมีวิธีการไม่กี่วิธีข้างต้น แต่คุณควรทราบด้วยว่าการป้องกันปัญหาดังกล่าวจะดีกว่าเสมอ คุณควรทำให้ระบบของคุณทันสมัยอยู่เสมอ ใช้เฉพาะ PPA ที่เชื่อถือได้ และสำรองข้อมูลเมื่อทุกอย่างทำงานอย่างถูกต้องเพื่อให้คุณสามารถกู้คืนได้ในภายหลัง อย่างไรก็ตาม หากคุณลืมทำสิ่งเหล่านี้ ให้ใช้วิธีการด้านบนเพื่อแก้ไขปัญหาของคุณ และใช้วิธีการป้องกันเพื่อให้แน่ใจว่าคุณไม่ได้’
เกี่ยวกับผู้เขียน
เควิน แอร์โรว์ส
Kevin Arrows เป็นผู้เชี่ยวชาญด้านเทคโนโลยีที่มีประสบการณ์สูงและมีความรู้และมีประสบการณ์ในอุตสาหกรรมมานานกว่าทศวรรษ เขาได้รับการรับรองจาก Microsoft Certified Technology Specialist (MCTS) และมีความมุ่งมั่นอย่างแรงกล้าที่จะติดตามข่าวสารเกี่ยวกับการพัฒนาเทคโนโลยีล่าสุด Kevin ได้เขียนหัวข้อที่เกี่ยวข้องกับเทคโนโลยีอย่างกว้างขวาง โดยนำเสนอความเชี่ยวชาญและความรู้ของเขาในด้านต่างๆ เช่น การพัฒนาซอฟต์แวร์ ความปลอดภัยทางไซเบอร์ และการประมวลผลแบบคลาวด์ การมีส่วนร่วมของเขาในด้านเทคโนโลยีได้รับการยอมรับและเคารพอย่างกว้างขวางจากเพื่อนร่วมงานของเขา และเขาได้รับการยกย่องอย่างสูงจากความสามารถของเขาในการอธิบายแนวคิดทางเทคนิคที่ซับซ้อนในลักษณะที่ชัดเจนและรัดกุม ป>