Wéi installéiere oder Upgrade op Kernel 5.0 an CentOS 7


Och wann e puer Leit d'Wuert Linux benotzen fir de Betribssystem als Ganzt ze representéieren, ass et wichteg ze bemierken datt, strikt geschwat, Linux nëmmen de Kernel ass. Op der anerer Säit ass eng Verdeelung e voll funktionnelle System uewen um Kernel gebaut mat enger grousser Villfalt vun Uwendungsinstrumenter a Bibliothéiken.

Wärend normalen Operatiounen ass de Kernel verantwortlech fir zwee wichteg Aufgaben auszeféieren:

  1. Als Interface tëscht der Hardware an der Software déi um System leeft.
  2. Systemressourcen esou effizient wéi méiglech verwalten.

Fir dëst ze maachen, kommunizéiert de Kernel mat der Hardware duerch d'Chauffeuren, déi dra gebaut sinn oder déi, déi spéider als Modul installéiert kënne ginn.

Zum Beispill, wann eng Applikatioun, déi op Ärer Maschinn leeft, wëll mat engem drahtlose Netzwierk verbannen, stellt se dës Ufro un de Kernel of, deen ofwiesselnd de richtege Chauffer benotzt fir mam Netz ze verbannen.

Mat neien Apparater an Technologien déi periodesch erauskommen, ass et wichteg eise Kernel um neiste Stand ze halen wa mir dat Bescht wëllen aus hinnen maachen. Zousätzlech, d'Aktualiséierung vun eisem Kernel hëlleft eis nei Kernelfunktiounen ze profitéieren an eis selwer vu Schwachstelle ze schützen, déi a fréiere Versioune entdeckt goufen.

Bereet fir Äre Kernel op CentOS 7 oder ee vun hiren Derivate wéi RHEL 7 a Fedora ze aktualiséieren? Wann jo, weider liesen!

Schrëtt 1: Iwwerpréift installéiert Kernel Versioun

Wa mir eng Verdeelung installéieren, enthält se eng gewësse Versioun vum Linux Kernel. Fir déi aktuell Versioun op eisem System installéiert ze weisen, kënne mir maachen:

# uname -sr

Déi folgend Bild weist d'Ausgab vum uewe genannte Kommando an engem CentOS 7 Server:

Wa mir elo op https://www.kernel.org/ goen, wäerte mir gesinn datt déi lescht Kernel Versioun 5.0 ass am Moment vun dësem Schreiwen (aner Versioune sinn aus dem selwechte Site verfügbar).

Dës nei Kernel 5.0 Versioun ass eng laangfristeg Verëffentlechung a gëtt fir 6 Joer ënnerstëtzt, fréier goufen all Linux Kernel Versioune fir nëmmen 2 Joer ënnerstëtzt.

Eng wichteg Saach fir ze berücksichtegen ass de Liewenszyklus vun enger Kernelversioun - wann d'Versioun déi Dir am Moment benotzt säin Enn vum Liewen ukomm ass, gi keng Bugfixer méi no deem Datum geliwwert. Fir méi Informatioun, kuckt op d'Kernel Releases Säit.

Schrëtt 2: Upgrade Kernel am CentOS 7

Déi meescht modern Verdeelunge bidden e Wee fir de Kernel ze upgrade mat engem Package Management System wéi Yum an en offiziell ënnerstëtzte Repository.

Wichteg: Wann Dir sicht personaliséiert kompiléiert Kernel auszeféieren, da sollt Dir eisen Artikel liesen deen erkläert Wéi een Linux Kernel op CentOS 7 aus Quellen kompiléiert.

Wéi och ëmmer, dëst wäert nëmmen den Upgrade op déi lescht Versioun ausführen, déi aus de Repositories vun der Verdeelung verfügbar ass - net déi lescht verfügbar am https://www.kernel.org/. Leider erlaabt Red Hat nëmmen de Kernel ze upgraden mat der fréierer Optioun.

Am Géigesaz zum Red Hat erlaabt CentOS d'Benotzung vun ELRepo, en Drëtt Partei Repository, deen den Upgrade op eng rezent Versioun e Kernel mécht.

Fir den ELRepo Repository op CentOS 7 z'aktivéieren, maacht:

# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm 

Wann de Repository aktivéiert ass, kënnt Dir de folgende Kommando benotze fir déi verfügbare kernel.related Packagen ze lëschten:

# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * elrepo-kernel: mirror-hk.koddos.net
Available Packages
kernel-lt.x86_64                        4.4.176-1.el7.elrepo        elrepo-kernel
kernel-lt-devel.x86_64                  4.4.176-1.el7.elrepo        elrepo-kernel
kernel-lt-doc.noarch                    4.4.176-1.el7.elrepo        elrepo-kernel
kernel-lt-headers.x86_64                4.4.176-1.el7.elrepo        elrepo-kernel
kernel-lt-tools.x86_64                  4.4.176-1.el7.elrepo        elrepo-kernel
kernel-lt-tools-libs.x86_64             4.4.176-1.el7.elrepo        elrepo-kernel
kernel-lt-tools-libs-devel.x86_64       4.4.176-1.el7.elrepo        elrepo-kernel
kernel-ml.x86_64                        5.0.0-1.el7.elrepo          elrepo-kernel
kernel-ml-devel.x86_64                  5.0.0-1.el7.elrepo          elrepo-kernel
kernel-ml-doc.noarch                    5.0.0-1.el7.elrepo          elrepo-kernel
kernel-ml-headers.x86_64                5.0.0-1.el7.elrepo          elrepo-kernel
kernel-ml-tools.x86_64                  5.0.0-1.el7.elrepo          elrepo-kernel
kernel-ml-tools-libs.x86_64             5.0.0-1.el7.elrepo          elrepo-kernel
kernel-ml-tools-libs-devel.x86_64       5.0.0-1.el7.elrepo          elrepo-kernel
perf.x86_64                             5.0.0-1.el7.elrepo          elrepo-kernel
python-perf.x86_64                      5.0.0-1.el7.elrepo          elrepo-kernel

Als nächst, installéiert de leschten Mainline stabile Kernel:

# yum --enablerepo=elrepo-kernel install kernel-ml
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: centos.mirror.net.in
 * elrepo: mirror-hk.koddos.net
 * elrepo-kernel: mirror-hk.koddos.net
 * epel: repos.del.extreme-ix.org
 * extras: centos.mirror.net.in
 * updates: centos.mirror.net.in
Resolving Dependencies
--> Running transaction check
---> Package kernel-ml.x86_64 0:5.0.0-1.el7.elrepo will be installed
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================
 Package                Arch        Version                 Repository        Size
====================================================================================
Installing:
 kernel-ml              x86_64      5.0.0-1.el7.elrepo      elrepo-kernel     47 M

Transaction Summary
====================================================================================
Install  1 Package

Total download size: 47 M
Installed size: 215 M
Is this ok [y/d/N]: y
Downloading packages:
kernel-ml-5.0.0-1.el7.elrepo.x86_64.rpm                           |  47 MB  00:01:21     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : kernel-ml-5.0.0-1.el7.elrepo.x86_64                1/1 
  Verifying  : kernel-ml-5.0.0-1.el7.elrepo.x86_64                1/1 

Installed:
  kernel-ml.x86_64 0:5.0.0-1.el7.elrepo                                                                                                                                                                            

Complete!

Endlech, neustart Är Maschinn fir den neiste Kärel anzesetzen, a wielt dann déi lescht Kernel aus dem Menü wéi gewisen.

Login als Root, a lafen de folgende Kommando fir d'Kernel Versioun ze kontrolléieren:

# uname -sr

Schrëtt 3: Set Default Kernel Versioun an GRUB

Fir déi nei installéiert Versioun d'Standardbootoptioun ze maachen, musst Dir d'GRUB Konfiguratioun wéi follegt änneren:

Öffnen an änneren d'Datei /etc/default/grub a setze GRUB_DEFAULT=0. Dëst bedeit datt den éischte Kernel am GRUB initialen Écran als Standard benotzt gëtt.

GRUB_TIMEOUT=5
GRUB_DEFAULT=0
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap crashkernel=auto rhgb quiet"
GRUB_DISABLE_RECOVERY="true"

Als nächst fuert de folgende Kommando aus fir d'Kernelkonfiguratioun nei ze kreéieren.

# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.0.0-1.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-5.0.0-1.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-4.20.0-1.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-4.20.0-1.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-4.19.11-1.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-4.19.11-1.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-4.19.0-1.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-4.19.0-1.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-957.1.3.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-957.1.3.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-693.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-693.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-1e2b46dbc0c04b05b592c837c366bb76
Found initrd image: /boot/initramfs-0-rescue-1e2b46dbc0c04b05b592c837c366bb76.img
done

Restart an z'iwwerpréiwen datt de leschte Kernel elo als Standard benotzt gëtt.

Gratulatioun! Dir hutt Äre Kernel am CentOS 7 aktualiséiert!

An dësem Artikel hu mir erkläert wéi Dir de Linux Kernel op Ärem System einfach upgradéiert. Et gëtt nach eng aner Method, déi mir net ofgedeckt hunn, well et implizéiert de Kärel aus der Quell ze kompiléieren, wat e ganzt Buch verdéngt an net op Produktiounssystemer recommandéiert ass.

Och wann et ee vun de beschten Léiererfahrungen duerstellt an eng feinkorrekt Konfiguratioun vum Kernel erlaabt, kënnt Dir Äre System onbrauchbar maachen a vläicht muss se vun Null nei installéieren.

Wann Dir nach ëmmer interesséiert sidd fir de Kernel als Léiererfahrung ze bauen, fannt Dir Instruktioune wéi Dir et op der Kernel Newbies Säit mécht.

Wéi ëmmer, fillt Iech gratis de Formulaire hei ënnen ze benotzen wann Dir Froen oder Kommentaren iwwer dësen Artikel hutt.