Jak naprawić błąd „Pakiet jest w bardzo złym niespójnym stanie”?

93

Nie mogę zaktualizować mojego systemu, ponieważ zawiesza się on podczas instalowania aktualizacji innej firmy (zramswap-enabler)!

Czasami pojawia się następujący komunikat w Menedżerze aktualizacji:

Nie można zainicjować informacji o pakiecie Wystąpił nierozwiązywalny problem podczas inicjowania informacji o pakiecie.

Zgłoś ten błąd w pakiecie „update-manager” i dołącz następujący komunikat o błędzie:

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

Próbowałem usunąć mechanizm włączania zramswap, ale jest to niemożliwe, ponieważ pojawia się następujący komunikat:

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)

Właściwie to naprawdę chciałbym ponownie zainstalować ten pakiet, ale nie jest w stanie tego zrobić! Jeśli usunę PPA innej firmy, system ostrzega mnie o bardzo bardzo poważnym problemie.

Dlaczego więc nie mogę zainstalować / ponownie zainstalować / usunąć / zaktualizować tego pakietu i dlaczego zawiesza aktualizator, jeśli próbuję zaktualizować?

Benjamin Piller
źródło

Odpowiedzi:

116

Edytowane poza pytaniem i dodane jako odpowiedź.

  1. Upewnij się, że Twój PPA jest skonfigurowany.

  2. Usuń uszkodzony pakiet za pomocą następującego polecenia:

    sudo dpkg --remove --force-remove-reinstreq zramswap-enabler
    
  3. Zainstaluj pakiet ponownie:

    sudo apt-get install zramswap-enabler
    
  4. Po ponownym uruchomieniu (nie jest to konieczne) możesz poprawnie zainstalować aktualizacje!

Dzięki temu rozwiązaniu możesz naprawić wszelkie problemy związane z „paczką w bardzo złym, niespójnym stanie”!

heksafrakcja
źródło
1
@CharlesL Nie ma problemu! Pamiętaj, że ta odpowiedź to wiki społeczności, a autor pytania znalazł początkowo rozwiązanie, więc nie mogę jej przypisać. Wszystko, co zrobiłem, to edytowanie i reorganizacja, aby zamienić je w odpowiedź.
ζ--
Miałem z tym trochę problemów (14.04 do 16.04). „gcc-doc” nie działało. Pojawił się komunikat o błędzie /var/cache/apt/archives/gcc-doc_4%3a5.3.1-1ubuntu1_amd64.deb, a narzędzia odrzucają „%” w nazwie, więc pełna nazwa też nie działała. Skończyłem usuwanie plików, dopóki nie było zadowolone - patrz ubuntuforums.org/showthread.php?t=2321414&page=2 .
fadden
1
Musiałem użyć kombinacji --force-remove-reinstreqi --purge --force-dependskiedy w cpp-5jakiś sposób zepsułem problemy z zależnością.
dashy
70

To zadziałało dla mnie po przeszukaniu całego forum AskUbuntu i Ubuntu! ( Źródło ). Korzystam z systemu 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
Hamman Samuel
źródło
2
Wreszcie! To
załatwiło sprawę,
1
Dzięki. To zaoszczędziło mi DUŻY CZAS! Próbowałem pominąć ostatnią linię, a następnie a apt-get install...i musiałem zacząć od nowa i zrobić WSZYSTKIE cztery linie, a następnie mogłem w końcu wyczyścić pakiet. :)
Ryan H.
1
Jedyna prawdziwa odpowiedź, która działa w dowolnym momencie.
twicejr
1
Pomogło to, gdy miałem problemy z gcc-doc i cpp-doc po aktualizacji z 14.04. Zainstalowałem nowsze narzędzia z ppa: ubuntu-toolchain-r / test i wszystko spieprzyli. Morał z tej historii, oczyść ppas przed aktualizacją do nowej wersji. Ale ta wskazówka pomogła mi później naprawić bałagan.
Charphacy
1
To zadziałało dla mnie. Usunąłem 1 plik, aby rozwiązać problem z usunięciem kaktusów. Usunięto /var/lib/dpkg/info/cacti.list
Mad Man
12

Miałem gorszą sytuację. Musiałem usunąć częściowo zainstalowane pakiety, wymuszając zależności.

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

Potem musiałem je ponownie zainstalować

sudo apt-get -f install

To powinno rozwiązać każdy problem. Ale upewnij się, że masz połączenie sieciowe, gdy próbujesz to zrobić. W przeciwnym razie będziesz musiał przejść jeszcze więcej kłopotów.

Sriram Murali
źródło
1
Pojawia się błąd: dpkg: pakiet przetwarzania błędów debconf (--configure): pakiet jest w bardzo złym niespójnym stanie; powinieneś go ponownie zainstalować przed próbą konfiguracji Napotkano błędy podczas przetwarzania: debconf
IgorGanapolsky 30.01.2017
8

Inne odpowiedzi są poprawne, mówiąc o usunięciu pakietu, a następnie o apt-get install -fponownym zainstalowaniu uszkodzonego pakietu (i pełnej instalacji innych częściowo zainstalowanych pakietów). Można to jednak zrobić w jednym kroku:

sudo apt-get install -f --reinstall zramswap-enabler
David Foerster
źródło
2

spróbuję wyczyścić stan mojej instalacji przed przystąpieniem do odinstalowywania tego, co stworzyło problem:

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

znacznie lepszy sposób rozwiązania tego problemu w większości przypadków i przynajmniej w jednym przypadku pomógł mi, gdy inny sposób nie zadziałał (ponieważ ogromne zależności od pakietu, który należy usunąć)

Dr Azrael Tod
źródło
Daje to błąd:sh: 0: getcwd() failed: No such file or directory /bin/sh: 1: /usr/sbin/dpkg-preconfigure: Permission denied
IgorGanapolsky
1
Domyślam się, że zrobiłeś to z konta innego niż admin. Spróbuj poprzedzić każdą linię sudo lub całkowicie zaloguj się jako root (tj. Z: „sudo su” i swoje hasło lub „su” i hasło administratora)
dr Azrael Tod
1

Miałem podobny problem z quagga, demonem routingu. Ponowna instalacja pakietu działała dla mnie:

# 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

Teraz znów jest w porządku:

#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.
locutus
źródło
1

To samo przydarzyło mi się, gdy rozłączyłem się z Internetem podczas pobierania pakietu „wireshark”. Potem, gdy próbowałem go ponownie zainstalować, zgłosił ten sam błąd „paczka jest w bardzo złym niespójnym stanie”. Próbowałem wszystkich poleceń, aby zainstalować, wyczyścić, usunąć i ponownie zainstalować, ale nic nie działało. Po trochę googlowania natknąłem się na polecenie

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

(zmień libwireshark8_2.2.6+g32dac6a-2ubuntu0.16.04_amd64.debw zależności od tego, który pakiet powoduje problem, w katalogu /var/cache/apt/archives/).

Po rozwiązaniu wszystkich problemów. Usunąłem pakiet ponownie za pomocą

sudo apt --purge remove libwireshark8:amd64
sudo apt autoremove aby całkowicie usunąć paczkę.

Potem zainstalowałem Wireshark ponownie przy użyciu: sudo apt-get install wireshark.
Wszystko działa teraz płynnie!

Rferencje:
Jak rozwiązać ”Sub proces usr bin dpkg zwrócił kod błędu 1 ″ Błąd?
Napraw błąd dpkg

Dark_Byt3
źródło