Remove todos os pacotes do kernel, exceto o usado atualmente

3

Como posso excluir automaticamente todos os outros kernels que não estou usando?

Então, aqui está minha situação:

  • Usando diferentes versões do Ubuntu / CentOS
  • Atualizações automáticas estavam ativadas - > Linux baixou muitas novas versões do kernel
  • Agora quero excluir todas as outras versões do kernel, exceto a que estou usando no momento

Código:

#find out current kernel version:
uname -r

#check which versions are downloaded to computer
dpkg --get-selections | grep linux-image

#delete desired kernel
sudo apt-get purge [KERNEL]

#autoremove
sudo apt-get autoremove

Pode haver facilmente mais de 15 kernels em um linux, e eu tenho mais de 50 linuxes pelos quais tenho que passar.

    
por NoobPenguin 03.02.2017 / 09:01

3 respostas

2

No Ubuntu, você pode usar purge-old-kernels para limpar kernels antigos, instalá-lo:

Para o Ubuntu 16.04

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F430BBA5
sudo add-apt-repository ppa:byobu/ppa
sudo apt-get update
sudo apt-get install byobu

Você também pode instalá-lo sem adicionar o ppa : sudo apt-get install byobu

Para versões do Ubuntu menores que 16.04

sudo add-apt-repository ppa:bikeshed/ppa
sudo apt-get update
sudo apt-get install bikeshed

Execute o seguinte comando para manter o mais recente kernel 2:

sudo purge-old-kernels

Você pode especificar o número n do kernel a ser mantido:

sudo purge-old-kernels --keep n

n=1 :

sudo purge-old-kernels --keep 1

No centOS instale yum-utils package:

yum install yum-utils

Para manter os últimos kernels n , execute:

package-cleanup --oldkernels --count=n

n=1 :

package-cleanup --oldkernels --count=1
    
por 04.02.2017 / 21:08
0

Esteja ciente de que este comando remove todas as imagens e cabeçalhos do kernel do release principal 4, mas não o que está sendo executado.

apt purge $(dpkg-query -W -f='${binary:Package}\n' 'linux-image-4*' 'linux-headers-4*' | grep -v $(uname -r))
    
por 04.02.2017 / 11:28
0

Você pode tentar o comando abaixo. Antes de executar a limpeza do apt-get, apenas verifique a saída do seu grep para não conter sua versão atual do kernel

dpkg --list | grep linux-image | awk '{print $2}' | grep -v linux-image-'uname -r' | xargs apt-get purge
    
por 26.11.2018 / 21:15