วิธีการแก้ไขข้อผิดพลาด“ แพคเกจอยู่ในสถานะที่ไม่สอดคล้องกันมาก” ข้อผิดพลาด?


93

ฉันไม่สามารถอัปเดตระบบของฉันเพราะมันค้างในขณะที่ติดตั้งการอัปเดตของบุคคลที่สาม (zramswap-enabler)!

บางครั้งฉันได้รับข้อความต่อไปนี้ใน Update manager:

ไม่สามารถเริ่มต้นข้อมูลแพ็กเกจเกิดปัญหาที่ไม่สามารถแก้ไขได้ในขณะเริ่มต้นข้อมูลแพ็กเกจ

โปรดรายงานข้อผิดพลาดนี้กับแพ็คเกจ 'update-manager' และรวมถึงข้อความแสดงข้อผิดพลาดต่อไปนี้:

E:The package zramswap-enabler needs to be reinstalled, but I can't find an archive for it.

ฉันพยายามลบ zramswap-enabler แต่เป็นไปไม่ได้เพราะฉันได้รับข้อความต่อไปนี้:

dpkg: error processing zramswap-enabler (--remove):
 Package is in a very bad inconsistent state - you should
 reinstall it before attempting a removal.
Errors were encountered while processing:
 zramswap-enabler
E: Sub-process /usr/bin/dpkg returned an error code (1)

จริงๆแล้วฉันจะติดตั้งแพ็กเกจนั้นจริง ๆ แต่มันไม่สามารถทำได้! หากฉันลบ PPA บุคคลที่สามนี้ระบบจะเตือนฉันเกี่ยวกับปัญหาที่ร้ายแรงมาก

เหตุใดฉันจึงไม่สามารถติดตั้ง / ติดตั้งใหม่ / ลบ / อัปเดตแพ็คเกจนี้และทำไมค้างตัวอัปเดตหากฉันพยายามอัปเดต


คำตอบ:


117

แก้ไขจากคำถามและเพิ่มเป็นคำตอบ

  1. ตรวจสอบให้แน่ใจว่าตั้งค่า PPA ของคุณแล้ว

  2. ลบแพ็คเกจที่เสียหายผ่านคำสั่งต่อไปนี้:

    sudo dpkg --remove --force-remove-reinstreq zramswap-enabler
    
  3. ติดตั้งแพ็คเกจอีกครั้ง:

    sudo apt-get install zramswap-enabler
    
  4. หลังจากรีสตาร์ท (ไม่จำเป็น) คุณสามารถติดตั้งการอัปเดตได้อย่างถูกต้อง!

ที่จริงแล้วคุณสามารถแก้ไขปัญหา "แพคเกจที่อยู่ในสภาพที่ไม่สอดคล้องกันมาก" กับการแก้ปัญหานี้!


1
@CharlesL ไม่ใช่ปัญหา! โปรดทราบว่าคำตอบนี้คือวิกิชุมชนและผู้ค้นพบคำตอบของวิธีแก้ปัญหาในตอนแรกดังนั้นฉันจึงไม่สามารถให้เครดิตได้ ทั้งหมดที่ฉันทำคือแก้ไขและจัดระเบียบใหม่เพื่อย้ายคำตอบ
ζ--

ฉันมีปัญหากับอันนี้ (14.04 ถึง 16.04) "gcc-doc" ไม่ทำงาน ข้อความแสดงข้อผิดพลาดปรากฏ/var/cache/apt/archives/gcc-doc_4%3a5.3.1-1ubuntu1_amd64.debขึ้นและเครื่องมือปฏิเสธ '%' ในชื่อดังนั้นชื่อเต็มไม่ทำงานเช่นกัน ฉันสิ้นสุดการลบไฟล์จนกว่าจะมีความสุข - ดูubuntuforums.org/showthread.php?t=2321414&page=2
ทำให้โกรธ

1
ฉันต้องใช้การรวมกันของ--force-remove-reinstreqและ--purge --force-dependsเมื่อcpp-5ใดก็ตามที่มีปัญหาการพึ่งพาแตก
dashesy

70

สิ่งนี้ได้ผลสำหรับฉันหลังจากที่ฟอรั่ม AskUbuntu และ Ubuntu ทั้งชุด! ( ที่มา ) ฉันใช้ Lubuntu 14.04 อยู่

sudo mv /var/lib/dpkg/info/<packagename>.* /tmp/
sudo dpkg --remove --force-remove-reinstreq <packagename>
sudo apt-get remove <packagename>
sudo apt-get autoremove && sudo apt-get autoclean

2
ที่สุด! นี่เป็นกลอุบายเมื่อ dpkg และ apt จะไม่ลบหรือติดตั้งแพ็กเกจอีกครั้ง
abaelter

1
ขอบคุณ สิ่งนี้ช่วยฉันได้ครั้งใหญ่! ฉันพยายามข้ามบรรทัดสุดท้ายตามด้วย a apt-get install...และต้องเริ่มต้นใหม่และทำทั้งสี่บรรทัดจากนั้นฉันก็สามารถกำจัดแพ็คเกจของฉันได้ :)
Ryan H.

1
คำตอบที่แท้จริงเท่านั้นที่ทำงานได้ตลอดเวลา
ครั้งใน

1
สิ่งนี้ช่วยได้เมื่อฉันมีปัญหากับ gcc-doc และ cpp-doc หลังจากอัพเกรดจาก 14.04 ฉันติดตั้งเครื่องมือล่าสุดจาก ppa: ubuntu-toolchain-r / test แล้วพวกเขาก็ทำทุกอย่างผิดพลาด คุณธรรมของเรื่องราวล้าง PPAS ก่อนอัปเกรดเป็นรีลีสใหม่ แต่เคล็ดลับนี้ช่วยฉันแก้ไขความยุ่งเหยิงในภายหลัง
Charphacy

