apt-get: dependências não atendidas, mas as dependências não podem instalar

0

Eu estou em um ponto onde o Ubuntu 12.04 LTS quer fazer um dist-upgrade, mas eu não posso fazer nada porque / boot está cheio.

~$ df -h
/dev/sda1                               228M  227M     0 100% /boot

Eu quero remover os kernels antigos do linux, usando apt-get autoremove , mas não posso, já que tenho dependências não atendidas.

~$ sudo apt-get autoremove
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
 libc6-dev : Depends: libc6 (= 2.15-0ubuntu10.9) but 2.15-0ubuntu10.11 is installed
             Depends: libc-dev-bin (= 2.15-0ubuntu10.9)
E: Unmet dependencies. Try using -f.

Se eu tentar instalar as dependências não atendidas usando apt-get -f install , elas falharão, porque / boot está cheio.

Como faço para sair deste loop onde não posso liberar espaço em / boot e apt-get não será executado?

    
por Will Eddins 05.03.2015 / 21:43

1 resposta

0

Eu tive que liberar espaço manualmente na inicialização. Como apt-get foi inútil, tive que remover manualmente os arquivos dos dois kernels mais antigos do linux. Este é um exemplo do que eu corri para remover um único kernel.

Aviso: perigoso :

sudo rm /boot/vmlinuz-3.8.0-36-generic /boot/System.map-3.8.0-36-generic /boot/initrd-3.8.0-36-generic /boot/config-3.8.0-36-generic /boot/abi-3.8.0-36-generic 

Após liberar espaço, apt-get -f install ainda falhou, devido a um kernel semi-instalado do do-release-upgrade falhado anteriormente.

Eu executei do-release-upgrade novamente e, dessa vez, ele foi bem-sucedido, exceto para os pacotes que falharam anteriormente em apt-get . Veja um exemplo do que foi mostrado no final da atualização:

dpkg: error processing package linux-generic-lts-trusty (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 linux-image-generic-lts-trusty
 libc6-dev:amd64
 linux-generic-lts-trusty

A partir daqui, consegui executar:

apt-get update
apt-get -f install
apt-get autoremove
apt-get upgrade

install corrigiu os erros de dependência e upgrade instalou o kernel mais recente apropriadamente. Eu reiniciei para testá-lo e tudo parece ser bom.

    
por Will Eddins 05.03.2015 / 23:01