Remover kernel(s) antigo(s) no Ubuntu

Publicado por Nilson Cesar em 16/10/2010

[ Hits: 41.857 ]

 


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

Outras dicas deste autor

Resetar senha de root no Debian Squeeze

Leitura recomendada

Programa exemplo em Assembler para Linux

Como criar um pendrive bootável

Laço de Repetição - com while e for

NumLock na inicialização

Tutorial Resumido de Instalação Lotus Notes 8.5.2 no Debian Squeeze

  

Comentários
[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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts