Nadogradnja kernela CentOSa na najnoviju verziju
Ovaj vodič objašnjava kako instalirati noviju jezgru na CentOS 7 pomoću repozitorija ELRepo.
ELRepo je u srpnju 2024. ukinuo podršku za el7. Postupak opisan u ovom vodiču više ne funkcionira. Ovaj vodič se čuva kao arhivski materijal.
Ako još uvijek koristite CentOS 7, razmislite o migraciji na AlmaLinux 8 pomoću alata Elevate.
Odabir varijante jezgre
ELRepo pruža dvije varijante jezgre:
kernel-ml instalira glavnu (mainline) jezgru koja prati najnovija Linux upstream izdanja. Brzo dobiva nove značajke i poboljšanja, ali može uzrokovati probleme s kompatibilnošću upravljačkih programa ili produkcijskim radnim opterećenjima.
kernel-lt instalira jezgru s dugoročnom podrškom koja daje prednost stabilnosti u odnosu na nove značajke. Ovo je preporučena opcija za produkcijske poslužitelje.
Ažuriranje sustava i instalacija ELRepoa
Ažurirajte instalirane pakete:
yum -y update
Uvezite GPG ključ ELRepoa i instalirajte repozitorij:
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
Provjerite je li repozitorij uspješno dodan:
yum repolist | grep elrepo
Očistite yum predmemoriju:
yum clean all
Instalacija nove jezgre
Za instalaciju jezgre s dugoročnom podrškom (preporučeno za produkcijska okruženja):
yum --enablerepo=elrepo-kernel install kernel-lt kernel-lt-headers kernel-lt-tools kernel-lt-tools-libs
Za instalaciju glavne (mainline) jezgre umjesto toga:
yum --enablerepo=elrepo-kernel install kernel-ml kernel-ml-headers kernel-ml-tools kernel-ml-tools-libs
Provjerite jesu li paketi jezgre instalirani:
rpm -qa | grep '^kernel-'
Postavljanje nove jezgre kao zadane
Prikažite sve instalirane jezgre zajedno s njihovim redoslijedom pokretanja:
grubby --info=ALL | grep -E 'title|kernel'
Najnovijoj jezgri obično se dodjeljuje indeks 0, ali provjerite redoslijed prije nego što je postavite kao zadanu. Zadanu jezgru postavite prema indeksu:
grubby --set-default=0
Ili, radi veće pouzdanosti, pomoću pune putanje do jezgre:
grubby --set-default /boot/vmlinuz-<version>
Zamijenite <version> stvarnim nizom verzije iz izlaza naredbe grubby --info=ALL.
Provjerite zadanu jezgru:
grubby --default-kernel grub2-editenv list
Ako je Secure Boot omogućen u BIOS-u/UEFI-ju, jezgre trećih strana iz ELRepoa možda se neće moći pokrenuti. Onemogućite Secure Boot prije ponovnog pokretanja.
Ponovno pokretanje i provjera
Ponovno pokrenite poslužitelj:
reboot
Nakon što se sustav ponovno pokrene, provjerite verziju jezgre koja se trenutno koristi:
uname -r
Uklanjanje starih jezgri
Nakon što potvrdite da nova jezgra ispravno radi, uklonite starije verzije kako biste oslobodili prostor na disku. Opcija --count=2 zadržava dvije najnovije jezgre kao rezervnu opciju:
yum install -y yum-utils package-cleanup --oldkernels --count=2
Hitni povratak na prethodnu verziju
Ako se nova jezgra ne može pokrenuti, tijekom pokretanja sustava odaberite prethodnu jezgru iz GRUB izbornika. Nakon pokretanja sa starom jezgrom ponovno je postavite kao zadanu:
grubby --set-default=1 reboot
Zamijenite 1 indeksom jezgre koja radi, prema izlazu naredbe grubby --info=ALL.