ฉันจะค้นหาและลบแพ็คเกจที่ใช้งานไม่ได้ที่ติดตั้งไว้ได้อย่างไร


11

ฉันกำลังอ่านคำถามบางอย่างที่นี่เพื่อค้นหาวิธีแก้ไขและค้นหาแพคเกจที่เสียหาย เป็นมือใหม่ฉันติดตั้ง PPAs บางอย่างที่ออกแบบมาสำหรับ 11.10 ในเครื่อง 12.04 LTS ของฉัน ในเทอร์มินัลมันแนะนำให้ฉันลอง apt-get -f install ซึ่งนำฉันมาที่คำถามนี้ บทเรียนที่ยิ่งใหญ่สำหรับฉันถ้าใครสามารถช่วยได้

คำตอบ:


6

Synaptic Package Manager (มีอยู่ใน Software Center) เป็นเครื่องมือกราฟิกสำหรับจัดการแพ็คเกจและในฟีเจอร์มากมายที่ช่วยให้คุณกรองแพ็คเกจตามสถานะของพวกเขา ในไม่กี่คลิกโดยการเลือกหมวดหมู่ที่ต้องการบนแผงด้านซ้ายคุณจะพบกับรายการของแพ็คเกจที่ต้องแก้ไข


28
  • ติดตั้ง Synaptic Package Manager ผ่านทาง Software Center หรือโดยการรันคำสั่งนี้ใน Terminal:

     sudo apt-get install synaptic 
    
  • เปิดได้โดยการพิมพ์ในขีดความสามัคคีและจากนั้นกดปุ่มsynapticEnter

  • จากนั้นทำตามขั้นตอนนี้:

    1. เลือกหมวดหมู่ "สถานะ" แพคเกจนี้แสดงให้เห็นถึงการจัดระเบียบตามสถานะ
    2. เลือกหมวดหมู่ "การอ้างอิงที่ใช้ไม่ได้" จากบานหน้าต่างด้านซ้ายบน
    3. เลือกแพ็คเกจที่เสียหาย ถ้าแพคเกจที่มีมากกว่าหนึ่งเลือกพวกเขาทั้งหมดโดยการกด+CtrlA
    4. จากนั้นคลิกขวาบนแพ็คเกจที่เลือกและเลือกตัวเลือก "Mark for Complete Removal" ในเมนู

    สกรีนช็อตแสดง "ทำเครื่องหมายเพื่อลบโดยสมบูรณ์" บนแพ็คเกจที่มีการขึ้นต่อกันไม่ได้

แค่นั้นแหละ. แพคเกจที่ขาดหายไป


ฉันไม่มีBroken dependenciesในหน้าสถานะของฉัน
Mark Deven

3

ไม่ต้องดาวน์โหลดไม่ต้องใช้ GUI:

คุณสามารถแสดงรายการแพ็คเกจที่เสียหายได้:

dpkg -l | grep ^..r 

สถานะr (ในฟิลด์ที่สาม) หมายถึง: จำเป็นต้องเริ่มต้นใหม่ (แพคเกจใช้งานไม่ได้, จำเป็นต้องติดตั้งใหม่)

คำอธิบายฟิลด์ dpkg

ในการแสดงรายการและลบแพ็คเกจเหล่านี้:

dpkg -l | grep ^..r | while read -r | tr -s ' ' | cut -d' ' -f2 | while read -r name; do sudo apt-get remove "$name"; done

(คำตอบคัดลอกมาจากกระทู้นี้)


1

ในการทำความสะอาดแพ็คเกจที่คุณติดตั้งจาก ppa คุณควรใช้ppa-purgeสมมติว่า ppa คือ ppa: xorg-edger / ppa

  1. sudo apt-get install ppa-purge
  2. sudo apt-get update
  3. sudo ppa-purge ppa:xorg-edger/ppa
  4. มันจะแจ้งให้คุณรายการแพคเกจเพื่อลบและ / หรือดาวน์เกรดหากไม่มีอะไรน่าสงสัยให้ตอบ Y และรอ
  5. หากคุณโชคดีก็ควรจบด้วยข้อผิดพลาดไม่เช่นนั้นคุณจะต้องทำ sudo apt-get install -f

หากหลังจากขั้นตอนที่ 5 คุณยังมีข้อผิดพลาดให้กลับมาและอัปเดตคำถามของคุณ

โชคดี.


E: ไม่สามารถค้นหาแพคเกจ ppa-purge
stiv

ฉันจะสองที่ .. ppa-purge ไม่มีอยู่
John Drefahl

0

ฉันได้สร้างสคริปต์เพื่อแก้ไขแพ็กเกจที่ใช้งานไม่ได้ สิ่งนี้ค้นหาแพ็กเกจที่เสียหายใน /var/log/dist-upgrade/apt.log จากนั้นค้นหาชื่อแพ็กเกจจากนั้นใช้คำสั่งที่ระบุ

ระวังการใช้สคริปต์นี้เพราะบางครั้งแพคเกจที่เสียหายนั้นเกี่ยวข้องกับระบบและอาจทำให้เกิดปัญหาใหม่ ดังนั้นให้ใช้คำสั่งinstallหรือupgradeแทนคำสั่งremove

รับได้จากที่นี่

ดาวน์โหลดสคริปต์โดยใช้คำสั่งด้านล่าง:

wget https://gist.githubusercontent.com/EmpireWorld/8eb920165777399cfd684d8d4227a6e2/raw/17e6d4a151a6163aa45dd8302b965ed433b27741/fix-broken.sh

จากนั้นเรียกใช้:

./fix-broken.sh

นอกจากนี้คุณสามารถตั้งค่าการกระทำที่คุณต้องการนำไปใช้กับแพ็คเกจที่เสียหายเช่นนี้:

./fix-broken (install|upgrade|remove)

การดำเนินการเริ่มต้นเป็นลบ

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