friendly-recovery está quebrado, continua retornando status de saída 1

0

Eu tenho o Windows Subsystem para Linux executando o Ubuntu 16.04 (mas com pacotes do Linux Mint 19). Em um ponto, cometi o erro de instalar um kernel diferente, que também instalou grub-pc e friendly-recovery . Consegui remover grub-pc com apt , mas friendly-recovery está preso. Eu tentei o seguinte para removê-lo:

cat > /usr/sbin/policy-rc.d <<EOF
#!/bin/sh
exit 101
EOF
chmod +x /usr/sbin/policy-rc.d
dpkg-divert --local --rename --add /sbin/initctl
ln -s /bin/true /sbin/initctl
#### Next command tried
apt remove friendly-recovery
#### Next command tried
dpkg --remove --force-remove-reinstreq friendly-recovery
#### Finally...
dpkg --purge --force-remove-reinstreq friendly-recovery

Nenhum deles removeu friendly-recovery . Eu sempre recebo esta saída de log:

(Reading database ... 145035 files and directories currently installed.)
Removing friendly-recovery (0.2.38) ...
/usr/sbin/grub-probe: error: failed to get canonical path of 'rootfs'.
dpkg: error processing package friendly-recovery (--purge):
 installed friendly-recovery package post-removal script subprocess returned error exit status 1
Errors were encountered while processing:
 friendly-recovery

Esta solução no GitHub não resolveu meu problema.

Agora não consigo alterar os pacotes instalados ( apt e dpkg sempre processam erros friendly-recovery , não importa qual pacote eu esteja tentando instalar / remover).

O que posso fazer para corrigir isso? Não consigo pensar em nada além de reinstalar completamente o WSL.

    
por Zackary 07.09.2018 / 22:40

1 resposta

1

De acordo com a saída, o subprocesso do script de pós-remoção falhou.

O script friendly-recovery pós-remoção é /var/lib/dpkg/info/friendly-recovery.postrm .

Você pode ignorar esse script substituindo todo o seu conteúdo por:

#!/bin/sh
exit 0

Aqui está uma série de comandos que podem fazer isso por você e remover friendly-recovery :

echo -e '#!/bin/sh\nexit 0' | sudo tee /var/lib/dpkg/info/friendly-recovery.postrm
sudo chmod +x /var/lib/dpkg/info/friendly-recovery.postrm
sudo dpkg -P friendly-recovery
    
por 08.09.2018 / 00:13