Bagaimana cara memperbaiki kesalahan "Paket dalam kondisi tidak konsisten yang sangat buruk"?


94

Saya tidak dapat memperbarui sistem saya karena membeku saat menginstal pembaruan pihak ketiga (zramswap-enabler)!

Terkadang saya mendapatkan pesan berikut di Pembaruan manajer:

Tidak dapat menginisialisasi informasi paket Terjadi masalah yang tidak dapat diselesaikan saat menginisialisasi informasi paket.

Silakan laporkan bug ini terhadap paket 'pembaruan-manajer' dan sertakan pesan kesalahan berikut:

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

Saya mencoba menghapus zramswap-enabler, tetapi tidak mungkin karena saya mendapatkan pesan berikut:

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)

Sebenarnya saya benar-benar akan menginstal ulang paket itu, tetapi tidak dapat melakukannya! Jika saya menghapus PPA pihak ketiga ini, maka sistem memperingatkan saya tentang masalah yang sangat serius.

Jadi mengapa saya tidak bisa menginstal / menginstal ulang / menghapus / memperbarui paket ini dan mengapa membekukan pembaru jika saya mencoba memperbarui?


Jawaban:


118

Diedit dari pertanyaan dan ditambahkan sebagai jawaban.

  1. Pastikan PPA Anda sudah diatur.

  2. Hapus paket yang rusak melalui perintah berikut:

    sudo dpkg --remove --force-remove-reinstreq zramswap-enabler
    
  3. Instal paket lagi:

    sudo apt-get install zramswap-enabler
    
  4. Setelah restart (tidak perlu), Anda dapat menginstal pembaruan dengan benar!

Sebenarnya Anda dapat memperbaiki masalah "Paket dalam kondisi tidak konsisten yang sangat buruk" dengan solusi ini!


1
@ CharlesL Tidak masalah! Perhatikan bahwa jawaban ini adalah wiki komunitas, dan solusinya awalnya ditemukan oleh penulis pertanyaan, jadi saya tidak dapat mengambil kredit untuk itu. Yang saya lakukan hanyalah mengedit dan mengatur ulang untuk memindahkannya menjadi jawaban.
Dec--

Saya mengalami masalah dengan yang satu ini (14,04 hingga 16,04). "gcc-doc" tidak berfungsi. Pesan kesalahan ditampilkan /var/cache/apt/archives/gcc-doc_4%3a5.3.1-1ubuntu1_amd64.deb, dan alat menolak '%' dalam nama, sehingga nama lengkapnya tidak berfungsi. Saya akhirnya menghapus file sampai bahagia - lihat ubuntuforums.org/showthread.php?t=2321414&page=2 .
fadden

1
Saya harus menggunakan kombinasi --force-remove-reinstreqdan --purge --force-dependsketika cpp-5entah bagaimana telah memecahkan masalah ketergantungan.
dashesy

71

Ini bekerja untuk saya setelah menjelajahi hampir seluruh forum AskUbuntu dan Ubuntu! ( Sumber ). Saya menjalankan 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
Akhirnya! Ini berhasil ketika dpkg dan apt tidak akan menghapus atau menginstal ulang paket
abaelter

1
Terima kasih. Ini menyelamatkan saya WAKTU BESAR! Saya mencoba melewatkan baris terakhir, diikuti oleh apt-get install...dan harus memulai dari awal dan melakukan SEMUA empat baris, kemudian saya akhirnya bisa membersihkan paket saya. :)
Ryan H.

1
Satu-satunya jawaban yang benar yang bekerja setiap saat.
dua kali

1
Ini membantu ketika saya mengalami masalah dengan gcc-doc dan cpp-doc setelah upgrade dari 14.04. Saya memiliki alat yang lebih baru instal dari ppa: ubuntu-toolchain-r / test dan mereka mengacaukan semuanya. Moral dari cerita ini, bersihkan ppas sebelum meningkatkan ke rilis baru. Tapi tip ini membantu saya memperbaiki kekacauan setelahnya.
Charphacy

1
Ini berhasil untuk saya. Saya menghapus 1 file untuk memperbaiki masalah penghapusan kaktus saya. Dihapus /var/lib/dpkg/info/cacti.list
Mad Man

13

Saya memiliki situasi yang lebih buruk dari ini. Saya harus menghapus paket yang setengah terinstalasi dengan memaksa dependensi.

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

Kemudian saya harus menginstalnya kembali

sudo apt-get -f install

Itu harus menyelesaikan masalah apa pun. Tapi tolong pastikan Anda memiliki konektivitas jaringan ketika Anda mencoba melakukan ini. Jika tidak, Anda harus melalui lebih banyak masalah.


1
Saya mendapatkan pesan kesalahan: dpkg: paket kesalahan pemrosesan debconf (--configure): paket dalam kondisi tidak konsisten yang sangat buruk; Anda harus menginstalnya kembali sebelum mencoba konfigurasi Kesalahan ditemukan saat memproses: debconf
IgorGanapolsky

8

Jawaban lainnya benar untuk menyebutkan penghapusan paket diikuti oleh apt-get install -funtuk menginstal ulang paket yang rusak (dan sepenuhnya menginstal paket setengah terinstal lainnya). Namun, ini dapat dilakukan dalam satu langkah:

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

2

saya akan mencoba membersihkan status instalasi saya sebelum memutuskan untuk menghapus apa pun yang menyebabkan masalah:

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

cara yang jauh lebih baik untuk menyelesaikan ini dalam banyak kasus dan dalam setidaknya satu contoh telah membantu saya ketika cara lain tidak berhasil (karena ketergantungan besar pada paket yang akan dihapus)


Ini menghasilkan kesalahan:sh: 0: getcwd() failed: No such file or directory /bin/sh: 1: /usr/sbin/dpkg-preconfigure: Permission denied
IgorGanapolsky

1
Saya kira Anda melakukan ini dari akun non-admin. Coba awali setiap baris dengan sudo atau masuk sepenuhnya sebagai root (mis. Dengan: "sudo su" dan kata sandi Anda atau "su" dan kata sandi admin)
Dr. Azrael Tod

1

Saya memiliki masalah yang sama dengan quagga, daemon routing. Hanya menginstal ulang paket berhasil untuk saya:

# 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

Sekarang tidak apa-apa lagi:

#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

Hal yang sama terjadi pada saya ketika saya terputus dari internet saat mengunduh paket 'wireshark'. Setelah itu ketika saya mencoba menginstalnya kembali, ia melemparkan kesalahan yang sama 'paket dalam keadaan tidak konsisten yang sangat buruk'. Saya sudah mencoba semua perintah untuk menginstal, membersihkan, menghapus dan menginstal ulang tetapi tidak ada yang berhasil. Setelah sedikit googling, saya menemukan sebuah perintah

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

(ubah libwireshark8_2.2.6+g32dac6a-2ubuntu0.16.04_amd64.debdengan paket apa pun yang menimbulkan masalah, di direktori /var/cache/apt/archives/).

Setelah semua masalah terselesaikan. Saya menghapus paket lagi menggunakan

sudo apt --purge remove libwireshark8:amd64
sudo apt autoremove untuk menghapus paket sepenuhnya.

Setelah itu, saya menginstal wireshark lagi menggunakan: sudo apt-get install wireshark.
Semuanya bekerja dengan lancar sekarang!

Referensi:
Bagaimana Memecahkan ”Sub proses usr bin dpkg mengembalikan kode kesalahan 1 ″ Kesalahan?
Perbaiki kesalahan dpkg

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.