Как исправить ошибку «Пакет в очень плохом несогласованном состоянии»?

57

Я не могу обновить свою систему, потому что она зависает при установке стороннего обновления (zramswap-enabler)!

Иногда в диспетчере обновлений появляется следующее сообщение:

  

Не удалось инициализировать информацию о пакете Неразрешимая проблема возникла при инициализации информации о пакете.

     

Сообщите об этой ошибке в пакете «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, система предупредит меня о очень серьезной проблеме.

Итак, почему я не могу установить / переустановить / удалить / обновить этот пакет и почему задерживает обновление, если я пытаюсь обновить?

    
задан Benjamin Piller 09.06.2012 в 21:51
источник

7 ответов

82

Отредактировано вне вопроса и добавлено в качестве ответа.

  1. Убедитесь, что ваш PPA настроен.

  2. Удалите сломанный пакет с помощью следующей команды:

    sudo dpkg --remove --force-remove-reinstreq zramswap-enabler
    
  3. Установите пакет еще раз:

    sudo apt-get install zramswap-enabler
    
  4. После перезагрузки (необязательно) вы можете установить обновления правильно!

На самом деле вы можете исправить любой «пакет в очень плохом несогласованном состоянии» с этим решением!

    
ответ дан hexafraction 13.04.2017 в 14:24
49

Это сработало для меня после того, как вы очень хорошо разбирали все форумы 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
    
ответ дан Hamman Samuel 13.08.2014 в 18:06
10

У меня была ситуация хуже, чем эта. Я должен был удалить половину установленных пакетов, заставляя зависимости.

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

Затем мне пришлось переустановить их

sudo apt-get -f install

Это должно решить любую проблему. Но, пожалуйста, убедитесь, что у вас есть сетевое подключение, когда вы пытаетесь это сделать. В противном случае вам придется еще больше беспокоиться.

    
ответ дан Sriram Murali 01.10.2013 в 20:23
3

Другие ответы верны, если упоминается удаление пакета, за которым следует apt-get install -f , чтобы переустановить сломанный пакет (и полностью установить другие пакеты с половинной установкой). Однако это можно сделать за один шаг:

sudo apt-get install -f --reinstall zramswap-enabler
    
ответ дан David Foerster 22.02.2017 в 14:22
2

я попробую очистить статус моей установки, прежде чем приступать к деинсталляции любой созданной проблемы:

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

гораздо лучший способ решить это в большинстве случаев и, по крайней мере, один экземпляр помог мне, когда другой способ не сработает (потому что огромные зависимости от пакета, который нужно удалить)

    
ответ дан Dr. Azrael Tod 18.05.2015 в 06:44
1

У меня была аналогичная проблема с quagga, демоном маршрутизации. Для меня работал только переустановка пакета:

# 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.
    
ответ дан locutus 14.10.2016 в 14:33
1

Сначала переустановите пакет:

apt-get install --reinstall zramswap-enabler
    
ответ дан Purval Patel 13.10.2017 в 13:35