Nadgradnja jedra sistema CentOS na najnovejšo različico
Ta priročnik pojasnjuje, kako namestiti novejše jedro v CentOS 7 z uporabo repozitorija ELRepo.
ELRepo je julija 2024 ukinil podporo za el7. Postopek, opisan v tem priročniku, ne deluje več. Priročnik se ohranja kot arhivsko gradivo.
Če še vedno uporabljate CentOS 7, razmislite o migraciji na AlmaLinux 8 z orodjem Elevate.
Izbira različice jedra
ELRepo ponuja dve različici jedra:
kernel-ml namesti glavno različico jedra (mainline), ki sledi najnovejšim različicam Linux upstream. Hitro prejema nove funkcije in izboljšave, vendar lahko povzroči težave z združljivostjo gonilnikov ali produkcijskimi delovnimi obremenitvami.
kernel-lt namesti jedro z dolgoročno podporo, pri katerem ima stabilnost prednost pred novimi funkcijami. To je priporočena možnost za produkcijske strežnike.
Posodobitev sistema in namestitev ELRepo
Posodobite nameščene pakete:
yum -y update
Uvozite ključ GPG za ELRepo in namestite 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
Preverite, ali je bil repozitorij uspešno dodan:
yum repolist | grep elrepo
Počistite predpomnilnik yum:
yum clean all
Namestitev novega jedra
Za namestitev jedra z dolgoročno podporo (priporočeno za produkcijska okolja):
yum --enablerepo=elrepo-kernel install kernel-lt kernel-lt-headers kernel-lt-tools kernel-lt-tools-libs
Če želite namesto tega namestiti glavno različico jedra (mainline):
yum --enablerepo=elrepo-kernel install kernel-ml kernel-ml-headers kernel-ml-tools kernel-ml-tools-libs
Preverite, ali so bili paketi jedra nameščeni:
rpm -qa | grep '^kernel-'
Nastavitev novega jedra kot privzetega
Izpišite vsa nameščena jedra skupaj z njihovim vrstnim redom zagona:
grubby --info=ALL | grep -E 'title|kernel'
Najnovejšemu jedru je običajno dodeljen indeks 0, vendar pred nastavitvijo privzetega jedra preverite vrstni red. Privzeto jedro nastavite z indeksom:
grubby --set-default=0
Za večjo zanesljivost lahko uporabite tudi celotno pot do jedra:
grubby --set-default /boot/vmlinuz-<version>
<version> zamenjajte z dejansko različico, prikazano v izpisu ukaza grubby --info=ALL.
Preverite privzeto jedro:
grubby --default-kernel grub2-editenv list
Če je Secure Boot omogočen v BIOS-u/UEFI-ju, se jedra drugih ponudnikov iz ELRepo morda ne bodo zagnala. Pred ponovnim zagonom onemogočite Secure Boot.
Ponovni zagon in preverjanje
Znova zaženite strežnik:
reboot
Ko se sistem znova zažene, preverite različico trenutno delujočega jedra:
uname -r
Odstranitev starih jeder
Ko potrdite, da novo jedro deluje pravilno, odstranite starejše različice, da sprostite prostor na disku. Možnost --count=2 ohrani dve najnovejši jedri kot rezervno možnost:
yum install -y yum-utils package-cleanup --oldkernels --count=2
Nujna povrnitev prejšnje različice
Če se novo jedro ne zažene, med zagonom sistema v meniju GRUB izberite prejšnje jedro. Ko se sistem zažene s starim jedrom, ga ponovno nastavite kot privzetega:
grubby --set-default=1 reboot
Številko 1 zamenjajte z indeksom delujočega jedra iz izpisa ukaza grubby --info=ALL.