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:
-
Por que não posso desinstalar os kernels antigos com dpkg
?
-
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)