Zoeken op website

Hoe oude ongebruikte kernels in CentOS, RHEL en Fedora te verwijderen


In dit artikel laten we zien hoe je oude/ongebruikte kernelimages op RHEL/CentOS/Fedora systemen kunt verwijderen. Voordat u echter een oude kernel verwijdert, is het belangrijk om uw kernel up-to-date te houden; installeer de nieuwste versie om nieuwe kernelfuncties te benutten en uw systeem te beschermen tegen kwetsbaarheden die in oudere versies zijn ontdekt.

Om te installeren of te upgraden naar de nieuwste kernelversie in RHEL/CentOS/Fedora systemen, lees deze handleiding:

  1. Hoe te installeren of upgraden naar de nieuwste kernelversie in CentOS 7

Let op: integendeel, het wordt aanbevolen om minstens één of twee oude kernels te behouden, waar je op terug kunt vallen voor het geval er een probleem is met een update.

Voer deze opdracht uit om de huidige versie van Linux (kernel) weer te geven die op uw systeem wordt uitgevoerd.

uname -sr

Linux 3.10.0-327.10.1.el7.x86_64

Maak een lijst van alle geïnstalleerde kernels op het systeem

U kunt op deze manier alle kernelimages weergeven die op uw systeem zijn geïnstalleerd.

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

Oude/ongebruikte kernels verwijderen op CentOS/RHEL

Je moet yum-utils installeren, wat een assortiment hulpprogramma's is die integreren met yum om het krachtiger en gemakkelijker te gebruiken te maken, door de originele functies uit te breiden in verschillende manieren.

yum install yum-utils

Eén van deze hulpprogramma's is package-cleanup, dat je kunt gebruiken om de oude kernel te verwijderen, zoals hieronder weergegeven. De telvlag wordt gebruikt om het aantal kernels aan te geven dat je op het systeem wilt laten staan.

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!

Belangrijk: nadat het bovenstaande commando is uitgevoerd, worden alle oude/ongebruikte kernels verwijderd en wordt de huidige actieve kernel en de oude nieuwste kernel als back-up bewaard.

Oude/ongebruikte kernels verwijderen op Fedora

Fedora gebruikt nu dnf pakketbeheerder, een nieuwe versie van yum pakketbeheerder, dus je moet dit commando hieronder gebruiken om oude kernels op Fedora te verwijderen.

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

Een andere alternatieve manier om oude kernels automatisch te verwijderen is het instellen van de kernellimiet in het yum.conf bestand, zoals weergegeven.

installonly_limit=2		#set kernel count

Sla het bestand op en sluit het. De volgende keer dat u een update uitvoert, blijven er nog maar twee kernels over op het systeem.

Misschien vind je het ook leuk om de volgende gerelateerde artikelen over de Linux-kernel te lezen.

  1. Hoe kernelmodules in Linux te laden en te verwijderen
  2. Hoe Kernel te upgraden naar de nieuwste versie in Ubuntu
  3. Hoe u Kernel Runtime-parameters op een persistente en niet-persistente manier kunt wijzigen

In dit artikel hebben we beschreven hoe je oude/ongebruikte kernelimages op RHEL/CentOS/Fedora-systemen kunt verwijderen. U kunt uw gedachten delen via de feedback hieronder.