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:
- 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.
- Hoe kernelmodules in Linux te laden en te verwijderen
- Hoe Kernel te upgraden naar de nieuwste versie in Ubuntu
- 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.