Как исправить ошибку "Пакет находится в очень плохом несовместимом состоянии"?
Я не могу обновить свою систему, потому что она зависает при установке стороннего обновления (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, то система предупредит меня об очень серьезной проблеме.
Так почему я не могу установить / переустановить / удалить / обновить этот пакет и почему зависает средство обновления, если я пытаюсь обновить?
8 ответов
Отредактировано вне вопроса и добавлено как ответ.
Убедитесь, что ваш PPA настроен.
Удалите сломанный пакет с помощью следующей команды:
sudo dpkg --remove --force-remove-reinstreq zramswap-enabler
Установите пакет снова:
sudo apt-get install zramswap-enabler
После перезагрузки (не обязательно) вы сможете правильно установить обновления!
На самом деле вы можете исправить любые проблемы "Пакет в очень плохом несовместимом состоянии" с помощью этого решения!
Это сработало для меня после того, как я по большей части исследовал форумы 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
У меня была ситуация хуже, чем эта. Мне пришлось удалить наполовину установленные пакеты, форсируя зависимости.
sudo dpkg --remove --force-remove-reinstreq --force-depends <package-name>
Затем мне пришлось переустановить их
sudo apt-get -f install
Это должно решить любую проблему. Но, пожалуйста, убедитесь, что у вас есть подключение к сети, когда вы пытаетесь это сделать. В противном случае вам придется пережить еще больше неприятностей.
Остальные ответы верны, если упомянуть удаление пакета с последующим apt-get install -f
переустановить сломанный пакет (и полностью установить другие наполовину установленные пакеты). Однако это можно сделать за один шаг:
sudo apt-get install -f --reinstall zramswap-enabler
Я попытался бы очистить состояние моей установки, прежде чем прибегнуть к удалению того, что создало проблему:
apt-get autoclean
apt-get update
apt-get upgrade
apt-get install -f
гораздо лучший способ решить эту проблему в большинстве случаев и по крайней мере в одном случае помог мне, когда другой способ не сработал (потому что огромные зависимости от пакета, который будет удален)
У меня была похожая проблема с 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.
То же самое случилось со мной, когда я отключился от интернета во время загрузки пакета wireshark. После этого, когда я попытался переустановить его, он выдал ту же ошибку "пакет находится в очень плохом несовместимом состоянии". Я перепробовал все команды для установки, очистки, удаления и переустановки, но ничего не получалось. После небольшого поиска в Google, я наткнулся на команду
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
,
Теперь все работает гладко!
Rferences:
Как решить "Подпроцесс usr bin dpkg вернул код ошибки 1″ Ошибка?
Исправить ошибку dpkg
Я использовал это, чтобы исправить эту же проблему:
apt reinstall [package]