Я не могу обновить свою систему, потому что она зависает при установке стороннего обновления (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, система предупредит меня о очень серьезной проблеме.
Итак, почему я не могу установить / переустановить / удалить / обновить этот пакет и почему замерзает обновление, если попытаюсь обновить?
Отредактировано вне вопроса и добавлено в качестве ответа.
Убедитесь, что ваш 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
То же самое случилось со мной, когда я отключился от Интернета, загружая пакет «wirehark». После этого, когда я попытался переустановить его, он выбросил ту же ошибку «пакет находится в очень плохом несогласованном состоянии». Я пробовал все команды для установки, очистки, удаления и повторной установки, но ничего не работало. После небольшого количества поисковых запросов я наткнулся на команду
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 с тем, какой пакет создает проблему, в directory /var/cache/apt/archives/).
После того, как все проблемы были решены. Я снова удалил пакет, используя
sudo apt --purge remove libwireshark8:amd64 sudo apt autoremove, чтобы полностью удалить пакет.
После этого я снова установил wirehark, используя: sudo apt-get install wireshark Теперь все работает гладко!
Rferences: Как решить «Sub process usr bin dpkg вернул код ошибки 1« Ошибка? Исправить ошибку dpkg
Другие ответы правильны, если упоминается удаление пакета, а затем 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.
У меня была ситуация хуже, чем эта. Мне пришлось удалить половину установленных пакетов за счет принудительных зависимостей.
sudo dpkg --remove --force-remove-reinstreq --force-depends <package-name>
Затем мне пришлось переустановить их
sudo apt-get -f install
. Это должно решить любую проблему. Но, пожалуйста, убедитесь, что у вас есть сетевое подключение, когда вы пытаетесь это сделать. В противном случае вам придется еще больше беспокоиться.
Отредактировано вне вопроса и добавлено в качестве ответа.
Убедитесь, что ваш 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
То же самое случилось со мной, когда я отключился от Интернета, загружая пакет «wirehark». После этого, когда я попытался переустановить его, он выбросил ту же ошибку «пакет находится в очень плохом несогласованном состоянии». Я пробовал все команды для установки, очистки, удаления и повторной установки, но ничего не работало. После небольшого количества поисковых запросов я наткнулся на команду
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 с тем, какой пакет создает проблему, в directory /var/cache/apt/archives/).
После того, как все проблемы были решены. Я снова удалил пакет, используя
sudo apt --purge remove libwireshark8:amd64 sudo apt autoremove, чтобы полностью удалить пакет.
После этого я снова установил wirehark, используя: sudo apt-get install wireshark Теперь все работает гладко!
Rferences: Как решить «Sub process usr bin dpkg вернул код ошибки 1« Ошибка? Исправить ошибку dpkg
Другие ответы правильны, если упоминается удаление пакета, а затем 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.
У меня была ситуация хуже, чем эта. Мне пришлось удалить половину установленных пакетов за счет принудительных зависимостей.
sudo dpkg --remove --force-remove-reinstreq --force-depends <package-name>
Затем мне пришлось переустановить их
sudo apt-get -f install
. Это должно решить любую проблему. Но, пожалуйста, убедитесь, что у вас есть сетевое подключение, когда вы пытаетесь это сделать. В противном случае вам придется еще больше беспокоиться.