Não é possível remover kernels antigos (problemas de dependência), mas / boot está sem espaço

3

Estou executando o Ubuntu 14.04.4 LTS e estou tentando instalar um novo pacote usando o apt-get. Infelizmente, sempre que tento receber mensagens como:

The following packages have unmet dependencies:
 linux-image-extra-3.16.0-70-generic : Depends: linux-image-3.16.0-70-generic but it is not going to be installed
 linux-image-generic-lts-utopic : Depends: linux-image-3.16.0-70-generic but it is not going to be installed
 linux-signed-image-3.16.0-70-generic : Depends: linux-image-3.16.0-70-generic (= 3.16.0-70.90~14.04.1) but it is not going to be installed

Fazendo alguns googling, descobri que isso pode ser causado por falta de espaço na partição de inicialização (e com certeza, df mostra /boot em 100%). No entanto, sempre que eu tentar executar os comandos apt-get na resposta aceita, recebo os mesmos erros acima.

Procurando outra solução que não use apt-get , deparei-me com esta postagem , que recomenda usar coisas como sudo dpkg --purge linux-image-4.2.0-15-generic em kernels antigos e não usados.

dpkg -l | tail -n +6 | grep -E 'linux-image-[0-9]+' | grep -Fv $(uname -r) (da postagem acima mencionada) mostra que eu tenho vários kernels antigos no estado pi (desejado removido, o estado é instalado de acordo com isto )

uname -r me diz que o kernel que estou rodando é 3.16.0-62-generic, então achei que deveria estar seguro remover esses kernels antigos. No entanto, tentar fazer isso com coisas como sudo dpkg --purge linux-image-3.16.0-49-generic resulta em:

dpkg: error processing package linux-image-3.16.0-49-generic (--purge):
 dependency problems - not removing
Errors were encountered while processing:
 linux-image-3.16.0-49-generic

Garrg! Estou no fim da minha cabeça, e fora do meu limite (não sei muito sobre o dpkg ou o apt-get), então eu preciso de ajuda.

Perguntas:

  1. Por que não posso desinstalar os kernels antigos com dpkg ?

  2. Se essa pergunta não puder ser resolvida diretamente, acho que, em última análise, quero saber: O que preciso fazer para entrar em um estado em que posso instalar novos pacotes novamente?

Outras coisas que tentei :

  • sudo apt-get autoremove : resulta no erro original sobre dependências não atendidas
  • sudo apt-get -f autoremove : resultados em:

Unpacking linux-image-3.16.0-70-generic (3.16.0-70.90~14.04.1) ... dpkg: error processing archive /var/cache/apt/archives/linux-image-3.16.0-70-generic_3.16.0-70.90~14.04.1_amd64.deb (--unpack): cannot copy extracted data for './boot/vmlinuz-3.16.0-70-generic' to '/boot/vmlinuz-3.16.0-70-generic.dpkg-new': failed to write (No space left on device) No apport report written because the error message indicates a disk full error dpkg-deb: error: subprocess paste was killed by signal (Broken pipe) Examining /etc/kernel/postrm.d . run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.16.0-70-generic /boot/vmlinuz-3.16.0-70-generic run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.16.0-70-generic /boot/vmlinuz-3.16.0-70-generic Errors were encountered while processing: /var/cache/apt/archives/linux-image-3.16.0-70-generic_3.16.0-70.90~14.04.1_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1)

    
por augray 07.05.2016 / 22:40

1 resposta

3

Esta pergunta deveria ter sido feita em askubuntu.com. Eu suponho que a saída de dpkg disse ao kernel depende do linux-image-extra-3.16.0-49-generic. As instruções dizem que você deve limpar isso primeiro (ou pelo mesmo comando). Atualizei as instruções no Wiki da Ajuda da comunidade do Ubuntu, que está localizado no link

    
por 31.03.2017 / 17:10