Problema ao remover o avg

1

Tentei remover o avg2013, mas quando tento recebo uma mensagem de erro funky.

O comando que estou executando:

sudo apt-get remove --purge avg2013flx

O erro que recebo:

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)

Eu olhei e o serviço não está em execução, mas existe.

    
por Kyle 02.06.2015 / 17:01

2 respostas

4

O mesmo problema aqui e eu tenho uma solução:

Abra um terminal e abra o arquivo avg2013flx.prerm

sudo nano /var/lib/dpkg/info/avg2013flx.prerm

Pesquise as linhas com

if which invoke-rc.d >/dev/null 2>&1; then
    invoke-rc.d avgd stop
else
    /etc/init.d/avgd stop
fi

e substitua ALL ocorrências com

#       if which invoke-rc.d >/dev/null 2>&1; then
#           invoke-rc.d avgd stop
#       else
#           /etc/init.d/avgd stop
#       fi

Do que executar novamente

sudo apt-get remove --purge avg2013flx

Explicação:

Comentando essas linhas, o processo parou de tentar interromper o serviço. E o serviço não estava sendo executado de qualquer maneira, por isso foi possível remover o pacote.

    
por A.B. 02.06.2015 / 17:40
1

Pelo que vejo, as pessoas em versões posteriores do Ubuntu (14.10, 15.04) estão com esse problema. Isso provavelmente se deve à migração do Ubuntu para o mecanismo de inicialização systemd (o que inicia e pára os serviços do sistema).

O erro que você está vendo é o script de pré-remoção do pacote tentando interagir com o sistema init e falhando de forma espetacular.

Podemos supor que isso é tudo o que o script vai fazer. Você pode ignorar sua falha e usar o sinalizador dpkg --force-all para continuar.

sudo dpkg -P --force-all avg2013flx

É um pouco arriscado se o script fizer mais do que isso. Poderíamos dar uma olhada e apenas editar (e até corrigir) o script de pré-remoção:

sudoedit /var/lib/dpkg/info/avg2013flx.prerm

... Mas você precisa entender qual é o problema para consertá-lo. É, sem dúvida, algo em torno de uma linha como service stop avg . Eu não tenho instalado (ou quero instalá-lo apenas para isso), então você terá que pescar (ou editar sua pergunta para incluí-lo e eu vou dar uma olhada).

Isso surgiu antes nos Fóruns do Ubuntu com uma correção bem trivial:

sudo ln -s /bin/true /etc/init.d/avgd
sudo apt-get remove --purge avg2013flx

Isso apenas garante que uma cópia falsa do script de inicialização exista para o script de remoção, permitindo que ele seja concluído. Dadas as outras respostas sugerem apenas remover o script, minha sugestão --force-all original deve ser igualmente segura.

    
por Oli 02.06.2015 / 17:34