Não consigo instalar ou desinstalar nada sem receber este erro

-1

Primeiro, recebi este erro ao tentar desinstalar o Virtualbox O erro é:

root@Amar:~# sudo apt-get autoremove
Reading package lists... Done
Building dependency tree       
Reading state information... Done
 The following packages will be REMOVED:
  linux-image-extra-4.4.0-21-generic linux-image-extra-4.4.0-22-generic     
 linux-image-extra-4.4.0-24-generic
0 upgraded, 0 newly installed, 3 to remove and 1659 not upgraded.
4 not fully installed or removed.
After this operation, 359 MB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 445742 files and directories currently installed.)
Removing linux-image-extra-4.4.0-21-generic (4.4.0-21.37) ...
depmod: FATAL: could not load /boot/System.map-4.4.0-21-generic: No such  file or directory
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.4.0-21-generic /boot/vmlinuz-4.4.0-21-generic
run-parts: executing /etc/kernel/postinst.d/dkms 4.4.0-21-generic  /boot/vmlinuz-4.4.0-21-generic
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.4.0-21-generic /boot/vmlinuz-4.4.0-21-generic
update-initramfs: Generating /boot/initrd.img-4.4.0-21-generic
E: busybox or busybox-static, version 1:1.22.0-17~ or later, is required but not installed
update-initramfs: failed for /boot/initrd.img-4.4.0-21-generic with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
dpkg: error processing package linux-image-extra-4.4.0-21-generic (--remove):
 subprocess installed post-removal script returned error exit status 1
Removing linux-image-extra-4.4.0-22-generic (4.4.0-22.40) ...
depmod: FATAL: could not load /boot/System.map-4.4.0-22-generic: No such  file or directory
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.4.0-22-generic /boot/vmlinuz-4.4.0-22-generic
run-parts: executing /etc/kernel/postinst.d/dkms 4.4.0-22-generic /boot/vmlinuz-4.4.0-22-generic
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.4.0-22-generic /boot/vmlinuz-4.4.0-22-generic
update-initramfs: Generating /boot/initrd.img-4.4.0-22-generic
E: busybox or busybox-static, version 1:1.22.0-17~ or later, is required but not installed
update-initramfs: failed for /boot/initrd.img-4.4.0-22-generic with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
dpkg: error processing package linux-image-extra-4.4.0-22-generic (--remove):
 subprocess installed post-removal script returned error exit status 1
Removing linux-image-extra-4.4.0-24-generic (4.4.0-24.43) ...
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.4.0-24- generic /boot/vmlinuz-4.4.0-24-generic                                        
run-parts: executing /etc/kernel/postinst.d/dkms 4.4.0-24-generic /boot/vmlinuz-4.4.0-24-generic                                                                                                          
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.4.0-24-generic /boot/vmlinuz-4.4.0-24-generic                                                                                               
update-initramfs: Generating /boot/initrd.img-4.4.0-24-generic                                                                                                                                            
E: busybox or busybox-static, version 1:1.22.0-17~ or later, is required but not installed                                                                                                                
update-initramfs: failed for /boot/initrd.img-4.4.0-24-generic with 1.                                                                                                                                    
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1                                                                                                                               
 dpkg: error processing package linux-image-extra-4.4.0-24-generic (--remove):                                                                                                                             
 subprocess installed post-removal script returned error exit status 1                                                                                                                                    
Errors were encountered while processing:                                                                                                                                                                 
 linux-image-extra-4.4.0-21-generic                                                                                                                                                                       
 linux-image-extra-4.4.0-22-generic                                                                                                                                                                       
 linux-image-extra-4.4.0-24-generic                                                                                                                                                                       
E: Sub-process /usr/bin/dpkg returned an error code (1)

De alguma forma, os pacotes são desinstalados / instalados, mas não completamente.

A remoção e a remoção automática não funcionam de todo.

Eu também tentei instalar o busybox, além de executar isso:

sudo apt-get -f install

E nada funciona.

    
por am4r 08.08.2016 / 16:39

1 resposta

1

Curiosamente, observo isso:

E: busybox or busybox-static, version 1:1.22.0-17~ or later, is required but not installed

Você pode verificar se busybox-static está instalado. Parece que é necessário para executar os scripts de pós-remoção. Tente isto para ver se está instalado.

$ dpkg -l | grep busybox-static

Deve dar uma saída como esta:

ii  busybox-static 1:1.22.0-15ubuntu1 amd64 Standalone rescue shell with tons of builtin utilities

Os dois "ii" significa que está instalado, a versão também é mostrada. Se você tiver algo mais do que "ii", tente instalar o busybox-static:

apt-get install busybox-static

Eu percebo que você diz que não pode instalar nada, então pode não funcionar.

Então, deixe isso claro. Você nunca deveria ter que fazer isso, mas em alguns casos é simplesmente o último recurso. Você pode ver claramente que é o "script de pós-remoção" que falha. Os scripts para pacotes estão localizados em /var/lib/dpkg/info . Basicamente, vamos dizer ao seu gerenciador de pacotes que nada deve acontecer após a remoção. Isso é uma mentira, mas às vezes você precisa mentir para consertar as coisas. Qualquer um que tenha sido casado, sabe disso.

Comece com root:

jawtheshark@shark:~$ sudo bash
[sudo] password for jawtheshark: 
root@shark:~#

Mude para o diretório que mencionei:

root@shark:~# cd /var/lib/dpkg/info
root@shark:/var/lib/dpkg/info#

Neste ponto, faremos algumas coisas:

  • Fazer backup dos scripts de pós-remoção, apenas para o caso de você querer retroceder mais tarde
  • Dê aos scripts de remoção de postagem um novo comando, que basicamente diz "não fazer nada"

Os pacotes que causam problemas são denominados linux-image-extra-4.4.0-21-generic , linux-image-extra-4.4.0-22-generic e linux-image-extra-4.4.0-24-generic . Os scripts de remoção de postagem são pós-fixados com .postrm . Vamos fazer backup desses scripts:

root@shark:/var/lib/dpkg/info# for n in 21 22 24; do cp linux-image-extra-4.4.0-$n-generic.postrm linux-image-extra-4.4.0-$n-generic.postrm.backup ; done 
root@shark:/var/lib/dpkg/info# ls *.backup
linux-image-extra-4.4.0-21-generic.postrm.backup  linux-image-extra-4.4.0-24-generic.postrm.backup
linux-image-extra-4.4.0-22-generic.postrm.backup
root@shark:/var/lib/dpkg/info# 

Como você vê, agora você tem arquivos de backup de cada script. Vamos agora, ehm, "atualizar" esses scripts:

root@shark:/var/lib/dpkg/info# for n in 21 22 24; do printf '#!/bin/sh\nexit 0\n' > linux-image-extra-4.4.0-$n-generic.postrm ; done 

Isto escreve o seguinte script dentro dos arquivos especificados:

#!/bin/sh
exit 0

Teoricamente, o script de pós-remoção não pode falhar mais e, portanto, o apt irá pensar que está tudo bem e continuar.

Novamente: isso não é aconselhável e deve ser feito apenas se você não tiver outra opção. Pode não consertar as coisas, porque pelo que eu sei, há um problema com o initramfs-tools, que faz com que esses scripts sejam abortados.

    
por jawtheshark 11.08.2016 / 11:04