Vyhledávání na webu

Jak odstranit stará nepoužívaná jádra v CentOS, RHEL a Fedora


V tomto článku si ukážeme, jak odstranit staré/nepoužité obrazy jádra na systémech RHEL/CentOS/Fedora. Než však odstraníte staré jádro, je důležité udržovat vaše jádro aktuální; nainstalujte nejnovější verzi, abyste mohli využívat nové funkce jádra a chránit váš systém před zranitelnostmi, které byly objeveny ve starších verzích.

Chcete-li nainstalovat nebo upgradovat na nejnovější verzi jádra v systémech RHEL/CentOS/Fedora, přečtěte si tuto příručku:

  1. Jak nainstalovat nebo upgradovat na nejnovější verzi jádra v CentOS 7

Pozor: Naopak se doporučuje ponechat si alespoň jedno nebo dvě stará jádra, ke kterým se můžete vrátit v případě problému s aktualizací.

Chcete-li zobrazit aktuální verzi Linuxu (kernelu) běžícího na vašem systému, spusťte tento příkaz.

uname -sr

Linux 3.10.0-327.10.1.el7.x86_64

Vypsat všechna nainstalovaná jádra v systému

Takto můžete vypsat všechny obrazy jádra nainstalované ve vašem systému.

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

Odstranění starých/nepoužitých jader na CentOS/RHEL

Musíte si nainstalovat yum-utils, což je řada nástrojů, které se integrují s yum, aby byly výkonnější a snadněji použitelné, a to rozšířením jeho původních funkcí o několik různých způsoby.

yum install yum-utils

Jedním z těchto nástrojů je package-cleanup, který můžete použít k odstranění starého jádra, jak je ukázáno níže, příznak count se používá k určení počtu jader, která chcete v systému ponechat.

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!

Důležité: Po spuštění výše uvedeného příkazu odstraní všechna stará/nepoužívaná jádra a ponechá aktuální běžící a staré nejnovější jádro jako zálohu.

Odstranění starých/nepoužitých jader na Fedoře

Fedora nyní používá správce balíčků dnf, novou verzi správce balíčků yum, takže k odstranění starých jader na Fedoře musíte použít tento příkaz níže.

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

Dalším alternativním způsobem, jak automaticky odstranit stará jádra, je nastavení limitu jádra v souboru yum.conf, jak je znázorněno.

installonly_limit=2		#set kernel count

Uložte a zavřete soubor. Při příštím spuštění aktualizace zůstanou v systému pouze dvě jádra.

Možná si také rádi přečtete následující související články o linuxovém jádře.

  1. Jak načíst a uvolnit moduly jádra v Linuxu
  2. Jak upgradovat jádro na nejnovější verzi v Ubuntu
  3. Jak změnit parametry běhu jádra trvalým a netrvalým způsobem

V tomto článku jsme popsali, jak odstranit staré/nepoužívané obrazy jádra na systémech RHEL/CentOS/Fedora. Jakékoli myšlenky můžete sdílet prostřednictvím zpětné vazby níže.