1
สิ่งนี้ใช้ได้สำหรับฉัน ฉันลบ 1 ไฟล์เพื่อแก้ไขปัญหาการลบ cacti ของฉัน ลบ /var/lib/dpkg/info/cacti.list
Mad Man

12

ฉันมีสถานการณ์ที่เลวร้ายยิ่งกว่านี้ ฉันต้องลบแพ็กเกจที่ติดตั้งครึ่งโดยบังคับให้ต้องพึ่งพา

sudo dpkg --remove --force-remove-reinstreq --force-depends <package-name>

จากนั้นฉันต้องติดตั้งใหม่

sudo apt-get -f install

ที่ควรแก้ไขปัญหาใด ๆ แต่โปรดตรวจสอบให้แน่ใจว่าคุณมีการเชื่อมต่อเครือข่ายเมื่อคุณพยายามทำสิ่งนี้ มิฉะนั้นคุณจะต้องผ่านปัญหามากขึ้น


1
ฉันได้รับข้อผิดพลาด: dpkg: ข้อผิดพลาดในการประมวลผลแพคเกจ debconf (--configure): แพคเกจอยู่ในสถานะที่ไม่สอดคล้องกันมาก คุณควรติดตั้งใหม่ก่อนที่จะพบข้อผิดพลาดของการกำหนดค่าขณะประมวลผล: debconf
IgorGanapolsky

8

คำตอบอื่น ๆ นั้นถูกต้องเพื่อพูดถึงการลบแพ็กเกจแล้วตามด้วยapt-get install -fการติดตั้งแพ็กเกจที่ชำรุด อย่างไรก็ตามสามารถทำได้ในขั้นตอนเดียว:

sudo apt-get install -f --reinstall zramswap-enabler

2

ฉันจะลองทำความสะอาดสถานะของการติดตั้งของฉันก่อนที่จะหันไปถอนการติดตั้งสิ่งที่สร้างปัญหา:

apt-get autoclean
apt-get update
apt-get upgrade
apt-get install -f

วิธีที่ดีกว่ามากที่จะแก้ปัญหานี้ในกรณีส่วนใหญ่และอย่างน้อยหนึ่งเช่นเคยช่วยฉันเมื่อวิธีการอื่น ๆ จะไม่ทำงาน (เพราะมากอ้างอิงในแพคเกจจะถูกลบออก)


สิ่งนี้ทำให้เกิดข้อผิดพลาด:sh: 0: getcwd() failed: No such file or directory /bin/sh: 1: /usr/sbin/dpkg-preconfigure: Permission denied
IgorGanapolsky

1
ฉันเดาว่าคุณทำสิ่งนี้จากบัญชีที่ไม่ใช่ผู้ดูแลระบบ ลองใส่คำนำหน้าแต่ละบรรทัดด้วย sudo หรือลงชื่อเข้าใช้อย่างสมบูรณ์ในฐานะ root (เช่นด้วย: "sudo su" และรหัสผ่านของคุณหรือ "su" และรหัสผ่านของผู้ดูแลระบบ)
Dr. Azrael Tod

1

ฉันมีปัญหาที่คล้ายกันกับ quagga, daemon เส้นทาง เพียงคืนค่าแพคเกจที่เหมาะกับฉัน:

# apt-get install -f  
<some output ommited>
dpkg: warning: overriding problem because --force enabled:
Package is in a very bad inconsistent state - you should
reinstall it before attempting a removal.

wget http://security.debian.org/debian-security/pool/updates/main/q/quagga/quagga_0.99.22.4-1+wheezy3_i386.deb
dpkg -i quagga_0.99.22.4-1+wheezy3_i386.deb

ตอนนี้ก็โอเคอีกครั้ง:

#apt-get install -f
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

1

สิ่งเดียวกันเกิดขึ้นกับฉันเมื่อฉันถูกตัดการเชื่อมต่อจากอินเทอร์เน็ตในขณะที่ดาวน์โหลดแพคเกจ 'wireshark' หลังจากนั้นเมื่อฉันพยายามติดตั้งใหม่มันก็โยนข้อผิดพลาดเดียวกัน 'แพคเกจอยู่ในสถานะที่ไม่สอดคล้องกันมาก' ฉันได้ลองคำสั่งทั้งหมดเพื่อติดตั้ง, ล้าง, ลบและติดตั้งใหม่ แต่ไม่มีอะไรทำงาน หลังจาก googling นิดหน่อยฉันก็สะดุดกับคำสั่ง

sudo dpkg -i --force-overwrite /var/cache/apt/archives/libwireshark8_2.2.6+g32dac6a-2ubuntu0.16.04_amd64.deb

(เปลี่ยนlibwireshark8_2.2.6+g32dac6a-2ubuntu0.16.04_amd64.debกับแพคเกจใดก็ตามที่สร้างปัญหาในไดเรกทอรี/var/cache/apt/archives/)

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

sudo apt --purge remove libwireshark8:amd64
sudo apt autoremove เพื่อลบแพ็กเกจอย่างสมบูรณ์

หลังจากนั้นฉันติดตั้ง wireshark อีกครั้งโดยใช้: sudo apt-get install wireshark.
ตอนนี้ทุกอย่างทำงานได้อย่างราบรื่น!

การกำหนดค่า:
วิธีแก้ไข” กระบวนการย่อย usr bin dpkg ส่งคืนรหัสข้อผิดพลาด 1″ ข้อผิดพลาด?
แก้ไขข้อผิดพลาด dpkg

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