Я пытался удалить avg2013, однако, когда я пытался, я получал прикольное сообщение об ошибке.
Команда, которую я выполняю:
sudo apt-get remove --purge avg2013flx
Я получаю ошибку:
Removing avg2013flx (2013.3118) ...
Failed to stop avgd.service: Unit avgd.service not loaded.
invoke-rc.d: initscript avgd, action "stop" failed.
dpkg: error processing package avg2013flx (--purge):
subprocess installed pre-removal script returned error exit status 5
Errors were encountered while processing:
avg2013flx
E: Sub-process /usr/bin/dpkg returned an error code (1)
Я посмотрел, и служба не работает, но существует.
Та же проблема здесь, и у меня есть решение:
Открывают терминал и открывают Поиск файла avg2013flx.prerm
sudo nano /var/lib/dpkg/info/avg2013flx.prerm
строки с
if which invoke-rc.d >/dev/null 2>&1; then
invoke-rc.d avgd stop
else
/etc/init.d/avgd stop
fi
и заменяют ВЕСЬ происшествия с
# if which invoke-rc.d >/dev/null 2>&1; then
# invoke-rc.d avgd stop
# else
# /etc/init.d/avgd stop
# fi
, Чем выполненный снова
sudo apt-get remove --purge avg2013flx
<час> Объяснение:
Комментирование тех строк мешало процессу пытаться остановить сервис. И услуга не работала так или иначе, таким образом, она смогла удалить пакет.
Из того, что я вижу, люди на более поздних версиях Ubuntu (14.10, 15.04) сталкиваются с этой проблемой. Это происходит, вероятно, из-за перемещения Ubuntu к systemd init механизм (что запускает и останавливает системные службы).
ошибка, которую Вы видите, является сценарием пакета перед удалением, пытающимся взаимодействовать с init системой и переставший работать эффектно.
Мы могли предположить, что это - весь сценарий, собирается сделать. Вы могли проигнорировать его отказ и использовать dpkg
--force-all
флаг, чтобы только продолжиться.
sudo dpkg -P --force-all avg2013flx
Это немного опасно, если сценарий делает больше, чем это. Мы могли взглянуть и просто отредактировать (и даже зафиксировать), сценарий перед удалением:
sudoedit /var/lib/dpkg/info/avg2013flx.prerm
... Но необходимо понять то, что проблема состоит в том, чтобы зафиксировать его. Это - несомненно, что-то вокруг строки как service stop avg
. Я не имею установленным (или имею хотеть установить его только для этого), таким образом, необходимо будет ловить рыбу вокруг (или отредактировать вопрос включать его, и я взгляну).
Это подошло прежде на Форумах Ubuntu с довольно тривиальной фиксацией:
sudo ln -s /bin/true /etc/init.d/avgd
sudo apt-get remove --purge avg2013flx
Это просто удостоверяется, что поддельная копия init сценария существует для сценария удаления, позволяя ему завершиться. Учитывая другие ответы предлагают просто удалить сценарий, мое исходное --force-all
предложение должно быть столь же безопасным.