Como excluir kernels antigos não utilizados no CentOS, RHEL e Fedora?
Introdução
Quando você instala um novo kernel, os antigos não são removidos automaticamente. Após algumas atualizações, seu sistema pode acabar com muitos kernels não utilizados, ocupando espaço valioso em disco.
Isso pode fazer com que o sistema fique lento e, pior ainda, pode impedir que serviços importantes do sistema sejam iniciados corretamente. Na pior das hipóteses, seu sistema pode nem conseguir inicializar.
A exclusão de kernels antigos não utilizados libera espaço em disco e garante que o sistema funcione sem problemas. Também reduz o risco de vulnerabilidades de segurança que podem existir em versões mais antigas do kernel que não são mais atualizadas.
Verificando a versão atual do kernel
Usando o comando “uname” para verificar a versão atual do kernel
Uma das maneiras mais simples de verificar a versão atual do kernel no CentOS, RHEL e Fedora é usar o comando ‘uname’. Basta abrir um terminal e digitar ‘uname -r’.
A saída exibirá a versão exata do seu kernel atualmente em execução. Por exemplo, se você estiver usando CentOS 7 e executar 'uname -r', sua tela deverá exibir algo assim -
3.10.0-1160.el7.x86_64
A primeira parte, '3.10.0', refere-se ao número de versão principal desta série de kernel, enquanto '-1160.el7.x86_64' é um identificador exclusivo para esta compilação específica desta série implantada no CentOS 7.
Explicação de como interpretar a saída
Interpretar a saída de "uname -r" pode parecer complicado se você não estiver familiarizado com certos elementos dele. O primeiro conjunto de dígitos (por exemplo, 3.10.0), que vem antes do travessão (-), representa três números diferentes separados por pontos -
Número de versão principal: representa alterações que impactam radicalmente a compatibilidade em todos os dispositivos ou arquiteturas de computador.
Número de versão secundária: indica melhorias de recursos ou desempenho que não afetam a compatibilidade entre sistemas
Número do nível do patch: mostra correções de bugs e outras pequenas alterações que não afetam recursos ou desempenho
O texto após o traço representa informações adicionais sobre esta compilação específica do kernel da sua distribuição Linux, como quando foi construída, a qual distribuição pertence, informações de arquitetura, etc. É crucial entender como interpretar a saída "uname -r" já que ele determina quais comandos e técnicas você precisará para gerenciar os kernels em seu sistema de maneira eficaz.
Listando Kernels Instalados
Um dos primeiros passos para excluir kernels antigos não utilizados no CentOS, RHEL e Fedora é listar todos os kernels instalados. Isso pode ser feito usando o gerenciador de pacotes RPM.
RPM é uma ferramenta poderosa para gerenciar pacotes e software do sistema e também pode ser usado para listar todos os kernels instalados. Para fazer isso, abra uma janela de terminal ou faça login no seu servidor via SSH.
Depois de fazer login, digite o seguinte comando -
rpm -qa kernel
Isso exibirá uma lista de todos os kernels atualmente instalados em seu sistema. Cada versão do kernel é listada separadamente junto com outras informações, como data de lançamento, número de compilação e arquitetura.
Usando o comando “rpm” para listar os kernels instalados
O comando “rpm” é um dos comandos mais comumente usados nos sistemas CentOS, RHEL e Fedora para gerenciar pacotes de software. Por padrão, rpm mostra apenas os pacotes que estão atualmente instalados em seu sistema. Para ver quais versões do kernel Linux estão atualmente instaladas em seu sistema usando rpm, você pode usar ```rpm``` com a flag ```-qa``` seguida de ```kernel```.
Isso produzirá uma saída semelhante a -
kernel-4.18.0-305.el8.x86_64
kernel-4.18.0-240.el8.x86_64 kernel-4.18.0-147.el8.x86_64 ...
Cada linha representa um pacote de kernel individual que foi instalado em seu sistema em algum momento (incluindo pacotes mais antigos não utilizados). As informações fornecidas incluem o número da versão (por exemplo, "4.18"), bem como o número da versão (por exemplo, "-305.el8"), arquitetura da plataforma (por exemplo, x86_64) e outros detalhes dependendo de como foi construído.
Explicação de como ler a saída
Quando você executa o comando ```rpm -qa kernel```, a saída pode parecer um pouco confusa à primeira vista. No entanto, depois de entender o que cada parte da saída significa, fica muito mais fácil de interpretar.
Primeiro, cada linha lista um pacote de kernel específico e um número de versão que foi instalado em seu sistema. Em segundo lugar, o número da versão (por exemplo, "-305.el8") indica qual atualização ou nível de patch dessa versão específica está instalado.
Esta é uma informação importante a ser rastreada, pois as atualizações mais recentes geralmente incluem correções de segurança e patches de bugs importantes. A arquitetura (por exemplo, x86_64) informa se o kernel é de 32 ou 64 bits e para qual arquitetura de CPU ele foi construído.
Entender como ler essas informações será útil ao remover kernels antigos posteriormente neste artigo. Também é uma boa prática anotar as versões atuais dos kernels instalados para que você possa rastrear quaisquer alterações ou problemas que possam surgir após a exclusão dos não utilizados posteriormente na rotina de manutenção do sistema Linux.
Removendo Kernels Antigos
Explicação de como remover kernels antigos usando “yum”
Depois de identificar os kernels antigos e não utilizados, o próximo passo é removê-los usando “yum” – um gerenciador de pacotes para distribuições Linux baseadas em RPM, como CentOS, RHEL e Fedora. Para remover um kernel antigo usando yum, você deve começar abrindo uma janela de terminal e digitando -
sudo yum remove kernel-version
Onde “kernel-version” é o número da versão do kernel que você deseja excluir. Por exemplo, "sudo yum remove kernel-4.18.0-305.el8.x86_64" excluiria a versão 4.18.0-305.el8.x86_64 em um sistema CentOS.
Sintaxe e opções de comando
A sintaxe para remover um kernel antigo com yum é simples -
sudo yum remove kernel-version
No entanto, existem opções adicionais que podem ser adicionadas ao comando para refinar sua funcionalidade.
Algumas opções comuns incluem: ```--allowerasing```: permite que dependências desnecessárias sejam removidas junto com o pacote sem aviso de confirmação.
```--exclude=kernel*```: exclui todos os pacotes que começam com "kernel". ```--skip-broken```: ignore quaisquer dependências que possam causar erros na remoção.
Precauções e avisos antes de prosseguir
Antes de prosseguir com a exclusão de um kernel antigo não utilizado, é crucial que você tome precauções para evitar quebrar o sistema ou perder dados importantes. Em primeiro lugar, sempre faça backup dos dados importantes antes de remover qualquer software do seu sistema; isso garante que você tenha uma cópia de todos os seus arquivos críticos caso algo dê errado durante ou após a desinstalação.
Em segundo lugar, certifique-se de verificar novamente o número da versão de cada kernel antes de excluí-lo, pois a remoção de um componente essencial pode levar ao mau funcionamento de alguns aplicativos ou até mesmo ao travamento total. Se você não tiver certeza sobre qual kernel excluir, é melhor deixá-los em paz e procurar ajuda profissional, se necessário.
Exemplos para CentOS, RHEL e Fedora
O processo de remoção de um kernel antigo não utilizado usando “yum” é semelhante no CentOS, RHEL e Fedora. Abaixo estão exemplos de como remover kernels antigos em cada sistema -
CentOS-
sudo yum remove kernel-4.18.0-305.el8.x86_64
RHEL-
sudo yum remove kernel-4.18.0-305.el8.x86_64
Fedora-
sudo dnf remove kernel-5.6.6-300.fc32.x86_64
Observe que os números de versão serão diferentes no seu sistema; certifique-se de verificar novamente antes de prosseguir com qualquer comando para evitar consequências indesejadas.
Conclusão
Excluir kernels antigos não utilizados é essencial para manter um sistema saudável e eficiente. Com o tempo, à medida que novas versões do kernel são lançadas, as mais antigas podem ocupar um espaço valioso no seu sistema e causar problemas quando se trata de atualizar ou instalar novo software. Ao remover esses kernels antigos, você não apenas libera espaço valioso em disco, mas também reduz o risco de conflitos ou vulnerabilidades de segurança que podem existir em versões desatualizadas.
Além disso, deixar kernels antigos no sistema pode sobrecarregar os recursos do computador e diminuir o desempenho da máquina. Removê-los não apenas aliviará a carga, mas também garantirá que o sistema funcione de maneira suave e eficiente.