/ boot está 100% cheio, o apt-get purga linux-image-x.x.x.x-genérico não funciona

6

Eu tenho uma sobrecarga /boot . Tentei seguir / dev / sda1 / boot está cheio , mas ficou preso.

História:

df
Filesystem            1K-blocks    Used Available Use% Mounted on
udev                     485360       0    485360   0% /dev
tmpfs                    100744   10824     89920  11% /run
/dev/mapper/vg00-lv01  49011528 7513836  39300100  17% /
tmpfs                    503716       0    503716   0% /dev/shm
tmpfs                      5120       0      5120   0% /run/lock
tmpfs                    503716       0    503716   0% /sys/fs/cgroup
/dev/sda1                474730  466955         0 100% /boot

dpkg --list | grep linux-image

ii  linux-image-4.4.0-21-generic       4.4.0-21.37                                amd64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-59-generic       4.4.0-59.80                                amd64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-62-generic       4.4.0-62.83                                amd64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-63-generic       4.4.0-63.84                                amd64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-64-generic       4.4.0-64.85                                amd64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-66-generic       4.4.0-66.87                                amd64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-67-generic       4.4.0-67.88                                amd64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-70-generic       4.4.0-70.91                                amd64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-71-generic       4.4.0-71.92                                amd64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-72-generic       4.4.0-72.93                                amd64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-21-generic 4.4.0-21.37                                amd64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-59-generic 4.4.0-59.80                                amd64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-62-generic 4.4.0-62.83                                amd64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-63-generic 4.4.0-63.84                                amd64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-64-generic 4.4.0-64.85                                amd64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-66-generic 4.4.0-66.87                                amd64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-67-generic 4.4.0-67.88                                amd64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-70-generic 4.4.0-70.91                                amd64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-71-generic 4.4.0-71.92                                amd64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
iF  linux-image-extra-4.4.0-72-generic 4.4.0-72.93                                amd64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
iU  linux-image-extra-4.4.0-75-generic 4.4.0-75.96                                amd64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
iU  linux-image-generic                4.4.0.75.81                                amd64        Generic Linux kernel image

!!! uau, tanto, como isso poderia acontecer?

E então:

uname -r
4.4.0-21-generic

Ensaios para eliminar imagens não utilizadas:

apt-get purge linux-image-4.4.0-59-generic
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:
 linux-image-extra-4.4.0-59-generic : Depends: linux-image-4.4.0-59-generic but it is not going to be installed
 linux-image-extra-4.4.0-75-generic : Depends: linux-image-4.4.0-75-generic but it is not going to be installed
 linux-image-generic : Depends: linux-image-4.4.0-75-generic but it is not going to be installed
                       Recommends: thermald but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Alguém tem uma ideia?

    
por Manny 29.04.2017 / 18:06

2 respostas

9

Removendo kernels antigos para liberar espaço em /boot partition

Se o seu sistema está rodando usando um kernel antigo (normalmente o mais novo é inicializado por padrão) você deve inicializar a partir do kernel mais novo instalado, o que parece ser linux-image-4.4.0-72-generic no seu caso.

Selecione no menu GRUB (segure ou pressione repetidamente Shift durante a inicialização, se o GRUB não aparecer).

Quando você inicializar a partir do seu kernel mais recente, primeiro execute sudo apt-get -f install , tentando corrigir os problemas de dependências não atendidas, se ele funcionar com qualquer um dos dois primeiros métodos abaixo; se falhar , salte para limpeza manual do pacote .

O caminho apt

Tente gerenciar corretamente o problema de espaço com o apt:

  • Execute sudo apt autoclean && sudo apt autoremove , o apt deve gerenciar corretamente a remoção de todos os kernels antigos e pacotes relacionados se você não tiver mexido muito com ele .

Usando purge_old_kernels do pacote byobu

Se o modo adequado não funcionar ou não remover espaço suficiente:

  • Instale o byobu executando sudo apt install byobu .
  • Em seguida, execute sudo purge-old-kernels , que deve remover os kernels antigos de uma maneira mais limpa do que remover os pacotes diretamente.

Limpeza manual do pacote

Se algum oh o acima funcionou:

  • Limpe o kernel mais antigo ( não em execução ) com sudo apt-get purge linux-image-4.4.0-21-generic && sudo update-grub .
  • Reinicialize e inicialize a partir do kernel mais recente disponível.
  • Executar sudo apt-get -f install .
  • Executar sudo apt update && sudo apt full-upgrade .
  • Reinicie usando seu kernel mais recente .
  • Limpa os kernels mais antigos, via O modo apt e / ou _purge_old_kernels _.

O caminho dpkg

Como último recurso, você pode tentar fazer isso dpkg way , que não é o mais seguro.

  • Execute a partir do seu terminal (executando a partir do seu kernel instalado mais recente) :

    echo $(dpkg --list | grep linux-image | awk '{ print $2 }' | sort -V | sed -n '/''uname -r''/q;p') $(dpkg --list | grep linux-headers | awk '{ print $2 }' | sort -V | sed -n '/'"$(uname -r | sed "s/\([0-9.-]*\)-\([^0-9]\+\)//")"'/q;p') | xargs sudo apt-get -y purge
    

    Emprestado de esta resposta .

  • Reinicialize seu sistema e execute sudo apt-get -f install

  • Faça um upgrade completo com sudo apt update && sudo apt full-upgrade .
  • Reinicialize se necessário (novo kernel¿?) e siga o modo apt : sudo apt autoclean && sudo apt autoremove .
  • Execute sudo purge_old_kernels , comando a partir de byoby package, se ainda houver alguma versão antiga do kernel ( além das versões atual e anterior, que são sempre mantidas como uma precaução de segurança ).
por dgonzalez 29.04.2017 / 18:42
2

Se /boot estiver tão cheio que apt remove não funcione ( No space left on device ), apenas rm alguns arquivos ( vmlinuz ou initrd.img ) pertencentes aos kernels que você deseja remover para liberar espaço suficiente para que você possa corretamente apt remove os pacotes. Como sempre, quando estiver executando rm como root, seja extremamente cuidadoso com erros de digitação, etc., mas mesmo que você acidentalmente rm um arquivo de um kernel que você não queira remover, um simples apt install --reinstall corrigirá isso.

Ao contrário de um equívoco comum, não há absolutamente nenhum problema em fazer isso, como qualquer um poderia ver se eles realmente tentaram, em vez de apenas repetir as coisas que ouviram. (Em particular, eu frequentemente leio que isso resultaria em "pacotes quebrados". Não, não é isso que pacotes quebrados significam).

    
por fkraiem 18.05.2017 / 01:00