Ricerca nel sito web

Come eliminare i vecchi kernel inutilizzati in CentOS, RHEL e Fedora


In questo articolo, mostreremo come rimuovere le immagini del kernel vecchie/inutilizzate sui sistemi RHEL/CentOS/Fedora. Tuttavia, prima di rimuovere un vecchio kernel, è importante mantenerlo aggiornato; installa la versione più recente per sfruttare le nuove funzioni del kernel e proteggere il tuo sistema dalle vulnerabilità scoperte nelle versioni precedenti.

Per installare o aggiornare all'ultima versione del kernel nei sistemi RHEL/CentOS/Fedora, leggi questa guida:

  1. Come installare o aggiornare all'ultima versione del kernel in CentOS 7

Attenzione: Al contrario, si consiglia di conservare almeno uno o due vecchi kernel a cui ricorrere nel caso si verificasse un problema con un aggiornamento.

Per visualizzare la versione corrente di Linux (kernel) in esecuzione sul tuo sistema, esegui questo comando.

uname -sr

Linux 3.10.0-327.10.1.el7.x86_64

Elenca tutti i kernel installati sul sistema

Puoi elencare tutte le immagini del kernel installate sul tuo sistema in questo modo.

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

Rimozione di kernel vecchi/inutilizzati su CentOS/RHEL

Devi installare yum-utils, che è un assortimento di utilità che si integrano con yum per renderlo più potente e più facile da usare, estendendo le sue funzionalità originali in diversi modi. modi.

yum install yum-utils

Una di queste utilità è package-cleanup che puoi utilizzare per eliminare il vecchio kernel come mostrato di seguito, il flag di conteggio viene utilizzato per specificare il numero di kernel che vuoi lasciare nel 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: dopo aver eseguito il comando precedente, rimuoverà tutti i kernel vecchi/inutilizzati e manterrà il kernel attualmente in esecuzione e il vecchio kernel più recente come backup.

Rimozione dei kernel vecchi/inutilizzati su Fedora

Fedora ora utilizza il gestore pacchetti dnf, una nuova versione del gestore pacchetti yum, quindi è necessario utilizzare questo comando seguente per rimuovere i vecchi kernel su Fedora.

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

Un altro modo alternativo per rimuovere automaticamente i vecchi kernel è impostare il limite del kernel nel file yum.conf come mostrato.

installonly_limit=2		#set kernel count

Salva e chiudi il file. La prossima volta che eseguirai un aggiornamento, nel sistema rimarranno solo due kernel.

Potrebbe interessarti anche leggere questi seguenti articoli correlati sul kernel Linux.

  1. Come caricare e scaricare i moduli del kernel in Linux
  2. Come aggiornare il kernel all'ultima versione in Ubuntu
  3. Come modificare i parametri di runtime del kernel in modo persistente e non persistente

In questo articolo, abbiamo descritto come rimuovere le immagini del kernel vecchie/inutilizzate sui sistemi RHEL/CentOS/Fedora. Puoi condividere qualsiasi pensiero tramite il feedback dal basso.