Pular para o conteúdo

Remover kernel(s) antigo(s) no Ubuntu

Dica publicada em Linux / Introdução
Nilson Cesar NilsonCesar
Hits: 42.845 Categoria: Linux Subcategoria: Introdução
  • Indicar
  • Impressora
  • Denunciar

Remover kernel(s) antigo(s) no Ubuntu

Pessoal, cuidado! Prestem atenção para não remover o kernel atual. A responsabilidade pelo uso desta dica é inteiramente do usuário.

Pode-se descobrir a versão do kernel atual executando o comando:

# uname -r

Encontrar e remover kernels antigos

O primeiro passo, descobrir os kernel(s) instalados. O seguinte comando fará o trabalho:

# ls /boot | grep vmlinuz | cut -d'-' -f2,3

Seu resultado deve ficar parecido com isso.

2.6.28-15
2.6.28-16
2.6.28-17
2.6.32.21
2.6.32.24

Esta é a lista de kernels instalados. Agora vamos descobrir quais pacotes instalados em relação ao kernel você deseja remover. Como exemplo eu escolhi 2.6.28-15.

# dpkg -l | grep ^ii | grep 2.6.28-15 | awk -F' ' '{ print $2 }'

A lista resultante é:

linux-headers-2.6.28-15
linux-headers-2.6.28-15-generic
linux-image-2.6.28-15-generic
linux-restricted-modules-2.6.28-15-generic

Agora que sabemos os pacotes que queremos remover, podemos removê-los com apt-get ou aptitude.

# aptitude remove linux-headers-2.6.28-15 linux-headers-2.6.28-15-generic linux-image-2.6.28-15-generic linux-restricted-modules-2.6.28-15-generic

É isso aí pessoal.

Desta forma pode-se remover o(s) kernel(s) e pacotes relacionados. Os comandos são um pouco complexos, por isso proceda com cuidado!

vlw

Resetar senha de root no Debian Squeeze

Pesquisa diz que Linux está mais fácil!

Procurando e achando pacotes para Linux

Reproduzir arquivos MKV e MP4 no openSUSE

Nokia N95 como modem no Linux em 9 passos

Solução para alteração de senha pelo próprio usuário no Samba

#1 Comentário enviado por removido em 16/10/2010 - 13:36h
Meus parabéns!

enfim uma dica que explica passo a passo o que deve ser feito. Diferente disso abaixo que remove os antigos e deixa só o atual:

# dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge

* nesse caso aí, não gosto de usar -y de cara, troco por -s (para simular) e se tudo bem mando bala (apesar que não tenho costume de deixar vários kernéis instalados).

[]s.
#2 Comentário enviado por julio_hoffimann em 16/10/2010 - 16:14h
Oi Nilson,

No caso do Ubuntu 10.04, já vem instalado o Computer Janitor, System->Administration->Computer Janitor. Ele tem justamente esse propósito.

Para aqueles usuários não tão acostumados com filtragens alucinadas com o sed/awk.

Abraço!
#3 Comentário enviado por fabioarnoni em 17/10/2010 - 16:41h
Tem também o Ubuntu tweak, muito bom esse. É um gerenciador de sistema completo e intuitivo.

Abraços!
#4 Comentário enviado por pinduvoz em 18/10/2010 - 00:25h
Quando faço as atualizações e vejo que um novo kernel foi instalado, reinicio e uso o Synaptic para remover o kernel antigo (se o kernel novo deu boot, não preciso do velho).

É costume já.
#5 Comentário enviado por Leo Sheldon lsx em 22/12/2010 - 00:28h
É eu gostei muito deu tudo certo até pq eu sou novato em linux. E mais importante dessa dica é ter atenção aos comandos para escrever nada errado. Vlw mesmo.
#6 Comentário enviado por sandrosfc em 04/03/2011 - 17:14h
Legal a dica,fiz aqui e funfou certinho,vlw! :D
#7 Comentário enviado por visionario em 10/02/2016 - 19:26h
Acabo de resolver um problema que impedia a atualização. Esse post é muito útil.
#8 Comentário enviado por alexandredsc em 24/09/2018 - 16:24h
No meu caso, não consegui executar os comandos "apt-get". A mensagem mostrava como dependente de um kernel não instalado, que não instalava por falta de espaço. Aí caía num círculo vicioso.
Minha solução foi mover todos os arquivos do kernel mais antigo, instalar o kernel que estava sendo pedido e depois executar os comandos acima, ficando só os kernels em uso.
Não é o ideal, mas foi o que consegui fazer.

Contribuir com comentário

Entre na sua conta para comentar.