Weboldal keresés

A Kernel 5.0 telepítése vagy frissítése a CentOS 7 rendszerben


Bár egyesek a Linux szót használják az operációs rendszer egészének ábrázolására, fontos megjegyezni, hogy szigorúan véve a Linux csak a kernel. Másrészt a disztribúció egy teljesen működőképes rendszer, amely a kernelre épül, számos alkalmazási eszközzel és könyvtárral.

A normál működés során a kernel két fontos feladat végrehajtásáért felelős:

  1. Interfészként működik a hardver és a rendszeren futó szoftver között.
  2. A rendszererőforrások lehető leghatékonyabb kezelése.

Ennek érdekében a kernel a beépített vagy később modulként telepíthető illesztőprogramokon keresztül kommunikál a hardverrel.

Például, amikor egy, a gépen futó alkalmazás csatlakozni akar egy vezeték nélküli hálózathoz, elküldi ezt a kérést a kernelnek, amely viszont a megfelelő illesztőprogramot használja a hálózathoz való csatlakozáshoz.

Javasolt olvasmány: Kernel frissítése Ubuntuban

Az időnként megjelenő új eszközök és technológiák miatt fontos, hogy kernelünket naprakészen tartsuk, ha a legtöbbet akarjuk kihozni belőlük. Ezenkívül a kernel frissítése segít új kernelfunkciók kihasználásában és megvédeni magunkat a korábbi verziókban felfedezett sebezhetőségektől.

Készen áll a kernel frissítésére a CentOS 7 rendszeren vagy azok valamelyik származékán, például azRHEL 7en és a Fedoran? Ha igen, olvass tovább!

1. lépés: A telepített kernelverzió ellenőrzése

Amikor telepítünk egy disztribúciót, az tartalmazza a Linux kernel egy bizonyos verzióját. A rendszerünkre telepített aktuális verzió megjelenítéséhez a következőket tehetjük:

uname -sr

A következő képen a fenti parancs kimenete látható egy CentOS 7 szerveren:

Ha most felmegyünk a https://www.kernel.org/ oldalra, látni fogjuk, hogy a kernel legfrissebb verziója az írás idején 5.0 (más verziók is elérhetők ugyanerről az oldalról).

Ez az új Kernel 5.0 verzió egy hosszú távú kiadás, és 6 évig lesz támogatott, korábban az összes Linux Kernel verziót csak 2 évig támogatták.

Egy fontos dolog, amit figyelembe kell venni, a kernelverzió életciklusa – ha a jelenleg használt verzió az élettartama végéhez közeledik, akkor ezen időpont után már nem lesz elérhető hibajavítás. További információért lásd a kernel kiadások oldalát.

2. lépés: Kernel frissítése a CentOS 7 rendszerben

A legtöbb modern disztribúció lehetőséget biztosít a kernel frissítésére egy csomagkezelő rendszer, például a yum és egy hivatalosan támogatott tároló használatával.

Fontos: Ha egyénileg lefordított kernelt szeretne futtatni, akkor olvassa el cikkünket, amely elmagyarázza, hogyan fordítsa le a Linux kernelt CentOS 7 rendszeren forrásokból.

Ez azonban csak a disztribúció lerakataiból elérhető legfrissebb verzióra hajtja végre a frissítést – a https://www.kernel.org/ webhelyen elérhető legújabb verzióra nem. Sajnos a Red Hat csak az előbbi opció használatával teszi lehetővé a kernel frissítését.

A Red Hat helyett a CentOS lehetővé teszi az ELRepo használatát, amely egy harmadik féltől származó adattár, amely a legújabb verzióra való frissítést kernellé teszi.

Az ELRepo tárház CentOS 7 rendszeren való engedélyezéséhez tegye a következőket:

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 

Ha a tárat engedélyezte, a következő paranccsal listázhatja az elérhető kernel.related csomagokat:


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

Ezután telepítse a legújabb fővonali stabil kernelt:


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!

Végül indítsa újra a gépet a legújabb kernel alkalmazásához, majd válassza ki a legújabb kernelt a menüből az ábrán látható módon.

Jelentkezzen be root felhasználóként, és futtassa a következő parancsot a kernel verziójának ellenőrzéséhez:

uname -sr

3. lépés: Állítsa be az alapértelmezett kernelverziót a GRUB-ban

Ahhoz, hogy az újonnan telepített verzió legyen az alapértelmezett rendszerindítási lehetőség, módosítania kell a GRUB konfigurációt az alábbiak szerint:

Nyissa meg és szerkessze a /etc/default/grub fájlt, és állítsa be a GRUB_DEFAULT=0 beállítást. Ez azt jelenti, hogy a GRUB kezdőképernyőjének első kernelje lesz alapértelmezett.

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"

Ezután futtassa a következő parancsot a kernelkonfiguráció újbóli létrehozásához.


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

Indítsa újra, és ellenőrizze, hogy alapértelmezés szerint a legújabb kernelt használja-e.

Gratulálunk! Frissítette kernelt a CentOS 7 rendszerben!

Összegzés

Ebben a cikkben elmagyaráztuk, hogyan frissítheti egyszerűen a Linux kernelt a rendszeren. Van még egy módszer, amelyre nem tértünk ki, mivel ez magában foglalja a kernel forrásból történő fordítását, ami egy egész könyvet megérdemelne, és nem ajánlott éles rendszereken.

Bár ez az egyik legjobb tanulási tapasztalat, és lehetővé teszi a kernel finom konfigurálását, előfordulhat, hogy a rendszer használhatatlanná válik, és előfordulhat, hogy a semmiből kell újratelepítenie.

Ha továbbra is érdekli a kernel tanulási élményként való felépítése, a Kernel kezdők oldalán talál útmutatást ennek végrehajtására.

Mint mindig, nyugodtan használja az alábbi űrlapot, ha bármilyen kérdése vagy megjegyzése van ezzel a cikkel kapcsolatban.