Kuidas CentOS 7-s installida või uuendada versioonile Kernel 5.0


Kuigi mõned inimesed kasutavad sõna Linux operatsioonisüsteemi kui terviku tähistamiseks, on oluline märkida, et rangelt võttes on Linux ainult kernel. Teiselt poolt on distributsioon tuumale üles ehitatud täisfunktsionaalne süsteem, millel on palju erinevaid rakendustööriistu ja teeke.

Tavapäraste toimingute ajal vastutab tuum kahe olulise ülesande täitmise eest:

  1. toimib liidesena riistvara ja süsteemis töötava tarkvara vahel.
  2. Süsteemiressursside võimalikult tõhus haldamine.

Selleks suhtleb kern riistvaraga sinna sisseehitatud draiverite kaudu või nende kaudu, mida saab hiljem moodulina installida.

Näiteks kui teie arvutis töötav rakendus soovib luua ühenduse traadita võrguga, esitab ta selle taotluse kernelile, kes omakorda kasutab võrguga ühenduse loomiseks õiget draiverit.

Uute seadmete ja tehnoloogia perioodilise ilmumisega on oluline hoida meie tuum ajakohasena, kui tahame neist maksimumi võtta. Lisaks aitab meie tuuma ajakohastamine meil kasutada uusi tuuma funktsioone ja kaitsta end eelmistes versioonides avastatud haavatavuste eest.

Kas olete valmis värskendama oma tuuma CentOS 7-s või mõnes nende tuletises, näiteks RHEL 7 ja Fedora? Kui jah, siis jätkake lugemist!

1. samm: installitud kerneli versiooni kontrollimine

Kui installime levitamise, sisaldab see Linuxi kerneli teatud versiooni. Meie süsteemi installitud praeguse versiooni kuvamiseks saame teha järgmist.

# uname -sr

Järgmisel pildil on ülaltoodud käsu väljund CentOS 7 serveris:

Kui läheme nüüd aadressile https://www.kernel.org/, näeme, et uusim kerneli versioon on selle kirjutamise ajal 5.0 (teised versioonid on saadaval samalt saidilt).

See uus Kernel 5.0 versioon on pikaajaline versioon ja seda toetatakse 6 aastat, varem toetati kõiki Linuxi kerneli versioone ainult 2 aastat.

Üks oluline asi, mida tuleks arvestada, on kerneli versiooni olelustsükkel - kui teie praegu kasutatav versioon on jõudmas oma lõppu, ei pakuta pärast seda kuupäeva enam veaparandusi. Lisateavet leiate kerneli versioonide lehelt.

2. samm: tuuma täiendamine CentOS 7-s

Enamik tänapäevaseid distributsioone pakuvad viisi kerneli täiendamiseks paketihaldussüsteemi, näiteks yum ja ametlikult toetatud hoidla abil.

Tähtis: kui soovite käivitada kohandatud kompileeritud kerneli, peaksite lugema meie artiklit, mis selgitab allikatest, kuidas kompileerida Linuxi kernelit CentOS 7-s.

Kuid see uuendab ainult kõige uuemat versiooni, mis on saadaval jaotuse hoidlatest, mitte uusimat, mis on saadaval aadressil https://www.kernel.org/. Kahjuks lubab Red Hat kernelit uuendada ainult eelmise valiku abil.

Erinevalt Red Hatist lubab CentOS kasutada kolmanda osapoole hoidlat ELRepo, mis muudab värskema versiooni täiendamise kerneliks.

ELRepo hoidla lubamiseks CentOS 7-s tehke järgmist.

# 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 

Kui hoidla on lubatud, saate saadaolevate kernel.related pakettide loetlemiseks kasutada järgmist käsku:

# 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

Seejärel installige uusim põhiliini stabiilne 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!

Lõpuks reboot masin, et rakendada uusim kernel, ja seejärel valige menüüst uusim kernel, nagu näidatud.

Logige sisse juurena ja käivitage kerneli versiooni kontrollimiseks järgmine käsk:

# uname -sr

3. samm: määrake GRUBis kerneli vaikeversioon

Värskelt installitud versiooni vaikimisi käivitamisvalikuks muutmiseks peate GRUB-i konfiguratsiooni muutma järgmiselt:

Avage ja muutke fail/etc/default/grub ja määrake GRUB_DEFAULT = 0 . See tähendab, et vaikimisi kasutatakse GRUBi algse kuva esimest kernelit.

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"

Järgmisena käivitage kerneli konfiguratsiooni taastamiseks järgmine käsk.

# 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

Taaskäivitage ja kontrollige, kas vaikimisi kasutatakse nüüd viimast kernelit.

Palju õnne! Olete oma tuuma täiendanud CentOS 7-s!

Selles artiklis oleme selgitanud, kuidas oma süsteemis Linuxi kernelit hõlpsasti uuendada. On veel üks meetod, mida me pole käsitlenud, kuna see hõlmab tuuma koostamist allikast, mis väärib tervet raamatut ja mida ei soovitata tootmissüsteemides.

Ehkki see esindab üht parimat õppimiskogemust ja võimaldab tuuma täpset konfiguratsiooni, võite oma süsteemi muuta kasutuskõlbmatuks ja peate selle uuesti nullist uuesti installima.

Kui olete endiselt huvitatud kerneli kui õppekogemuse loomisest, leiate juhised selle kohta Kerneli algajate lehelt.

Nagu alati, võite julgelt kasutada allolevat vormi, kui teil on selle artikli kohta küsimusi või kommentaare.