Pesquisa de site

Como excluir kernels antigos não utilizados no CentOS, RHEL e Fedora


Neste artigo, mostraremos como remover imagens de kernel antigas/não utilizadas em sistemas RHEL/CentOS/Fedora. Entretanto, antes de remover um kernel antigo, é importante mantê-lo atualizado; instale a versão mais recente para aproveitar as novas funções do kernel e proteger seu sistema contra vulnerabilidades que foram descobertas em versões mais antigas.

Para instalar ou atualizar para a versão mais recente do kernel em sistemas RHEL/CentOS/Fedora, leia este guia:

  1. Como instalar ou atualizar para a versão mais recente do kernel no CentOS 7

Atenção: Pelo contrário, é recomendado manter pelo menos um ou dois kernels antigos para usar caso haja algum problema com uma atualização.

Para exibir a versão atual do Linux (kernel) em execução no seu sistema, execute este comando.

uname -sr

Linux 3.10.0-327.10.1.el7.x86_64

Listar todos os kernels instalados no sistema

Você pode listar todas as imagens do kernel instaladas em seu sistema assim.

rpm -q kernel

kernel-3.10.0-229.el7.x86_64
kernel-3.10.0-229.14.1.el7.x86_64
kernel-3.10.0-327.3.1.el7.x86_64
kernel-3.10.0-327.10.1.el7.x86_64

Removendo Kernels Antigos/Não Utilizados no CentOS/RHEL

Você precisa instalar o yum-utils, que é uma variedade de utilitários que se integram ao yum para torná-lo mais poderoso e fácil de usar, estendendo seus recursos originais em vários aspectos diferentes. caminhos.

yum install yum-utils

Um desses utilitários é o package-cleanup que você pode usar para excluir o kernel antigo conforme mostrado abaixo, o sinalizador de contagem é usado para especificar o número de kernels que você deseja deixar no sistema.

package-cleanup --oldkernels --count=2
Loaded plugins: fastestmirror, langpacks, product-id, versionlock
--> Running transaction check
---> Package kernel.x86_64 0:3.10.0-229.el7 will be erased
---> Package kernel.x86_64 0:3.10.0-229.14.1.el7 will be erased
---> Package kernel-devel.x86_64 0:3.10.0-229.1.2.el7 will be erased
---> Package kernel-devel.x86_64 0:3.10.0-229.14.1.el7 will be erased
--> Finished Dependency Resolution

Dependencies Resolved

===============================================================================================================================================================================================
 Package                                       Arch                                    Version                                                Repository                                  Size
===============================================================================================================================================================================================
Removing:
 kernel                                        x86_64                                  3.10.0-229.el7                                         @anaconda                                  131 M
 kernel                                        x86_64                                  3.10.0-229.14.1.el7                                    @updates                                   131 M
 kernel-devel                                  x86_64                                  3.10.0-229.1.2.el7                                     @updates                                    32 M
 kernel-devel                                  x86_64                                  3.10.0-229.14.1.el7                                    @updates                                    32 M

Transaction Summary
===============================================================================================================================================================================================
Remove  4 Packages

Installed size: 326 M
Is this ok [y/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Erasing    : kernel-devel.x86_64                            1/4 
  Erasing    : kernel.x86_64                                  2/4 
  Erasing    : kernel-devel.x86_64                            3/4 
  Erasing    : kernel.x86_64                                  4/4 
Loading mirror speeds from cached hostfile
 * base: centos.mirror.snu.edu.in
 * epel: repo.ugm.ac.id
 * extras: centos.mirror.snu.edu.in
 * rpmforge: kartolo.sby.datautama.net.id
 * updates: centos.mirror.snu.edu.in
  Verifying  : kernel-3.10.0-229.el7.x86_64                   1/4 
  Verifying  : kernel-devel-3.10.0-229.14.1.el7.x86_64        2/4 
  Verifying  : kernel-3.10.0-229.14.1.el7.x86_64              3/4 
  Verifying  : kernel-devel-3.10.0-229.1.2.el7.x86_64         4/4 

Removed:
  kernel.x86_64 0:3.10.0-229.el7           kernel.x86_64 0:3.10.0-229.14.1.el7           kernel-devel.x86_64 0:3.10.0-229.1.2.el7           kernel-devel.x86_64 0:3.10.0-229.14.1.el7          

Complete!

Importante: Depois de executar o comando acima, ele removerá todos os kernels antigos/não utilizados e manterá o kernel atual em execução e o kernel antigo mais recente como backup.

Removendo Kernels Antigos/Não Utilizados no Fedora

O Fedora agora usa o gerenciador de pacotes dnf, uma nova versão do gerenciador de pacotes yum, então você precisa usar este comando abaixo para remover kernels antigos no Fedora.

dnf remove $(dnf repoquery --installonly --latest-limit 2 -q) 

Outra forma alternativa de remover kernels antigos automaticamente é definir o limite do kernel no arquivo yum.conf conforme mostrado.

installonly_limit=2		#set kernel count

Salve e feche o arquivo. Na próxima vez que você executar uma atualização, apenas dois kernels permanecerão no sistema.

Você também pode ler os seguintes artigos relacionados sobre o kernel Linux.

  1. Como carregar e descarregar módulos do kernel no Linux
  2. Como atualizar o kernel para a versão mais recente no Ubuntu
  3. Como alterar os parâmetros de tempo de execução do kernel de maneira persistente e não persistente

Neste artigo, descrevemos como remover imagens de kernel antigas/não utilizadas em sistemas RHEL/CentOS/Fedora. Você pode compartilhar suas idéias por meio do feedback abaixo.