Posso remover kernels antigos de / boot

2

Quando executo dpkg --list 'linux-image*' , a saída mostra que só tenho 4.10.0-37 instalado:

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                      Version           Architecture      Description
+++-=========================-=================-=================-=======================================================
un  linux-image               <none>            <none>            (no description available)
ii  linux-image-4.10.0-37-gen 4.10.0-37.41      amd64             Linux kernel image for version 4.10.0 on 64 bit x86 SMP
ii  linux-image-extra-4.10.0- 4.10.0-37.41      amd64             Linux kernel extra modules for version 4.10.0 on 64 bit
ii  linux-image-generic       4.10.0.37.37      amd64             Generic Linux kernel image

no entanto, quando mostro o conteúdo de /boot , existem outros kernels antigos:

[~]$ ls /boot
abi-4.10.0-37-generic     config-4.8.0-37-generic   memtest86+.bin            vmlinuz-4.10.0-37-generic
abi-4.2.0-16-generic      efi               memtest86+.elf            vmlinuz-4.10.0-37-generic.efi.signed
abi-4.2.0-42-generic      grub              memtest86+_multiboot.bin      vmlinuz-4.2.0-16-generic
abi-4.8.0-37-generic      initrd.img-4.10.0-37-generic  System.map-4.10.0-37-generic  vmlinuz-4.2.0-42-generic
config-4.10.0-37-generic  initrd.img-4.2.0-16-generic   System.map-4.2.0-16-generic   vmlinuz-4.2.0-42-generic.efi.signed
config-4.2.0-16-generic   initrd.img-4.2.0-42-generic   System.map-4.2.0-42-generic   vmlinuz-4.8.0-37-generic
config-4.2.0-42-generic   initrd.img-4.8.0-37-generic   System.map-4.8.0-37-generic   vmlinuz-4.8.0-37-generic.efi.signed

Estou executando o 4.10.0-37 :

[~]$ uname -r
4.10.0-37-generic

Posso apagar com segurança os kernels antigos () de /boot ? Usar sudo apt-get remove ... não faz nada, porque eles não estão atualmente "instalados".

    
por Ralph 10.10.2017 / 16:00

1 resposta

2

Você pode remover com segurança os kernels não usados de / boot.

Idealmente, você quer usar o seu gerenciador de pacotes (apt) para remoção, então você pode querer ver se você pode removê-los usando:

sudo apt-get purge linux-image-4.2.0-16-generic

ou se o apt não funcionar:

sudo dpkg --purge linux-image-4.2.0-16-generic

adicionando ou repetindo o acima para os kernels (4.2.0-16, 4.2.0-42, etc.) que você deseja remover.

Se o acima não funcionar, você pode removê-lo manualmente:

sudo rm /boot/abi-4.2.0-16-generic
sudo rm /boot/config-4.2.0-16-generic
sudo rm /boot/initrd.img-4.2.0-16-generic
sudo rm /boot/System.map-4.2.0-16-generic
sudo rm /boot/vmlinuz-4.2.0-16-generic

ou se você gosta de viver perigosamente, algo como:

sudo rm /boot/*-4.2.0-16-generic

Um kernel adicional (para o que você está executando) às vezes é deixado como um backup, então você pode querer fazê-lo em caso de problemas com o kernel atualmente em execução.

Depois de remover esses arquivos, você deve atualizar seu gerenciador de inicialização. Se estiver usando o GRUB, faça o seguinte:

sudo update-grub

Eu também consideraria se uma ferramenta "Cleaner" que removeu pacotes do apt sem remover os arquivos está fazendo bem a você.

EDITAR:

Como apontado por WinEunuuchs2Unix, isso não remove os arquivos de cabeçalho. Normalmente, ao remover kernels antigos, você removeria não apenas a imagem, mas também os outros arquivos associados. Por exemplo:

apt-get purge linux-image-4.2.0-16-generic linux-image-extra-4.2.0-16-generic linux-headers-4.2.0-16-generic linux-headers-4.2.0-16

Veja o link abaixo para mais detalhes.

    
por DougC 10.10.2017 / 16:39