Aktualizacja jądra systemu CentOS do najnowszej wersji
Ten poradnik wyjaśnia, jak zainstalować nowsze jądro systemu (kernel) w CentOS 7 za pomocą repozytorium ELRepo.
ELRepo zakończyło wsparcie dla el7 w lipcu 2024 roku. Procedura opisana w tym poradniku już nie działa. Poradnik jest zachowywany jako materiał archiwalny.
Jeśli nadal korzystasz z CentOS 7, rozważ migrację do AlmaLinux 8 za pomocą narzędzia Elevate.
Wybór wariantu jądra
ELRepo udostępnia dwa warianty jądra:
kernel-ml instaluje główne wydanie jądra (mainline), które podąża za najnowszymi wersjami Linux upstream. Szybko otrzymuje nowe funkcje i ulepszenia, ale może powodować problemy ze zgodnością sterowników lub obciążeniami produkcyjnymi.
kernel-lt instaluje jądro z długoterminowym wsparciem, które stawia stabilność ponad nowe funkcje. Jest to zalecana opcja dla serwerów produkcyjnych.
Aktualizacja systemu i instalacja ELRepo
Zaktualizuj zainstalowane pakiety:
yum -y update
Zaimportuj klucz GPG ELRepo i zainstaluj repozytorium:
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
Sprawdź, czy repozytorium zostało pomyślnie dodane:
yum repolist | grep elrepo
Wyczyść pamięć podręczną yum:
yum clean all
Instalacja nowego jądra
Aby zainstalować jądro z długoterminowym wsparciem (zalecane dla środowisk produkcyjnych):
yum --enablerepo=elrepo-kernel install kernel-lt kernel-lt-headers kernel-lt-tools kernel-lt-tools-libs
Aby zamiast tego zainstalować jądro mainline:
yum --enablerepo=elrepo-kernel install kernel-ml kernel-ml-headers kernel-ml-tools kernel-ml-tools-libs
Sprawdź, czy pakiety jądra zostały zainstalowane:
rpm -qa | grep '^kernel-'
Ustawienie nowego jądra jako domyślnego
Wyświetl wszystkie zainstalowane jądra wraz z ich kolejnością uruchamiania:
grubby --info=ALL | grep -E 'title|kernel'
Najnowszemu jądru zwykle przypisywany jest indeks 0, ale przed ustawieniem go jako domyślnego sprawdź kolejność. Ustaw domyślne jądro za pomocą indeksu:
grubby --set-default=0
Lub, dla większej niezawodności, za pomocą pełnej ścieżki do jądra:
grubby --set-default /boot/vmlinuz-<version>
Zastąp <version> rzeczywistym numerem wersji z wyniku polecenia grubby --info=ALL.
Sprawdź domyślne jądro:
grubby --default-kernel grub2-editenv list
Jeśli funkcja Secure Boot jest włączona w BIOS/UEFI, jądra innych firm z ELRepo mogą nie uruchomić się. Wyłącz Secure Boot przed ponownym uruchomieniem.
Uruchom ponownie i sprawdź
Uruchom ponownie serwer:
reboot
Po ponownym uruchomieniu systemu sprawdź wersję aktualnie uruchomionego jądra:
uname -r
Usuwanie starych jąder
Po potwierdzeniu, że nowe jądro działa prawidłowo, usuń starsze wersje, aby zwolnić miejsce na dysku. Opcja --count=2 zachowuje dwa najnowsze jądra jako rozwiązanie awaryjne:
yum install -y yum-utils package-cleanup --oldkernels --count=2
Awaryjne przywrócenie poprzedniej wersji
Jeśli nowe jądro nie uruchamia się, wybierz poprzednie jądro z menu GRUB podczas uruchamiania systemu. Po uruchomieniu starego jądra ustaw je ponownie jako domyślne:
grubby --set-default=1 reboot
Zastąp 1 indeksem działającego jądra z wyniku polecenia grubby --info=ALL.