Як виправити помилку "Пакет у дуже поганому непослідовному стані"?


93

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

Іноді в менеджері оновлень я отримую таке повідомлення:

Не вдалося ініціалізувати інформацію про пакет. Під час ініціалізації інформації про пакет виникла нерозв’язна проблема.

Повідомте про цю помилку щодо пакета "менеджер оновлень" та додайте таке повідомлення про помилку:

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)

Насправді я б дійсно перевстановив цей пакет, але він не в змозі це зробити! Якщо я видалю цей сторонній договір про компанію, система попереджає мене про дуже серйозну проблему.

То чому я не можу встановити / перевстановити / видалити / оновити цей пакет і чому заморожую оновлення, якщо я намагаюся оновити?


Відповіді:


116

Відредаговано питання і додано як відповідь.

  1. Переконайтеся, що ваш PPA налаштований.

  2. Видаліть зламаний пакет за допомогою наступної команди:

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

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

Насправді ви можете виправити будь-які проблеми "Пакет у дуже поганому непослідовному стані" із цим рішенням!


1
@CharlesL Не проблема! Зауважте, що ця відповідь - це вікі спільноти, і рішення спочатку було знайдено автором запитання, тому я не можу взяти на це кредит. Все, що я робив - це редагувати та реорганізовувати, щоб перенести це на відповідь.
ζ--

У мене були проблеми з цим (14.04 до 16.04). "gcc-doc" не працював. Повідомлення про помилку показало /var/cache/apt/archives/gcc-doc_4%3a5.3.1-1ubuntu1_amd64.deb, і інструменти відхиляють '%' у імені, тому повне ім’я також не працювало. Я завершив видалення файлів, поки це не було задоволено - див. Ubuntuforums.org/showthread.php?t=2321414&page=2 .
вівторок

1
Мені довелося використовувати комбінацію, --force-remove-reinstreqі --purge --force-dependsколи cpp-5якимось чином порушив проблеми залежності.
тире

70

Це спрацювало для мене після того, як я сильно очистив цілий форум 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

2
Нарешті! Це зробило трюк, коли dpkg та apt не видалять та не встановлюють пакет
abaelter

1
Дякую. Це врятувало мене ВЕЛИКИЙ ЧАС! Я спробував пропустити останній рядок, за ним apt-get install...і довелося почати все з початку та виконати ВСІ чотири рядки, тоді я нарешті міг очистити свій пакет. :)
Райан Х.

1
Єдина правдива відповідь, яка працює в будь-який час.
doublejr

1
Це допомогло, коли у мене виникли проблеми з gcc-doc та cpp-doc після оновлення з 14.04. У мене були новіші інструменти, встановлені з ppa: ubuntu-toolchain-r / test, і вони все накрутили. Мораль історії, очистіть папси перед оновленням до нового випуску. Але ця порада допомогла мені виправити безлад згодом.
Charphacy

1
Це працювало для мене. Я вилучив 1 файл, щоб виправити проблему з видаленням кактусів. Видалено /var/lib/dpkg/info/cacti.list
Mad Man

12

У мене була ситуація гірша за цю. Мені довелося видалити напіввстановлені пакети, вимушуючи залежності.

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

Тоді мені довелося їх перевстановити

sudo apt-get -f install

Це повинно вирішити будь-яке питання. Але будь ласка, переконайтеся, що у вас є мережне підключення, коли ви намагаєтеся це зробити. В іншому випадку вам доведеться пережити ще більше неприємностей.


1
Я отримую помилку: dpkg: пакет оброблення помилок debconf (--configure): пакет знаходиться в дуже поганому непослідовному стані; ви повинні перевстановити його перед спробою налаштування Помилки під час обробки: debconf
IgorGanapolsky

8

В інших відповідях правильним є згадування про видалення пакета з подальшим apt-get install -fперевстановленням зламаного пакету (та повним встановленням інших напівінсталяційних пакетів). Однак це можна зробити за один крок:

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

2

Я б спробував очистити статус моєї установки, перш ніж вдаватися до видалення того, що створило проблему:

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

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


Це призводить до помилки:sh: 0: getcwd() failed: No such file or directory /bin/sh: 1: /usr/sbin/dpkg-preconfigure: Permission denied
ІгорГанапольський

1
Я б припустив, що ви зробили це з облікового запису, який не має адміністратора. Спробуйте приєднати кожен рядок із судо або повністю увійти як кореневий (тобто з: «sudo su» та ваш пароль або «su» та адміністратор-пароль)
Dr. Azrael Tod

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.

1

Те саме трапилось і зі мною, коли я відключився від Інтернету під час завантаження пакету "wireshark". Після цього, коли я спробував її перевстановити, він викинув ту саму помилку: "пакет знаходиться в дуже поганому непослідовному стані". Я спробував усі команди встановити, очистити, видалити та перевстановити, але нічого не вийшло. Трохи погуглившись, я натрапив на команду

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.
Зараз все працює без проблем!

Перелік:
Як вирішити ”Підпроцес usr bin dpkg повернув код помилки 1 ″ Помилка?
Виправити помилку dpkg

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.