Я пошел устанавливать bsnes на днях и по какой-то причине установка завершилась неудачей. Теперь я не могу обновлять, устанавливать новые пакеты или выполнять практически любые команды apt-get, поскольку все они пытаются обработать этот поврежденный пакет и терпят неудачу. Попытка установить новый пакет также просто обрекает его на ту же участь.
Ошибка, которую я получаю, это:
Setting up google-chrome-stable (33.0.1750.152-1) .../var/lib/dpkg/info/google-chrome-stable.postinst: 124: /var/lib/dpkg/info/google-chrome-stable.postinst: update-alternatives: not founddpkg: error processing google-chrome-stable (--configure): subprocess installed post-installation script returned error exit status 127Setting up bsnes (0.088-7) .../var/lib/dpkg/info/bsnes.postinst: 5: /var/lib/dpkg/info/bsnes.postinst: update-alternatives: not founddpkg: error processing bsnes (--configure): subprocess installed post-installation script returned error exit status 127Errors were encountered while processing: google-chrome-stable bsnesE: Sub-process /usr/bin/dpkg returned an error code (1)
Я искал в Google и здесь, на Ask Ubuntu, но не нашел рабочего решения.
Обычно предлагаемое исправление заключается в выполнении следующего:
Однако это не работает. Все команды apt-get завершаются ошибкой с той же ошибкой, что и выше, а команда dpkg просто не помогает. Другое дело, что они часто предлагают очистить его с помощью Synaptic или командной строки, что также приводит к сбою.
Для продвинутых пользователей используйте на свой страх и риск.
Согласно следующему сообщению об ошибке :
subprocess installed post-installation script returned error exit status 127
Возможно, вы захотите отредактировать /var/lib/dpkg/info/[package_name].postinst и прокомментируйте все (или, еще лучше, попытайтесь понять это и определить проблему), затем попробуйте apt-get снова.
Обратите внимание, что, хотя в этом конкретном вопросе сообщение касается "после установки", в нем могло бы быть указано, например, "предварительное удаление" или "после удаления" вместо этого (в этих случаях расширение редактируемого файла было бы .prerm или .postrm).
Итак, после еще одного поиска в Google и очень внимательного повторного прочтения сообщений об ошибках кажется, что dpkg необходимо было переустановить.
sudo apt-get install --reinstall dpkg
Что подсказало, что это была проблема (если кто-нибудь ищет и видит это), так это то, что update-alternatives: not found было в сообщении об ошибке. Как только dpkg был переустановлен, другие пакеты продолжили обычную автоматическую установку.
В моем случае apt-get install -f работал. Я устанавливал mysql-workbench-community
Ранее судимый apt autoclean
Я видел, что ошибка dpkg из-за некоторых отсутствующих зависимостей, которые можно было бы исправить, установив в принудительном режиме (установка зависимостей)