Вы когда-нибудь сталкивались с ошибкой «package is in a very bad inconsistent state» на Linux?
Не паникуйте!
Это сообщение просто означает, что программное обеспечение, установленное в вашей системе, повреждено.
Это распространённая ошибка в системах на базе Debian и Ubuntu.
В этом руководстве вы узнаете, как восстановить пакет и вернуть системе нормальную работу.
Package is in a very bad inconsistent state
Прошло несколько месяцев с тех пор, как я обновил одну из своих виртуальных машин Debian.
Когда я попытался обновить систему с помощью команд:
$ sudo apt update
$ sudo apt full-upgrade
Я получил следующую ошибку:
[...] dpkg: error processing package python3-py7zr (--configure): package is in a very bad inconsistent state; you should reinstall it before attempting configuration Errors were encountered while processing: python3-py7zr E: Sub-process /usr/bin/dpkg returned an error code (1)
Как вы можете заметить в приведенном выше выводе, произошла ошибка при установке пакета с именем python3-py7zr.
Эта проблема не позволяет мне выполнять какие-либо операции apt. Я не могу установить, удалить, обновить какие-либо пакеты.
Если вы столкнулись с подобной проблемой, вы можете решить ее, принудительно удалив пакет вместе с его зависимостями и установив его заново, как описано ниже.
Сначала выполните следующую команду для принудительного удаления пакета python3-py7zr вместе с его зависимостями:
$ sudo dpkg --remove --force-remove-reinstreq --force-depends python3-py7zr
Позвольте мне объяснить, что делает каждая часть этой команды:
- sudo: Эта команда обычно используется для запуска следующих команд с правами администратора или root.
- dpkg: Это инструмент командной строки для установки, удаления и управления пакетами программного обеспечения на базе Debian (например, используемыми в Ubuntu и других дистрибутивах Linux, основанных на Debian).
- –remove: Эта опция указывает dpkg удалить указанный пакет из системы.
- –force-remove-reinstreq: Эта опция заставляет удалить пакет, даже если он нарушает зависимости или удаляет пакеты, помеченные как требующие переустановки.
- –force-depends: Эта опция заставляет удалить пакет вместе с любыми пакетами, которые от него зависят.
- python3-py7zr: Это имя пакета, который вы хотите удалить из системы. python3-py7zr – это библиотека Python, которая предоставляет интерфейс для файлового архиватора 7-zip.
В общем, эта команда принудительно удаляет пакет python3-py7zr из системы, а также все пакеты, зависящие от него, и игнорирует любые требования переустановки или нарушенные зависимости, которые могут возникнуть в результате удаления.
Предупреждение:
Использование таких опций force, как –force-remove-reinstreq и –force-depends, может привести к поломке других пакетов или компонентов системы, которые зависят от удаленного пакета. Обычно рекомендуется использовать эти опции с осторожностью и только в случае необходимости, так как они могут привести к нестабильному или непостоянному состоянию системы.
А затем попробуйте установить проблемный пакет с помощью команды:
$ sudo apt install python3-py7zr
Теперь вы можете установить другие пакеты.
см. также:
- ⚙️ Как исправить “sudo unable to open read-only file system”
- 🛠️ qemu не запускается : vnc server started
- 📦 Различия между dpkg и aptitude
- 🐧 Как перечислить файлы с несколькими расширениями