Erro ao excluir o pacote do kernel antigo

1

Hoje eu tentei remover o kernel antigo no Debian Stretch com

sudo aptitude purge linux-image-4.9.0-3-amd64 

Embora o procedimento tenha ocorrido sem problemas na maioria dos servidores e tenha ocorrido sem problemas ao longo de vários anos, desta vez recebi o seguinte erro em dois dos meus servidores:

Failed to substitute package name in title: 10 at /usr/bin/linux-check-removal line 102, < STDIN> line 1.
dpkg: error processing package linux-image-4.9.0-3-amd64 (--remove):
subprocess installed pre-removal script returned error exit status 255
Errors were encountered while processing:
linux-image-4.9.0-3-amd64
E: Sub-process  /usr/bin/dpkg returned an error code (1)

Usando

sudo dpkg --purge linux-image-4.9.0-3-amd64

Também retorna uma mensagem semelhante.

Tentar repetir os comandos de desinstalação / eliminação deste pacote sempre gera esse erro.

Como eu poderia deletar?

    
por Rui F Ribeiro 16.10.2017 / 21:27

1 resposta

2

Investigando uma solução alternativa, notei que /usr/bin/linux-check-removal é um script Perl; de acordo com man :

linux-check-removal - check whether removal of a kernel is safe

SYNOPSIS.
linux-check-removal VERSION

DESCRIPTION.
linux-check-removal is intended to be called from the prerm maintainer scripts of Linux kernel packages.

No final do dia, eu apenas modifiquei o script para retornar 0 (sucesso), desinstalei o pacote, com

sudo aptitude purge linux-image-4.9.0-3-amd64

e restaurou o script no final da operação.

Minha modificação temporária, aplicada no final do script, foi:

# replace check() call with exit with success code
# check(@ARGV);
exit 0;
    
por 16.10.2017 / 21:27

Tags