Para fazer uma longa história curta, eu sou preso a um punhado de pacotes de imagens indesejados e parcialmente configurados dos quais estou tentando me livrar:
$ dpkg -l |grep linux-im
iF linux-image-3.13.0-100-generic 3.13.0-100.147 i386 Linux kernel image for version 3.13.0 on 32 bit x86 SMP
iF linux-image-3.13.0-101-generic 3.13.0-101.148 i386 Linux kernel image for version 3.13.0 on 32 bit x86 SMP
iF linux-image-3.13.0-92-generic 3.13.0-92.139 i386 Linux kernel image for version 3.13.0 on 32 bit x86 SMP
iF linux-image-3.13.0-93-generic 3.13.0-93.140 i386 Linux kernel image for version 3.13.0 on 32 bit x86 SMP
iF linux-image-3.13.0-96-generic 3.13.0-96.143 i386 Linux kernel image for version 3.13.0 on 32 bit x86 SMP
iH linux-image-extra-3.13.0-100-generic 3.13.0-100.147 i386 Linux kernel extra modules for version 3.13.0 on 32 bit x86 SMP
iH linux-image-extra-3.13.0-101-generic 3.13.0-101.148 i386 Linux kernel extra modules for version 3.13.0 on 32 bit x86 SMP
iH linux-image-extra-3.13.0-92-generic 3.13.0-92.139 i386 Linux kernel extra modules for version 3.13.0 on 32 bit x86 SMP
iH linux-image-extra-3.13.0-93-generic 3.13.0-93.140 i386 Linux kernel extra modules for version 3.13.0 on 32 bit x86 SMP
iH linux-image-extra-3.13.0-96-generic 3.13.0-96.143 i386 Linux kernel extra modules for version 3.13.0 on 32 bit x86 SMP
Estas imagens são de fato inúteis, porque meu sistema 14.04 de 32 bits reside em um contêiner OpenVZ, que é o único responsável pelo kernel. Como você pode ver, muito mais antigo:
$ uname -r
2.6.32-042stab116.2
Assim, ao contrário da maioria das perguntas similares focando em como remover imagens do kernel antigas após atualizações de rotina, o que estou tentando fazer aqui é COMPLETAMENTE PURIR TODAS ESTAS 3.13 PACOTES , que não deveria estar lá em primeiro lugar.
Aqui está um resumo das minhas tentativas até agora.
Tentando remover / limpar os pacotes das formas usuais ( apt-get
, apt
, aptitude
, não importa) parece não funcionar, devido a um círculo vicioso aparente.
sudo apt-get purge linux-image-3.13.0-100-generic linux-image-3.13.0-101-generic linux-image-3.13.0-92-generic linux-image-3.13.0-93-generic linux-image-3.13.0-96-generic linux-image-extra-3.13.0-100-generic linux-image-extra-3.13.0-101-generic linux-image-extra-3.13.0-92-generic linux-image-extra-3.13.0-93-generic linux-image-extra-3.13.0-96-generic
Como você pode ver na saída , nada é realmente removido. Por outro lado, aptitude
consegue ir um pouco mais longe:
sudo aptitude purge linux-image-3.13.0-100-generic linux-image-3.13.0-101-generic linux-image-3.13.0-92-generic linux-image-3.13.0-93-generic linux-image-3.13.0-96-generic linux-image-extra-3.13.0-100-generic linux-image-extra-3.13.0-101-generic linux-image-extra-3.13.0-92-generic linux-image-extra-3.13.0-93-generic linux-image-extra-3.13.0-96-generic
No final de este processo , os *image-3.13*
s desaparecerão, juntamente com os arquivos e pastas correspondentes normalmente encontrados em /boot
e em /lib/modules
, mas os image-extra
s ainda são reportados como semi-instalados (mesmo que pareçam não conter arquivos, conforme verificado por dpkg -L
...)
Além disso, as dependências agora estão quebradas, já que repetir a limpeza neste estágio faz com que o apt reclame sobre arquivos / pastas ausentes em /boot
e em /lib/modules
. Eu tentei colocar arquivos fictícios nos locais esperados, como sugerido aqui , mas no final eu encontrei o original erros. O seguinte, creio eu, é o trecho crucial:
[...]
Removing linux-image-extra-3.13.0-101-generic (3.13.0-101.148) ...
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 3.13.0-101-generic /boot/vmlinuz-3.13.0-101-generic
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.13.0-101-generic /boot/vmlinuz-3.13.0-101-generic
update-initramfs: Generating /boot/initrd.img-3.13.0-101-generic
E: /usr/share/initramfs-tools/hooks/fixrtc failed with return 1.
update-initramfs: failed for /boot/initrd.img-3.13.0-101-generic with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
dpkg: error processing package linux-image-extra-3.13.0-101-generic (--purge):
subprocess installed post-removal script returned error exit status 1
[...]
Depois de tentar, sem sucesso, uma opção supostamente nuclear :
sudo dpkg --remove --force-remove-reinstreq package_name
Eu fiquei sem ideias.