Slik sletter du gamle ubrukte kjerner i CentOS, RHEL og Fedora


I denne artikkelen vil vi vise hvordan du fjerner gamle/ubrukte kjernebilder på RHEL/CentOS/Fedora-systemer. Men før du fjerner en gammel kjerne, er det viktig å holde kjernen oppdatert; installer den nyeste versjonen for å utnytte nye kjernefunksjoner og for å beskytte systemet mot sårbarheter som har blitt oppdaget i eldre versjoner.

For å installere eller oppgradere til siste kjerneversjon i RHEL/CentOS/Fedora-systemer, les denne veiledningen:

  1. Hvordan installere eller oppgradere til nyeste kjerneversjon i CentOS 7

Oppmerksomhet: Tvert imot anbefales å beholde minst en eller to gamle kjerner å falle tilbake til i tilfelle det er et problem med en oppdatering.

For å vise gjeldende versjon av Linux (kjerne) som kjører på systemet ditt, kjør denne kommandoen.

uname -sr

Linux 3.10.0-327.10.1.el7.x86_64

Liste over alle installerte kjerner på systemet

Du kan liste opp alle kjernebildene som er installert på systemet ditt på denne måten.

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

Fjerner gamle/ubrukte kjerner på CentOS/RHEL

Du må installere yum-utils, som er et utvalg av verktøy som integreres med yum for å gjøre det kraftigere og enklere å bruke, ved å utvide de originale funksjonene i flere forskjellige måter.

yum install yum-utils

Et av disse verktøyene er package-cleanup som du kan bruke til å slette gammel kjerne som vist nedenfor, telleflagget brukes til å spesifisere antall kjerner du vil ha igjen på systemet.

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!

Viktig: Etter å ha kjørt kommandoen ovenfor, vil den fjerne alle gamle/ubrukte kjerner og beholde gjeldende kjørende og gamle nyeste kjerne som sikkerhetskopi.

Fjerner gamle/ubrukte kjerner på Fedora

Fedora bruker nå dnf-pakkebehandling, en ny versjon av yum-pakkebehandling, så du må bruke denne kommandoen nedenfor for å fjerne gamle kjerner på Fedora.

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

En annen alternativ måte å fjerne gamle kjerner automatisk er å sette kjernegrensen i yum.conf-filen som vist.

installonly_limit=2		#set kernel count

Lagre og lukk filen. Neste gang du kjører en oppdatering vil bare to kjerner være igjen på systemet.

Du kan også like å lese disse følgende relaterte artiklene om Linux-kjernen.

  1. Hvordan laste og losse kjernemoduler i Linux
  2. Hvordan oppgradere kjernen til siste versjon i Ubuntu
  3. Hvordan endre kjernekjøringsparametere på en vedvarende og ikke-vedvarende måte

I denne artikkelen beskrev vi hvordan du fjerner gamle/ubrukte kjernebilder på RHEL/CentOS/Fedora-systemer. Du kan dele eventuelle tanker via tilbakemeldingen nedenfor.