A desinstalação do Gdm falha (“erro retornado do script de pré-remoção”)

A desinstalação do Gdm falha (“erro retornado do script de pré-remoção”)

Instalei o gdm no meu vps e agora quero removê-lo, mas recebo este erro:

root@server2:/etc/init.d# apt-get remove gdm3
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
  gdm3
0 upgraded, 0 newly installed, 1 to remove and 6 not upgraded.
After this operation, 7066 kB disk space will be freed.
Do you want to continue [Y/n]? y
(Reading database ... 119416 files and directories currently installed.)
Removing gdm3 ...
invoke-rc.d: initscript gdm3, action "stop" failed.
dpkg: error processing gdm3 (--remove):
 subprocess installed pre-removal script returned error exit status 127
configured to not write apport reports
                                      invoke-rc.d: initscript gdm3, action "reload" failed.
Errors were encountered while processing:
 gdm3
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@server2:/etc/init.d#

Responder1

ao remover o pacote, alguns scripts de limpeza são executados. parece que um deles falha (ou seja, /etc/init.d/gdm3), tornando a desinstalação incompleta.

a maneira correta de corrigir isso é verificar por que o script falha. tente correr

/etc/init.d/gdm3 stop

manualmente e veja por que ele falha. corrija o erro subjacente e tente desinstalar novamente.

um truque feio

se o problema subjacente não puder ser corrigido (por você), você poderá ter mais sorte com a seguinte solução simples:

primeiro certifique-se de que gdm3não esteja mais em execução (como último recurso, você pode eliminá-lo).

em seguida, adicione a linha exit 0ao início do /etc/init.d/gdm3arquivo (em algum momento depois do shebang, mas antes que o script realmente faça alguma coisa; por exemplo, linha # 2). isso praticamente desabilitará o script e fará com que ele finja sempre ter sucesso.

finalmente execute novamente a desinstalação.

OBSERVAÇÃO: este é um hack realmente feio, pois evita qualquer limpeza que o script init.d possa precisar realizar. esteja avisado.

informação relacionada