Wyszukiwanie w witrynie

Jak usunąć stare nieużywane jądra w CentOS, RHEL i Fedorze


W tym artykule pokażemy, jak usunąć stare/nieużywane obrazy jądra w systemach RHEL/CentOS/Fedora. Jednak zanim usuniesz stare jądro, ważne jest, aby aktualizować jądro; zainstaluj najnowszą wersję, aby wykorzystać nowe funkcje jądra i chronić swój system przed lukami wykrytymi w starszych wersjach.

Aby zainstalować lub uaktualnić do najnowszej wersji jądra w systemach RHEL/CentOS/Fedora, przeczytaj ten przewodnik:

  1. Jak zainstalować lub uaktualnić do najnowszej wersji jądra w CentOS 7

Uwaga: Wręcz przeciwnie, zaleca się zachowanie co najmniej jednego lub dwóch starych jąder, do których można będzie wrócić w przypadku problemów z aktualizacją.

Aby wyświetlić aktualną wersję systemu Linux (jądro) uruchomioną w systemie, uruchom to polecenie.

uname -sr

Linux 3.10.0-327.10.1.el7.x86_64

Wyświetl listę wszystkich zainstalowanych jąder w systemie

Możesz w ten sposób wyświetlić listę wszystkich obrazów jądra zainstalowanych w twoim systemie.

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

Usuwanie starych/nieużywanych jąder w CentOS/RHEL

Musisz zainstalować yum-utils, czyli zestaw narzędzi integrujących się z yum, aby uczynić go potężniejszym i łatwiejszym w użyciu, poprzez rozszerzenie jego oryginalnych funkcji na kilka różnych sposoby.

yum install yum-utils

Jednym z tych narzędzi jest czyszczenie pakietów, którego możesz użyć do usunięcia starego jądra, jak pokazano poniżej. Flaga licznika służy do określenia liczby jąder, które chcesz pozostawić w systemie.

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!

Ważne: po uruchomieniu powyższego polecenia usunie ono wszystkie stare/nieużywane jądra i zachowa bieżące działające i najnowsze jądro jako kopię zapasową.

Usuwanie starych/nieużywanych jąder w Fedorze

Fedora używa teraz menedżera pakietów dnf, nowej wersji menedżera pakietów yum, więc musisz użyć poniższego polecenia, aby usunąć stare jądra w Fedorze.

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

Innym alternatywnym sposobem automatycznego usuwania starych jąder jest ustawienie limitu jądra w pliku yum.conf, jak pokazano.

installonly_limit=2		#set kernel count

Zapisz i zamknij plik. Przy następnym uruchomieniu aktualizacji w systemie pozostaną tylko dwa jądra.

Możesz także przeczytać następujące powiązane artykuły na temat jądra Linuksa.

  1. Jak ładować i rozładowywać moduły jądra w systemie Linux
  2. Jak zaktualizować jądro do najnowszej wersji w Ubuntu
  3. Jak zmieniać parametry wykonawcze jądra w sposób trwały i nietrwały

W tym artykule opisaliśmy, jak usunąć stare/nieużywane obrazy jądra w systemach RHEL/CentOS/Fedora. Możesz podzielić się swoimi przemyśleniami, korzystając z komentarzy poniżej.